Files
EasyCLIProxyAPI/src/styles.css
T
lzt404 2a99db2908 feat(api-access): unify DeepSeek model discovery and selection
- require explicit model discovery before saving DeepSeek connections
- preserve selected models when refreshing the catalog
- mark model lists stale when connection details change
- add model refresh support to easy mode
- apply built-in DeepSeek reasoning levels consistently
2026-09-15 02:39:03 +08:00

13883 lines
271 KiB
CSS

:root {
color-scheme: light;
--theme-2d2a26: #2d2a26;
--theme-2f6b3a: #2f6b3a;
--theme-2f6b3f: #2f6b3f;
--theme-342f2a: #342f2a;
--theme-344ca1: #344ca1;
--theme-39352f: #39352f;
--theme-3f3550: #3f3550;
--theme-3f6f98: #3f6f98;
--theme-42637f: #42637f;
--theme-433f39: #433f39;
--theme-4d78a8: #4d78a8;
--theme-4f4a43: #4f4a43;
--theme-4f825c: #4f825c;
--theme-554075: #554075;
--theme-5d9a6c: #5d9a6c;
--theme-5f5a53: #5f5a53;
--theme-654f91: #654f91;
--theme-655f57: #655f57;
--theme-66709a: #66709a;
--theme-6684a1: #6684a1;
--theme-6d6760: #6d6760;
--theme-6f6961: #6f6961;
--theme-716b61: #716b61;
--theme-777067: #777067;
--theme-7a746c: #7a746c;
--theme-805a24: #805a24;
--theme-8069ad: #8069ad;
--theme-817b73: #817b73;
--theme-866b4d: #866b4d;
--theme-8a625d: #8a625d;
--theme-8a847c: #8a847c;
--theme-8b5b21: #8b5b21;
--theme-8d8377: #8d8377;
--theme-8f3025: #8f3025;
--theme-918a81: #918a81;
--theme-9a938a: #9a938a;
--theme-9a958d: #9a958d;
--theme-9b958c: #9b958c;
--theme-9ca9df: #9ca9df;
--theme-9d8abd: #9d8abd;
--theme-9db8a5: #9db8a5;
--theme-9f2d20: #9f2d20;
--theme-a33b2b: #a33b2b;
--theme-a83f32: #a83f32;
--theme-aaa49b: #aaa49b;
--theme-b64132: #b64132;
--theme-b6d3bd: #b6d3bd;
--theme-b8d1bb: #b8d1bb;
--theme-b9d5bf: #b9d5bf;
--theme-bdb5a9: #bdb5a9;
--theme-bf8a43: #bf8a43;
--theme-c77b30: #c77b30;
--theme-c7c2b8: #c7c2b8;
--theme-c9c4ba: #c9c4ba;
--theme-c9d6e2: #c9d6e2;
--theme-c9d8ca: #c9d8ca;
--theme-c9dfcf: #c9dfcf;
--theme-d5d2cb: #d5d2cb;
--theme-d8d1eb: #d8d1eb;
--theme-d8d2c8: #d8d2c8;
--theme-d8d4cc: #d8d4cc;
--theme-d9d4c9: #d9d4c9;
--theme-dce2fb: #dce2fb;
--theme-dce8df: #dce8df;
--theme-ddd8ce: #ddd8ce;
--theme-dfb7b0: #dfb7b0;
--theme-dfbf91: #dfbf91;
--theme-dfdcd4: #dfdcd4;
--theme-e2b6ae: #e2b6ae;
--theme-e2ddd3: #e2ddd3;
--theme-e3e1db: #e3e1db;
--theme-e4d0af: #e4d0af;
--theme-e5e1d9: #e5e1d9;
--theme-e8e4dc: #e8e4dc;
--theme-e8e5dc: #e8e5dc;
--theme-ece8df: #ece8df;
--theme-eeeae2: #eeeae2;
--theme-eeece6: #eeece6;
--theme-eef1ff: #eef1ff;
--theme-eef7f0: #eef7f0;
--theme-efc9c2: #efc9c2;
--theme-f0ede6: #f0ede6;
--theme-f0eee8: #f0eee8;
--theme-f1ecfb: #f1ecfb;
--theme-f1f6fa: #f1f6fa;
--theme-f1f8f1: #f1f8f1;
--theme-f2efe8: #f2efe8;
--theme-f2f0ea: #f2f0ea;
--theme-f2f7f2: #f2f7f2;
--theme-f3f8f4: #f3f8f4;
--theme-f4f1ea: #f4f1ea;
--theme-f4f2ec: #f4f2ec;
--theme-f5f1ff: #f5f1ff;
--theme-f5f7ff: #f5f7ff;
--theme-f6f2ec: #f6f2ec;
--theme-f7f3ff: #f7f3ff;
--theme-f8f5ee: #f8f5ee;
--theme-f8f5ef: #f8f5ef;
--theme-f8f5ff: #f8f5ff;
--theme-f8f6f1: #f8f6f1;
--theme-faf8f2: #faf8f2;
--theme-faf8f4: #faf8f4;
--theme-faf9f5: #faf9f5;
--theme-fdf1ee: #fdf1ee;
--theme-fff: #fff;
--theme-fff1ee: #fff1ee;
--theme-fff7e9: #fff7e9;
--theme-fff8eb: #fff8eb;
--theme-fffdf8: #fffdf8;
--theme-ffffff: #ffffff;
}
:root[data-theme='dark'] {
color-scheme: dark;
--theme-2d2a26: #ece9e2;
--theme-2f6b3a: #83d295;
--theme-2f6b3f: #83d29a;
--theme-342f2a: #d3cec6;
--theme-344ca1: #9fb4ff;
--theme-39352f: #d3cfc7;
--theme-3f3550: #cdc8d6;
--theme-3f6f98: #c6d5e1;
--theme-42637f: #c8d3dd;
--theme-433f39: #d4d0c9;
--theme-4d78a8: #a5b7ca;
--theme-4f4a43: #d5d1ca;
--theme-4f825c: #cbdbd0;
--theme-554075: #d0c8dc;
--theme-5d9a6c: #abc4b1;
--theme-5f5a53: #c8cdd5;
--theme-654f91: #b8a4e2;
--theme-655f57: #d8d4cd;
--theme-66709a: #adb1c2;
--theme-6684a1: #acb8c4;
--theme-6d6760: #d8d5ce;
--theme-6f6961: #d9d5ce;
--theme-716b61: #d9d5ce;
--theme-777067: #d9d6cf;
--theme-7a746c: #aab2bd;
--theme-805a24: #e3b778;
--theme-8069ad: #b8a4e2;
--theme-817b73: #dbd7d1;
--theme-866b4d: #dcd4cb;
--theme-8a625d: #dad6d0;
--theme-8a847c: #929ba7;
--theme-8b5b21: #e3b778;
--theme-8d8377: #bcb8b3;
--theme-8f3025: #e6c2be;
--theme-918a81: #bbb8b4;
--theme-9a938a: #bbb8b4;
--theme-9a958d: #747e8a;
--theme-9b958c: #747e8a;
--theme-9ca9df: #9ea8d1;
--theme-9d8abd: #b4aac6;
--theme-9db8a5: #b0c0b4;
--theme-9f2d20: #ff9385;
--theme-a33b2b: #f58d7f;
--theme-a83f32: #f19387;
--theme-aaa49b: #69737f;
--theme-b64132: #f39a8e;
--theme-b6d3bd: #315b3d;
--theme-b8d1bb: #315b3d;
--theme-b9d5bf: #315b3d;
--theme-bdb5a9: #beb9b1;
--theme-bf8a43: #d0bb9f;
--theme-c77b30: #d6b799;
--theme-c7c2b8: #4a5564;
--theme-c9c4ba: #bebab2;
--theme-c9d6e2: #303c47;
--theme-c9d8ca: #315b3d;
--theme-c9dfcf: #315b3d;
--theme-d5d2cb: #3b4451;
--theme-d8d1eb: #493d61;
--theme-d8d2c8: #363a46;
--theme-d8d4cc: #3b4451;
--theme-d9d4c9: #363a45;
--theme-dce2fb: #293a61;
--theme-dce8df: #203c29;
--theme-ddd8ce: #343843;
--theme-dfb7b0: #633832;
--theme-dfbf91: #654a26;
--theme-dfdcd4: #2a313b;
--theme-e2b6ae: #633832;
--theme-e2ddd3: #443d2f;
--theme-e3e1db: #303743;
--theme-e4d0af: #594328;
--theme-e5e1d9: #30343e;
--theme-e8e4dc: #40392c;
--theme-e8e5dc: #2a313b;
--theme-ece8df: #3e382b;
--theme-eeeae2: #2a3039;
--theme-eeece6: #252b34;
--theme-eef1ff: #1b2436;
--theme-eef7f0: #172a1e;
--theme-efc9c2: #633832;
--theme-f0ede6: #3b3529;
--theme-f0eee8: #151a21;
--theme-f1ecfb: #231e31;
--theme-f1f6fa: #192630;
--theme-f1f8f1: #172a1e;
--theme-f2efe8: #3a3428;
--theme-f2f0ea: #393528;
--theme-f2f7f2: #172a1e;
--theme-f3f8f4: #172a1e;
--theme-f4f1ea: #20262f;
--theme-f4f2ec: #1f2229;
--theme-f5f1ff: #231e31;
--theme-f5f7ff: #1b2436;
--theme-f6f2ec: #1f2229;
--theme-f7f3ff: #231e31;
--theme-f8f5ee: #1f2229;
--theme-f8f5ef: #1f2229;
--theme-f8f5ff: #231e31;
--theme-f8f6f1: #1f2229;
--theme-faf8f2: #1f2229;
--theme-faf8f4: #1f2229;
--theme-faf9f5: #101419;
--theme-fdf1ee: #321c1a;
--theme-fff: #1c2129;
--theme-fff1ee: #321c1a;
--theme-fff7e9: #302417;
--theme-fff8eb: #302417;
--theme-fffdf8: #191e25;
--theme-ffffff: #1c2129;
}
/*
* Readability-first palette.
*
* The original tokens are retained because they are used throughout the app,
* while these overrides move the interface to a calm graphite-and-teal
* system. New semantic tokens are used by the shell and
* primary interactions below.
*/
:root {
--ui-accent: #0f766e;
--ui-accent-strong: #0b5d57;
--ui-accent-soft: #d9f0ec;
--ui-focus-ring: rgba(15, 118, 110, 0.28);
--ui-accent-shadow: rgba(15, 118, 110, 0.18);
--ui-panel-shadow: 0 8px 24px rgba(32, 42, 36, 0.07);
--theme-2d2a26: #202521;
--theme-342f2a: #282e29;
--theme-39352f: #313832;
--theme-433f39: #39413b;
--theme-4f4a43: #465049;
--theme-5f5a53: #556159;
--theme-655f57: #5e6a61;
--theme-6d6760: #667169;
--theme-6f6961: #69756c;
--theme-716b61: #6c776f;
--theme-777067: #717c74;
--theme-7a746c: #657168;
--theme-817b73: #758078;
--theme-8a847c: #7d877f;
--theme-8d8377: #808a82;
--theme-918a81: #879189;
--theme-9a938a: #8e9890;
--theme-9a958d: #909a92;
--theme-9b958c: #929c94;
--theme-aaa49b: #a1aaa3;
--theme-bdb5a9: #b2bab4;
--theme-c7c2b8: #c0c8c1;
--theme-c9c4ba: #c4ccc5;
--theme-d5d2cb: #cfd7d0;
--theme-d8d2c8: #d6ddd7;
--theme-d8d4cc: #d3dbd4;
--theme-d9d4c9: #d8ded9;
--theme-ddd8ce: #dde3de;
--theme-dfdcd4: #e2e9e3;
--theme-e2ddd3: #dce4dd;
--theme-e3e1db: #e2e8e3;
--theme-e5e1d9: #e5eae6;
--theme-e8e4dc: #e8ede9;
--theme-e8e5dc: #e6ece7;
--theme-ece8df: #edf1ee;
--theme-eeeae2: #edf1ee;
--theme-eeece6: #eff3f0;
--theme-f0ede6: #f0f3f1;
--theme-f0eee8: #eef2ef;
--theme-f2efe8: #f2f5f3;
--theme-f2f0ea: #f3f5f3;
--theme-f4f1ea: #f6f8f6;
--theme-f4f2ec: #f5f7f5;
--theme-f6f2ec: #f7f9f7;
--theme-f8f5ee: #f9faf9;
--theme-f8f5ef: #f9faf9;
--theme-f8f6f1: #f9faf9;
--theme-faf8f2: #fbfcfb;
--theme-faf8f4: #fbfcfb;
--theme-faf9f5: #f6f7f5;
--theme-fff: #ffffff;
--theme-fffdf8: #ffffff;
--theme-ffffff: #ffffff;
}
:root[data-theme='dark'] {
--ui-accent: #5dd3c7;
--ui-accent-strong: #83e0d6;
--ui-accent-soft: rgba(45, 169, 158, 0.2);
--ui-focus-ring: rgba(93, 211, 199, 0.36);
--ui-accent-shadow: rgba(0, 0, 0, 0.22);
--ui-panel-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
--theme-2d2a26: #edf2ee;
--theme-342f2a: #e4eae5;
--theme-39352f: #dce3dd;
--theme-433f39: #d5ddd6;
--theme-4f4a43: #ccd5ce;
--theme-5f5a53: #c0cac2;
--theme-655f57: #b8c2ba;
--theme-6d6760: #b0bbb2;
--theme-6f6961: #adb8af;
--theme-716b61: #aab5ac;
--theme-777067: #a7b2a9;
--theme-7a746c: #9eaaa1;
--theme-817b73: #96a299;
--theme-8a847c: #8d998f;
--theme-8d8377: #8a968d;
--theme-918a81: #849087;
--theme-9a938a: #7e8a81;
--theme-9a958d: #768279;
--theme-9b958c: #78847b;
--theme-aaa49b: #6f7b72;
--theme-bdb5a9: #59655c;
--theme-c7c2b8: #4b584e;
--theme-c9c4ba: #465349;
--theme-d5d2cb: #3a473d;
--theme-d8d2c8: #354137;
--theme-d8d4cc: #3b483e;
--theme-d9d4c9: #344036;
--theme-ddd8ce: #303b32;
--theme-dfdcd4: #29352b;
--theme-e2ddd3: #354238;
--theme-e3e1db: #2f3b32;
--theme-e5e1d9: #2d3830;
--theme-e8e4dc: #28332b;
--theme-e8e5dc: #263129;
--theme-ece8df: #232d26;
--theme-eeeae2: #29342c;
--theme-eeece6: #242e27;
--theme-f0ede6: #222c25;
--theme-f0eee8: #171c18;
--theme-f2efe8: #202922;
--theme-f2f0ea: #212a23;
--theme-f4f1ea: #1e2721;
--theme-f4f2ec: #1d251f;
--theme-f6f2ec: #19211b;
--theme-f8f5ee: #1c231e;
--theme-f8f5ef: #1c231e;
--theme-f8f6f1: #1c231e;
--theme-faf8f2: #1a211c;
--theme-faf8f4: #1a211c;
--theme-faf9f5: #111412;
--theme-fff: #1b211c;
--theme-fffdf8: #1a201b;
--theme-ffffff: #1b211c;
}
:root {
/* Shared typography scale for captions, controls, headings, and metrics. */
--font-size-caption: 12px;
--font-size-meta: 13px;
--font-size-label: 14px;
--font-size-body: 15px;
--font-size-section: 16px;
--font-size-panel-title: 18px;
--font-size-dialog-title: 20px;
--font-size-metric-compact: 26px;
--font-size-display: 28px;
--line-height-tight: 1.25;
--line-height-body: 1.5;
--line-height-relaxed: 1.6;
font-family:
'Segoe UI Variable Text', 'Segoe UI', 'Microsoft YaHei UI', 'Microsoft YaHei',
-apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', Arial, sans-serif;
font-size: var(--font-size-body);
line-height: var(--line-height-body);
color: var(--theme-2d2a26);
background: var(--theme-faf9f5);
font-synthesis: none;
letter-spacing: 0;
text-rendering: optimizeLegibility;
}
* {
box-sizing: border-box;
}
html,
body,
#root {
width: 100%;
min-width: 0;
height: 100%;
margin: 0;
background: var(--theme-faf9f5);
}
.app-error-boundary {
display: grid;
min-height: 100vh;
place-items: center;
padding: 24px;
background: var(--theme-faf9f5);
}
.app-error-boundary .empty-state {
width: min(560px, 100%);
}
body {
margin: 0;
}
button,
input,
select,
textarea {
font: inherit;
}
button {
cursor: pointer;
}
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
outline: 3px solid var(--ui-focus-ring);
outline-offset: 2px;
}
.app-shell {
display: grid;
grid-template-columns: 264px minmax(0, 1fr);
min-height: 100vh;
background: var(--theme-faf9f5);
}
.sidebar {
position: sticky;
top: 0;
display: flex;
flex-direction: column;
height: 100vh;
padding: 20px 16px;
border-right: 1px solid var(--theme-e3e1db);
background: var(--theme-f0eee8);
color: var(--theme-2d2a26);
}
.sidebar-brand {
display: grid;
grid-template-columns: 42px minmax(0, 1fr);
align-items: center;
gap: 12px;
min-height: 54px;
margin-bottom: 22px;
}
.brand-mark {
display: grid;
width: 42px;
height: 42px;
place-items: center;
border: 1px solid var(--theme-d5d2cb);
border-radius: 12px;
background: var(--theme-2d2a26);
color: var(--theme-fffdf8);
font-size: var(--font-size-section);
font-weight: 800;
box-shadow: 0 6px 16px var(--ui-accent-shadow);
}
.brand-logo {
display: block;
object-fit: cover;
}
.sidebar-brand strong,
.sidebar-brand span {
display: block;
min-width: 0;
}
.sidebar-brand strong {
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-section);
text-overflow: ellipsis;
white-space: nowrap;
}
.sidebar-brand div > span {
margin-top: 4px;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
}
.nav-section {
display: grid;
gap: 6px;
}
.nav-section button {
display: grid;
grid-template-columns: 19px minmax(0, 1fr) 10px;
align-items: center;
gap: 10px;
width: 100%;
min-height: 46px;
padding: 0 13px;
border: 1px solid transparent;
border-radius: 10px;
background: transparent;
color: var(--theme-2d2a26);
font-weight: 600;
text-align: left;
transition: border-color 140ms ease, background 140ms ease, color 140ms ease,
transform 140ms ease;
}
.nav-section button svg {
color: var(--theme-7a746c);
}
.nav-section button span {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.nav-update-indicator {
display: block;
width: 8px;
height: 8px;
border-radius: 999px;
background: var(--theme-c77b30);
box-shadow: 0 0 0 3px rgba(199, 123, 48, 0.14);
}
.nav-update-indicator.processing {
background: var(--theme-4d78a8);
box-shadow: 0 0 0 3px rgba(77, 120, 168, 0.15);
animation: update-indicator-pulse 1.2s ease-in-out infinite;
}
@keyframes update-indicator-pulse {
50% {
opacity: 0.45;
transform: scale(0.78);
}
}
.nav-section button:hover {
background: var(--theme-e8e5dc);
color: var(--theme-2d2a26);
transform: translateX(2px);
}
.nav-section button:disabled,
.nav-section button.locked {
cursor: not-allowed;
color: var(--theme-9a958d);
opacity: 0.58;
}
.nav-section button:disabled:hover,
.nav-section button.locked:hover {
background: transparent;
color: var(--theme-9a958d);
transform: none;
}
.nav-section button:disabled svg,
.nav-section button.locked svg {
color: var(--theme-aaa49b);
}
.nav-section button.active {
border-color: color-mix(in srgb, var(--ui-accent) 30%, transparent);
background: var(--ui-accent-soft);
color: var(--ui-accent-strong);
font-weight: 700;
box-shadow: 0 4px 12px var(--ui-accent-shadow);
}
.nav-section button.active svg {
color: var(--ui-accent);
}
.sidebar-bottom {
display: grid;
gap: 10px;
margin-top: auto;
padding-top: 18px;
border-top: 1px solid var(--theme-e3e1db);
}
.sidebar-easy-entry {
display: block;
width: 100%;
min-height: 40px;
padding: 0 10px;
border: 1px solid var(--theme-d8d4cc);
border-radius: 8px;
background: var(--theme-fffdf8);
color: var(--theme-4f4a43);
text-align: center;
transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}
.sidebar-easy-entry:hover {
border-color: color-mix(in srgb, var(--ui-accent) 36%, var(--theme-d8d4cc));
background: var(--theme-e8e5dc);
color: var(--theme-2d2a26);
}
.sidebar-easy-entry.active {
border-color: color-mix(in srgb, var(--ui-accent) 42%, var(--theme-d8d4cc));
background: var(--ui-accent-soft);
color: var(--ui-accent-strong);
}
.sidebar-easy-entry span {
min-width: 0;
overflow: hidden;
font-size: var(--font-size-label);
font-weight: 700;
text-overflow: ellipsis;
white-space: nowrap;
}
.sidebar-theme-selector {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 3px;
width: 100%;
padding: 3px;
border: 1px solid var(--theme-d8d4cc);
border-radius: 8px;
background: var(--theme-fffdf8);
}
.sidebar-theme-selector button {
min-width: 0;
min-height: 32px;
padding: 0 8px;
border: 0;
border-radius: 5px;
background: transparent;
color: var(--theme-716b61);
font-size: var(--font-size-label);
font-weight: 700;
transition: background 140ms ease, color 140ms ease, box-shadow 140ms ease;
white-space: nowrap;
}
.sidebar-theme-selector button:last-child {
grid-column: 1 / -1;
}
.sidebar-theme-selector button:hover {
background: var(--theme-e8e5dc);
color: var(--theme-2d2a26);
}
.sidebar-theme-selector button.active {
background: var(--theme-dfdcd4);
box-shadow: inset 0 0 0 1px var(--theme-d5d2cb);
color: var(--theme-2d2a26);
}
.sidebar-language {
position: relative;
width: 100%;
}
.sidebar-language-trigger {
display: grid;
grid-template-columns: 18px minmax(0, 1fr) 14px;
align-items: center;
gap: 8px;
width: 100%;
min-height: 40px;
padding: 0 10px;
border: 1px solid var(--theme-d8d4cc);
border-radius: 8px;
background: var(--theme-fffdf8);
color: var(--theme-716b61);
text-align: left;
}
.sidebar-language-trigger:hover,
.sidebar-language-trigger[aria-expanded='true'] {
border-color: var(--theme-c7c2b8);
background: var(--theme-e8e5dc);
color: var(--theme-2d2a26);
}
.sidebar-language-trigger span {
min-width: 0;
overflow: hidden;
font-size: var(--font-size-label);
font-weight: 700;
text-overflow: ellipsis;
white-space: nowrap;
}
.sidebar-language-trigger > svg:last-child {
transition: transform 160ms ease;
}
.sidebar-language-trigger > svg:last-child.expanded {
transform: rotate(180deg);
}
.sidebar-language-list {
position: absolute;
z-index: 120;
right: 0;
bottom: calc(100% + 8px);
left: 0;
display: grid;
gap: 3px;
padding: 5px;
border: 1px solid var(--theme-d8d4cc);
border-radius: 9px;
background: var(--theme-fff);
box-shadow: 0 -10px 28px rgba(45, 42, 38, 0.16);
}
.sidebar-language-list button {
display: grid;
grid-template-columns: minmax(0, 1fr) 16px;
align-items: center;
gap: 8px;
width: 100%;
min-height: 36px;
padding: 0 9px;
border: 0;
border-radius: 6px;
background: transparent;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
font-weight: 650;
text-align: left;
}
.sidebar-language-list button:hover {
background: var(--theme-f0eee8);
color: var(--theme-2d2a26);
}
.sidebar-language-list button.selected {
background: var(--theme-e8e5dc);
color: var(--theme-2d2a26);
}
.sidebar-language-list button svg {
color: var(--theme-2d2a26);
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.sidebar-contact {
display: grid;
grid-template-columns: 18px minmax(0, 1fr) 14px;
align-items: center;
gap: 8px;
width: 100%;
min-height: 38px;
padding: 0 10px;
border: 1px solid var(--theme-d8d4cc);
border-radius: 7px;
background: var(--theme-fffdf8);
color: var(--theme-4f4a43);
text-align: left;
}
.sidebar-contact:hover {
border-color: var(--theme-c7c2b8);
background: var(--theme-e8e5dc);
color: var(--theme-2d2a26);
}
.sidebar-contact svg {
color: var(--theme-7a746c);
}
.sidebar-contact span {
overflow: hidden;
font-size: var(--font-size-label);
font-weight: 700;
text-overflow: ellipsis;
white-space: nowrap;
}
.workspace {
min-width: 0;
}
.state-pill {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 28px;
padding: 0 10px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 999px;
background: var(--theme-fffdf8);
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
font-weight: 700;
white-space: nowrap;
}
.state-pill.success {
border-color: var(--theme-b6d3bd);
background: var(--theme-eef7f0);
color: var(--theme-2f6b3f);
}
.state-pill.error {
border-color: var(--theme-dfb7b0);
background: var(--theme-fff1ee);
color: var(--theme-9f2d20);
}
.state-pill.warning {
border-color: var(--theme-dfbf91);
background: var(--theme-fff7e9);
color: var(--theme-8b5b21);
}
.state-pill.update {
border-color: var(--theme-dfbf91);
background: var(--theme-fff7e9);
color: var(--theme-8b5b21);
}
.content {
width: 100%;
padding: clamp(20px, 3vw, 32px) clamp(18px, 3.2vw, 40px) clamp(28px, 4vw, 48px);
container-type: inline-size;
container-name: workspace;
}
.page {
width: 100%;
max-width: none;
min-width: 0;
margin-inline: 0;
}
.page > * {
min-width: 0;
}
.kernel-page,
.config-page,
.management-page {
display: grid;
gap: 18px;
}
.panel {
width: 100%;
min-width: 0;
padding: 24px;
border: 1px solid var(--theme-e3e1db);
border-radius: 12px;
background: var(--theme-fffdf8);
box-shadow: var(--ui-panel-shadow);
}
.quiet-panel {
background: var(--theme-faf9f5);
}
.panel-heading {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
min-height: 49px;
margin-bottom: 16px;
}
.panel-heading > div {
min-width: 0;
}
.panel h2 {
margin: 0;
color: var(--theme-2d2a26);
font-size: var(--font-size-panel-title);
line-height: var(--line-height-tight);
}
.panel-heading p {
min-height: 0;
margin: 5px 0 0;
color: var(--theme-5f5a53);
font-size: var(--font-size-body);
line-height: var(--line-height-body);
}
.panel-heading p.success {
color: var(--theme-2f6b3f);
}
.panel-heading p.error {
color: var(--theme-9f2d20);
}
.status-strip {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
gap: 12px;
}
.status-card {
display: grid;
gap: 4px;
min-width: 0;
min-height: 72px;
padding: 12px 14px;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-fffdf8);
}
.status-card-primary {
grid-template-columns: auto minmax(0, 1fr);
align-items: center;
gap: 10px;
}
.status-card-primary > div {
display: grid;
gap: 4px;
min-width: 0;
}
.status-card span {
overflow: hidden;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
text-overflow: ellipsis;
white-space: nowrap;
}
.status-card strong {
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-panel-title);
line-height: var(--line-height-tight);
text-overflow: ellipsis;
white-space: nowrap;
}
.software-version-line {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
min-width: 0;
}
.software-version-line > strong {
flex: none;
}
.software-version-action {
display: inline-flex;
align-items: center;
justify-content: flex-end;
gap: 4px;
min-width: 0;
max-width: 62%;
padding: 0;
border: 0;
background: transparent;
color: var(--theme-817b73);
font-size: var(--font-size-caption);
font-weight: 600;
}
.software-version-action span {
color: inherit;
font-size: var(--font-size-caption);
font-weight: 600;
}
.software-version-action:hover:not(:disabled) span {
text-decoration: underline;
text-underline-offset: 2px;
}
.software-version-action:disabled {
cursor: wait;
opacity: 0.72;
}
.software-version-action.update {
color: var(--theme-866b4d);
}
.software-version-action.error {
color: var(--theme-8a625d);
}
.status-dot {
display: block;
width: 12px;
height: 12px;
border-radius: 999px;
background: var(--theme-9b958c);
box-shadow: 0 0 0 5px rgba(155, 149, 140, 0.14);
}
.status-dot.success {
background: var(--theme-2f6b3f);
box-shadow: 0 0 0 5px rgba(47, 107, 63, 0.15);
}
.status-dot.error {
background: var(--theme-9f2d20);
box-shadow: 0 0 0 5px rgba(159, 45, 32, 0.15);
}
.status-dot.neutral {
background: var(--theme-9b958c);
}
.kernel-layout {
display: grid;
grid-template-columns: minmax(0, 1fr);
align-items: start;
gap: 18px;
}
/* ==========================================================================
Version Management Redesign
========================================================================== */
.version-management-page {
display: flex;
flex-direction: column;
width: 100%;
max-width: 1160px;
margin: 0 auto;
}
.version-list {
display: grid;
gap: 20px;
padding: 0;
border: 0;
background: transparent;
box-shadow: none;
}
.version-source-row,
.version-list-item {
border: 1px solid var(--theme-e3e1db);
border-radius: 14px;
background: var(--theme-fffdf8);
box-shadow: var(--ui-panel-shadow);
}
.version-source-row {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
min-height: 84px;
align-items: center;
gap: 24px;
padding: 20px 26px;
}
.version-source-copy {
display: grid;
min-width: 0;
gap: 5px;
}
.version-source-copy strong,
.version-card-top h2 {
color: var(--theme-2d2a26);
font-size: var(--font-size-panel-title);
font-weight: 700;
line-height: var(--line-height-body);
}
.version-source-copy > span {
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
line-height: var(--line-height-body);
}
.version-source-copy > .version-source-error {
color: var(--theme-9f2d20);
}
.version-source-control label {
display: grid;
}
.version-source-control {
display: grid;
grid-template-columns: minmax(0, 220px) auto;
width: max-content;
max-width: 100%;
gap: 8px;
}
.version-source-control select {
width: 220px;
max-width: 100%;
height: 42px;
padding: 0 36px 0 12px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 8px;
background: var(--theme-fffdf8);
color: var(--theme-2d2a26);
cursor: pointer;
font-size: var(--font-size-body);
}
.version-source-control select:hover:not(:disabled) {
border-color: var(--theme-9b958c);
}
.version-source-control select:disabled {
cursor: not-allowed;
opacity: 0.58;
}
.version-source-add-button {
display: inline-flex;
min-height: 42px;
align-items: center;
justify-content: center;
gap: 6px;
padding: 0 12px;
}
.version-source-add-button:disabled {
cursor: not-allowed;
opacity: 0.58;
}
.version-card-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
align-items: stretch;
gap: 20px;
}
.version-list-item {
display: grid;
grid-template-rows: minmax(0, 1fr) auto;
min-height: 280px;
align-items: stretch;
gap: 26px;
padding: 26px;
}
.version-item-content {
min-width: 0;
}
.version-card-top {
display: flex;
min-width: 0;
align-items: baseline;
flex-wrap: wrap;
gap: 6px 14px;
}
.version-card-top h2 {
margin: 0;
}
.version-row-status {
display: inline-flex;
align-items: center;
gap: 6px;
min-width: 0;
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
font-weight: 600;
line-height: var(--line-height-body);
}
.version-row-status::before {
width: 6px;
height: 6px;
flex: none;
border-radius: 50%;
background: currentColor;
content: '';
}
.version-row-status.info {
color: var(--theme-5f5a53);
}
.version-row-status.update {
color: var(--theme-8b5b21);
}
.version-row-status.error {
color: var(--theme-9f2d20);
}
.version-row-status.neutral {
color: var(--theme-817b73);
}
.version-metrics-comparison {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
min-width: 0;
gap: 12px;
margin: 20px 0 0;
}
.version-metric-tile {
display: grid;
min-width: 0;
gap: 5px;
padding: 15px 16px;
border: 1px solid var(--theme-e8e5dc);
border-radius: 10px;
background: var(--theme-faf9f5);
}
.version-metric-label {
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
line-height: var(--line-height-body);
}
.version-metric-value {
min-width: 0;
margin: 0;
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-panel-title);
font-weight: 600;
font-family: var(--font-family-mono, monospace);
line-height: var(--line-height-body);
text-overflow: ellipsis;
white-space: nowrap;
}
.version-metric-tile.has-update .version-metric-value {
color: var(--theme-8b5b21);
}
.version-alert-banner {
display: flex;
min-width: 0;
align-items: center;
gap: 6px;
margin-top: 12px;
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
line-height: var(--line-height-body);
}
.version-alert-banner > svg {
flex: none;
}
.version-alert-banner.info {
color: var(--theme-5f5a53);
}
.version-alert-banner.neutral {
color: var(--theme-6d6760);
}
.version-alert-banner.update {
color: var(--ui-accent-strong);
}
.version-alert-banner.warning {
color: var(--theme-8b5b21);
}
.version-alert-banner.error {
color: var(--theme-9f2d20);
}
.version-alert-banner.success {
color: var(--theme-2f6b3f);
}
.version-card-actions {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: flex-start;
align-self: end;
gap: 10px;
}
.version-card-actions button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 7px;
flex: 1 1 120px;
min-height: 40px;
padding: 8px 14px;
font-weight: 600;
border-radius: 9px;
white-space: nowrap;
}
.client-api-panel {
margin-top: 0;
}
.client-api-heading {
min-height: 44px;
margin-bottom: 14px;
}
.client-api-heading .state-pill {
flex: none;
}
.client-api-key-actions {
display: flex;
min-width: 0;
align-items: center;
gap: 5px;
margin: 4px 0 0;
}
.client-api-default-key {
display: inline-flex;
min-width: 0;
min-height: 19px;
flex: 0 1 auto;
align-items: center;
gap: 6px;
margin: 0;
padding: 0;
border: 0;
background: transparent;
color: var(--theme-5f5a53);
font-size: var(--font-size-body);
line-height: var(--line-height-body);
}
.client-api-default-key span {
flex: none;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.client-api-default-key code {
min-width: 0;
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
text-overflow: ellipsis;
white-space: nowrap;
}
.client-api-default-key svg {
flex: none;
color: var(--theme-7a746c);
}
.client-api-default-key:hover span {
color: var(--theme-2d2a26);
}
.client-api-key-copy {
width: 26px;
height: 26px;
border-color: transparent !important;
background: transparent !important;
}
.client-api-key-copy:hover:not(:disabled) {
border-color: var(--theme-d5d2cb) !important;
background: var(--theme-f4f1ea) !important;
}
.client-api-no-key {
color: var(--theme-9f2d20) !important;
}
.client-api-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
grid-auto-rows: 1fr;
align-items: stretch;
gap: 12px;
}
.client-api-card {
display: grid;
grid-template-rows: auto minmax(0, 1fr);
gap: 14px;
height: 100%;
min-width: 0;
padding: 16px;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-faf9f5);
}
.client-api-card-heading {
display: grid;
grid-template-columns: 40px minmax(0, 1fr);
align-items: center;
gap: 11px;
min-width: 0;
}
.client-api-logo {
display: grid;
width: 40px;
height: 40px;
place-items: center;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-fffdf8);
}
.client-api-logo img {
display: block;
width: 23px;
height: 23px;
object-fit: contain;
}
.client-api-card-heading > div {
display: grid;
min-width: 0;
gap: 4px;
}
.client-api-card-heading strong,
.client-api-card-heading span {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.client-api-card-heading strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-section);
}
.client-api-card-heading > div > span {
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
}
.client-api-values {
display: grid;
align-content: start;
gap: 7px;
}
.client-api-value-row {
display: grid;
grid-template-columns: minmax(0, 1fr) 30px;
align-items: center;
gap: 6px 8px;
min-width: 0;
min-height: 52px;
padding: 8px 10px;
border: 1px solid var(--theme-e3e1db);
border-radius: 6px;
background: var(--theme-fffdf8);
}
.client-api-value-row > span:first-child {
grid-column: 1 / -1;
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
font-weight: 700;
}
.client-api-value-row code {
min-width: 0;
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
overflow-wrap: anywhere;
white-space: normal;
}
.client-api-value-row .icon-button {
width: 30px;
height: 30px;
}
.client-api-copy-placeholder {
display: block;
width: 30px;
height: 30px;
}
.kernel-layout > .panel {
display: grid;
grid-template-columns: minmax(0, 1fr);
grid-template-rows: repeat(3, auto);
}
.kernel-layout > .panel > .panel-heading {
min-height: 0;
height: auto;
margin: 0;
padding-bottom: 16px;
}
.kernel-layout .panel-action-row {
height: auto;
margin: 0;
padding-top: 18px;
}
.panel-detail-grid {
display: grid;
grid-auto-rows: auto;
gap: 8px;
min-height: 0;
margin: 0;
}
.panel-detail-row {
display: grid;
grid-template-columns: 92px minmax(0, 1fr);
align-items: center;
gap: 14px;
min-width: 0;
min-height: 40px;
}
.panel-detail-row dt {
color: var(--theme-7a746c);
font-size: var(--font-size-body);
}
.panel-detail-row dd {
min-width: 0;
margin: 0;
overflow: hidden;
color: var(--theme-2d2a26);
text-align: right;
text-overflow: ellipsis;
white-space: nowrap;
}
.panel-detail-row dd.success {
color: var(--theme-2f6b3f);
}
.panel-detail-row dd.update {
color: var(--theme-c77b30);
}
.panel-detail-row dd.error {
color: var(--theme-9f2d20);
}
.detail-control-cell {
display: flex;
align-items: center;
justify-content: flex-end;
height: 40px;
overflow: visible !important;
}
.compact-text-input {
width: min(150px, 100%);
height: 34px;
padding: 0 10px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-ffffff);
color: var(--theme-2d2a26);
text-align: right;
}
.compact-text-input::placeholder {
color: var(--theme-9b958c);
}
.compact-text-input.error {
border-color: var(--theme-a83f32);
color: var(--theme-9f2d20);
}
.compact-text-input:disabled {
cursor: not-allowed;
background: var(--theme-f4f1ea);
}
.button-row.control-action-row {
--kernel-action-button-min: clamp(112px, 12ch, 156px);
grid-template-columns: repeat(
auto-fit,
minmax(min(100%, var(--kernel-action-button-min)), 1fr)
);
grid-auto-flow: row;
grid-auto-columns: unset;
grid-auto-rows: minmax(42px, auto);
align-items: stretch;
}
.control-action-row > button {
width: 100%;
min-height: 42px;
height: auto;
padding-block: 7px;
overflow: hidden;
line-height: var(--line-height-tight);
overflow-wrap: anywhere;
text-align: center;
text-overflow: clip;
text-wrap: balance;
white-space: normal;
}
@container workspace (min-width: 840px) {
.home-page {
grid-template-columns: minmax(320px, 0.8fr) minmax(0, 1.2fr);
grid-auto-rows: 1fr;
align-items: stretch;
}
.home-page > .home-layout {
display: grid;
grid-template-columns: minmax(0, 1fr);
grid-template-rows: minmax(0, 1fr);
align-self: stretch;
align-items: stretch;
height: 100%;
}
.home-page > .client-api-panel {
grid-column: 2;
}
.home-page > .home-layout > .control-panel,
.home-page > .client-api-panel {
display: grid;
height: 100%;
align-self: stretch;
row-gap: clamp(12px, 2vh, 22px);
}
.home-page > .home-layout > .control-panel {
grid-template-rows: auto minmax(0, 1fr) auto;
}
.home-page > .client-api-panel {
grid-template-rows: auto minmax(0, 1fr);
}
.home-page > .home-layout > .control-panel > .panel-heading,
.home-page > .client-api-panel > .panel-heading,
.version-management-layout > .panel > .panel-heading {
min-height: 0;
margin-bottom: 0;
padding-bottom: 0;
}
.home-page > .home-layout > .control-panel > .panel-detail-grid,
.home-page > .client-api-panel > .client-api-grid {
align-content: space-evenly;
}
.home-page > .home-layout > .control-panel > .panel-action-row {
padding-top: 0;
}
}
@container workspace (max-width: 760px) {
.version-card-grid {
grid-template-columns: minmax(0, 1fr);
}
.version-list-item {
min-height: 0;
gap: 20px;
padding: 22px;
}
.version-card-actions,
.version-card-actions.core-actions {
grid-column: 1;
grid-row: auto;
justify-content: flex-start;
}
.version-source-row {
grid-template-columns: minmax(0, 1fr) auto;
}
}
@container workspace (max-width: 560px) {
.version-source-row {
grid-template-columns: minmax(0, 1fr);
}
.version-source-control select {
width: 100%;
}
.version-source-control {
grid-template-columns: minmax(0, 1fr) auto;
width: 100%;
}
.version-source-add-button {
grid-column: 1 / -1;
}
}
.info-list {
display: grid;
gap: 10px;
grid-template-rows: repeat(4, 20px);
min-height: 110px;
margin: 0;
}
.info-list div {
display: grid;
grid-template-columns: 92px minmax(0, 1fr);
gap: 14px;
align-items: start;
min-height: 20px;
}
.info-list dt {
color: var(--theme-7a746c);
font-size: var(--font-size-body);
}
.info-list dd {
min-width: 0;
margin: 0;
overflow: hidden;
color: var(--theme-2d2a26);
text-overflow: ellipsis;
white-space: nowrap;
}
.empty-state {
display: grid;
gap: 6px;
padding: 18px;
border: 1px dashed var(--theme-d5d2cb);
border-radius: 8px;
background: var(--theme-fffdf8);
color: var(--theme-5f5a53);
}
.empty-state strong {
color: var(--theme-2d2a26);
}
.button-row {
display: grid;
grid-auto-columns: minmax(0, 1fr);
grid-auto-flow: column;
gap: 10px;
min-height: 38px;
margin-top: 18px;
}
.primary-button,
.secondary-button,
.danger-button {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 42px;
min-width: 0;
overflow: hidden;
padding: 0 14px;
border-radius: 8px;
font-weight: 700;
text-overflow: ellipsis;
white-space: nowrap;
}
.primary-button svg,
.secondary-button svg,
.danger-button svg {
flex: none;
}
.primary-button {
border: 1px solid var(--ui-accent);
background: var(--ui-accent);
color: #ffffff;
box-shadow: 0 4px 12px var(--ui-accent-shadow);
}
.primary-button:hover:not(:disabled) {
border-color: var(--ui-accent-strong);
background: var(--ui-accent-strong);
}
.secondary-button {
border: 1px solid var(--theme-d5d2cb);
background: var(--theme-fffdf8);
color: var(--theme-2d2a26);
}
.secondary-button:hover:not(:disabled) {
background: var(--theme-f4f1ea);
}
.danger-button {
border: 1px solid var(--theme-a83f32);
background: var(--theme-fffdf8);
color: var(--theme-9f2d20);
}
.danger-button:hover:not(:disabled) {
background: var(--theme-fff1ee);
}
.primary-button:disabled,
.secondary-button:disabled,
.danger-button:disabled {
cursor: not-allowed;
opacity: 0.55;
}
.switch-control {
position: relative;
display: block;
width: 44px;
height: 24px;
flex: none;
}
.switch-control input {
position: absolute;
inset: 0;
z-index: 1;
width: 100%;
height: 100%;
margin: 0;
cursor: pointer;
opacity: 0;
}
.switch-control input:disabled {
cursor: not-allowed;
}
.switch-control input:disabled + .switch-track {
opacity: 0.55;
}
.switch-track {
display: block;
width: 100%;
height: 100%;
border: 1px solid var(--theme-d5d2cb);
border-radius: 999px;
background: var(--theme-e8e5dc);
transition:
background 140ms ease,
border-color 140ms ease;
}
.switch-track::after {
display: block;
width: 18px;
height: 18px;
margin: 2px;
border-radius: 999px;
background: var(--theme-fffdf8);
box-shadow: 0 1px 2px rgba(45, 42, 38, 0.18);
transition: transform 140ms ease;
content: '';
}
.switch-control input:checked + .switch-track {
border-color: var(--theme-2d2a26);
background: var(--theme-2d2a26);
}
.switch-control input:checked + .switch-track::after {
transform: translateX(20px);
}
.config-general-subpage {
display: grid;
gap: 18px;
}
.config-keys-panel {
display: grid;
min-height: 0;
}
.config-keys-panel {
grid-template-rows: 42px minmax(0, 1fr);
gap: 16px;
height: 350px;
}
.config-management-panel {
display: grid;
gap: 18px;
}
.config-diagnostics-panel {
display: grid;
gap: 16px;
}
.config-diagnostics-intro {
margin: -4px 0 0;
color: var(--theme-6b655d);
font-size: var(--font-size-label);
line-height: var(--line-height-relaxed);
}
.config-diagnostics-toggle-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.config-diagnostics-setting {
display: grid;
grid-template-columns: 38px minmax(0, 1fr) 44px;
align-items: center;
gap: 12px;
min-width: 0;
padding: 15px;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-faf8f2);
}
.config-diagnostics-setting-icon {
display: grid;
width: 38px;
height: 38px;
place-items: center;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-fffdf8);
color: var(--theme-5f5a53);
}
.config-diagnostics-setting-copy {
display: grid;
min-width: 0;
gap: 4px;
}
.config-diagnostics-setting-copy strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-body);
}
.config-diagnostics-setting-copy small,
.config-diagnostics-field small {
margin: 0;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
line-height: var(--line-height-relaxed);
}
.config-diagnostics-fields {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 12px;
}
.config-diagnostics-field {
display: grid;
min-width: 0;
gap: 7px;
padding: 14px;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-fffdf8);
}
.config-diagnostics-field > span {
color: var(--theme-39352f);
font-size: var(--font-size-label);
font-weight: 700;
}
.config-diagnostics-commercial-note {
display: flex;
align-items: flex-start;
gap: 8px;
padding: 11px 13px;
border: 1px solid var(--theme-dfbf91);
border-radius: 7px;
background: var(--theme-fff7e9);
color: var(--theme-8b5b21);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
}
.config-diagnostics-commercial-note svg {
flex: none;
margin-top: 1px;
}
.config-diagnostics-footer {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
gap: 16px;
}
.config-diagnostics-actions {
display: flex;
align-items: center;
gap: 10px;
}
.config-management-content {
display: grid;
grid-template-columns: minmax(220px, 0.72fr) minmax(420px, 1.28fr);
align-items: stretch;
gap: 18px;
}
.config-management-description,
.config-management-form {
min-width: 0;
padding: 16px;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-faf8f2);
}
.config-management-description {
display: grid;
align-content: start;
gap: 9px;
}
.config-management-description strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-section);
}
.config-management-description p,
.config-management-description small {
margin: 0;
color: var(--theme-6d6760);
font-size: var(--font-size-body);
line-height: var(--line-height-body);
}
.config-management-description small {
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
}
.config-management-form {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px 16px;
}
.config-management-field {
display: grid;
min-width: 0;
align-content: start;
gap: 8px;
color: var(--theme-5f5a53);
font-size: var(--font-size-body);
font-weight: 700;
}
.config-management-field .config-secret-input input,
.config-management-field > .config-dialog-text-input {
background: var(--theme-fffdf8);
}
.config-management-field > .config-dialog-text-input[aria-invalid='true'] {
border-color: var(--theme-a83f32);
}
.config-management-form-footer {
display: grid;
grid-column: 1 / -1;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
gap: 14px;
}
.config-management-error {
min-width: 0;
overflow: hidden;
color: transparent;
font-size: var(--font-size-label);
line-height: var(--line-height-body);
text-overflow: ellipsis;
white-space: nowrap;
}
.config-management-error.visible {
color: var(--theme-9f2d20);
}
.config-management-actions {
display: flex;
align-items: center;
justify-content: end;
gap: 10px;
}
.config-network-panel {
display: grid;
gap: 18px;
}
.config-tls-content {
display: grid;
gap: 16px;
}
.config-tls-toggle-row {
padding: 4px 0;
border: 0;
background: transparent;
}
.config-tls-section-heading,
.config-section-heading-with-actions {
justify-content: space-between;
}
.config-tls-section-title,
.config-network-section-title {
display: flex;
align-items: center;
gap: 8px;
}
.config-tls-section-title h3,
.config-network-section-title h3 {
margin: 0;
font-size: var(--font-size-section);
line-height: var(--line-height-body);
}
.config-tls-fields {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
}
.config-tls-fields .config-network-field {
min-height: 142px;
height: auto;
}
.config-tls-path-control {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
gap: 8px;
}
.config-tls-browse-button {
min-width: max-content;
white-space: nowrap;
}
.config-tls-message {
min-height: 20px;
color: var(--theme-6d6760);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
}
.config-tls-message.error {
color: var(--theme-9f2d20);
}
.config-network-sections {
display: grid;
grid-template-columns: minmax(0, 1fr);
align-items: start;
gap: 18px;
}
.config-network-section {
display: grid;
min-width: 0;
gap: 14px;
padding: 16px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 8px;
background: var(--theme-fffdf8);
}
.config-network-section[hidden] {
display: none;
}
.config-network-section-heading {
display: flex;
align-items: center;
gap: 8px;
color: var(--theme-39352f);
}
.config-network-section-heading svg {
flex: none;
color: var(--theme-777067);
}
.config-network-section-heading h3 {
margin: 0;
font-size: var(--font-size-section);
line-height: var(--line-height-body);
}
.config-network-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
grid-auto-rows: 154px;
gap: 16px 18px;
}
.config-network-field {
display: grid;
height: 100%;
min-width: 0;
align-content: start;
gap: 8px;
padding: 14px;
border: 1px solid var(--theme-e3e1db);
border-radius: 7px;
background: var(--theme-faf8f2);
}
.config-network-field > span,
.config-network-toggle > div > span {
color: var(--theme-39352f);
font-size: var(--font-size-body);
font-weight: 700;
}
.config-network-field small {
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
line-height: var(--line-height-body);
}
.config-network-label {
display: flex;
align-items: center;
gap: 7px;
}
.config-network-label svg {
flex: none;
color: var(--theme-777067);
}
.config-network-input {
width: 100%;
height: 38px;
min-width: 0;
padding: 0 11px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
outline: none;
background: var(--theme-fffdf8);
color: var(--theme-2d2a26);
font: inherit;
font-size: var(--font-size-body);
}
.config-network-input:focus {
border-color: var(--theme-777067);
box-shadow: 0 0 0 3px rgba(119, 112, 103, 0.12);
}
.config-network-input.error {
border-color: var(--theme-b64132);
box-shadow: 0 0 0 3px rgba(182, 65, 50, 0.1);
}
.config-network-input:disabled {
cursor: not-allowed;
opacity: 0.58;
}
.config-network-port-field .config-network-input {
width: 120px;
max-width: 100%;
}
.config-network-toggle {
grid-template-columns: minmax(0, 1fr) auto;
align-content: center;
align-items: center;
gap: 16px;
}
.config-network-toggle > div {
display: grid;
min-width: 0;
gap: 7px;
}
.config-panel-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px;
min-width: 0;
}
.config-heading-title,
.config-heading-actions,
.config-key-identity,
.config-key-actions,
.config-dialog-heading > div {
display: flex;
align-items: center;
}
.config-heading-title {
gap: 9px;
min-width: 0;
}
.config-heading-title svg,
.config-dialog-heading svg {
flex: none;
color: var(--theme-6d6760);
}
.config-heading-title h2 {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.config-heading-actions {
gap: 8px;
flex: none;
}
.config-heading-actions .compact-button {
width: auto;
margin-top: 0;
}
.config-panel-heading .state-pill {
max-width: 108px;
flex: none;
overflow: hidden;
text-overflow: ellipsis;
}
.config-count {
display: inline-flex;
width: 34px;
height: 30px;
align-items: center;
justify-content: center;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-f4f1ea);
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
font-variant-numeric: tabular-nums;
font-weight: 700;
}
.icon-button {
display: inline-flex;
width: 34px;
height: 34px;
flex: none;
align-items: center;
justify-content: center;
padding: 0;
border: 1px solid var(--theme-2d2a26);
border-radius: 6px;
background: var(--theme-2d2a26);
color: var(--theme-fffdf8);
}
.icon-button:hover:not(:disabled) {
background: var(--theme-433f39);
}
.icon-button.quiet {
border-color: var(--theme-d5d2cb);
background: var(--theme-fffdf8);
color: var(--theme-2d2a26);
}
.icon-button.quiet:hover:not(:disabled) {
background: var(--theme-f4f1ea);
}
.icon-button.danger {
border-color: var(--theme-dfb7b0);
background: var(--theme-fffdf8);
color: var(--theme-9f2d20);
}
.icon-button.danger:hover:not(:disabled) {
background: var(--theme-fff1ee);
}
.icon-button:disabled {
cursor: not-allowed;
opacity: 0.5;
}
.config-key-list {
min-height: 0;
overflow-x: hidden;
overflow-y: auto;
border-top: 1px solid var(--theme-e3e1db);
border-bottom: 1px solid var(--theme-e3e1db);
scrollbar-gutter: stable;
}
.config-key-row {
display: grid;
grid-template-columns: minmax(0, 1fr) 112px;
align-items: center;
gap: 12px;
min-height: 66px;
padding: 0 4px 0 2px;
border-bottom: 1px solid var(--theme-eeece6);
}
.config-key-row:last-child {
border-bottom: 0;
}
.config-key-identity {
gap: 12px;
min-width: 0;
}
.config-key-index {
display: inline-flex;
width: 30px;
height: 28px;
flex: none;
align-items: center;
justify-content: center;
border-radius: 5px;
background: var(--theme-f0eee8);
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
font-variant-numeric: tabular-nums;
font-weight: 800;
}
.config-key-details {
display: grid;
min-width: 0;
gap: 5px;
}
.config-key-label-line {
display: flex;
min-width: 0;
align-items: center;
gap: 7px;
}
.config-key-label-line strong {
min-width: 0;
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-body);
text-overflow: ellipsis;
white-space: nowrap;
}
.config-key-details code {
min-width: 0;
overflow: hidden;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
letter-spacing: 0;
text-overflow: ellipsis;
white-space: nowrap;
}
.config-key-actions {
display: grid;
grid-template-columns: repeat(3, 32px);
justify-content: end;
gap: 8px;
}
.config-key-actions .icon-button {
width: 32px;
height: 32px;
}
.config-key-actions .icon-button.danger {
justify-self: center;
}
.config-key-row.skeleton span:first-child {
width: min(280px, 75%);
height: 14px;
border-radius: 4px;
background: var(--theme-eeece6);
}
.config-key-row.skeleton span:last-child {
width: 70px;
height: 28px;
justify-self: end;
border-radius: 5px;
background: var(--theme-f4f1ea);
}
.config-empty-list,
.config-unavailable {
display: grid;
height: 100%;
min-height: 0;
place-content: center;
justify-items: center;
gap: 9px;
padding: 24px;
color: var(--theme-7a746c);
text-align: center;
}
.config-empty-list strong,
.config-unavailable strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-section);
}
.config-unavailable > span {
width: min(360px, 100%);
overflow: hidden;
color: var(--theme-9f2d20);
font-size: var(--font-size-label);
text-overflow: ellipsis;
white-space: nowrap;
}
.compact-button {
gap: 7px;
width: auto;
min-height: 34px;
margin-top: 3px;
padding: 0 12px;
font-size: var(--font-size-body);
}
.routing-segmented {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
align-self: center;
gap: 4px;
height: 40px;
padding: 4px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 7px;
background: var(--theme-f0eee8);
}
.routing-segmented button {
min-width: 0;
overflow: hidden;
padding: 0 8px;
border: 0;
border-radius: 5px;
background: transparent;
color: var(--theme-6d6760);
font-size: var(--font-size-body);
font-weight: 700;
text-overflow: ellipsis;
white-space: nowrap;
}
.routing-segmented button:hover:not(:disabled) {
background: var(--theme-e8e5dc);
color: var(--theme-2d2a26);
}
.routing-segmented button.active {
background: var(--theme-fffdf8);
color: var(--theme-2d2a26);
box-shadow: 0 1px 2px rgba(45, 42, 38, 0.12);
}
.routing-segmented button:disabled {
cursor: not-allowed;
opacity: 0.55;
}
.config-dialog-backdrop {
position: fixed;
inset: 0;
z-index: 70;
display: grid;
place-items: center;
padding: 20px;
background: rgba(45, 42, 38, 0.42);
backdrop-filter: blur(3px);
}
.config-dialog {
display: grid;
grid-template-rows: 40px 72px 72px 20px 40px;
gap: 16px;
width: min(460px, 100%);
height: 340px;
padding: 22px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 8px;
background: var(--theme-fffdf8);
box-shadow: 0 18px 48px rgba(45, 42, 38, 0.24);
}
.config-dialog-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
}
.config-dialog-heading > div {
gap: 9px;
min-width: 0;
}
.config-dialog-heading h2 {
margin: 0;
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-dialog-title);
text-overflow: ellipsis;
white-space: nowrap;
}
.config-dialog-field {
display: grid;
grid-template-rows: 20px 42px;
gap: 8px;
color: var(--theme-5f5a53);
font-size: var(--font-size-body);
font-weight: 700;
}
.config-secret-input {
display: grid;
grid-template-columns: minmax(0, 1fr) 34px;
align-items: center;
gap: 7px;
}
.config-secret-input input {
width: 100%;
height: 42px;
min-width: 0;
padding: 0 12px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-ffffff);
color: var(--theme-2d2a26);
}
.config-dialog-text-input {
width: 100%;
height: 42px;
min-width: 0;
padding: 0 12px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-ffffff);
color: var(--theme-2d2a26);
}
.config-dialog-text-input:disabled {
cursor: not-allowed;
background: var(--theme-f4f1ea);
}
.config-secret-input input[aria-invalid='true'] {
border-color: var(--theme-a83f32);
}
.config-secret-input input:disabled {
cursor: not-allowed;
background: var(--theme-f4f1ea);
}
.config-form-message {
min-width: 0;
overflow: hidden;
color: transparent;
font-size: var(--font-size-label);
line-height: var(--line-height-body);
text-overflow: ellipsis;
white-space: nowrap;
}
.config-form-message.error {
color: var(--theme-9f2d20);
}
.config-dialog-actions {
display: grid;
grid-template-columns: minmax(0, 1fr) 118px;
gap: 10px;
min-width: 0;
}
.config-dialog-actions.two-actions {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.config-dialog-actions.single-action {
grid-template-columns: 118px;
justify-content: end;
}
.config-dialog-actions button {
gap: 7px;
height: 40px;
}
.close-dialog-backdrop {
position: fixed;
inset: 0;
z-index: 110;
display: grid;
place-items: center;
padding: 24px;
background: rgba(45, 42, 38, 0.5);
backdrop-filter: blur(4px);
}
.close-dialog {
position: relative;
display: grid;
gap: 18px;
width: min(430px, 100%);
padding: 24px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 10px;
outline: none;
background: var(--theme-fffdf8);
box-shadow: 0 22px 60px rgba(45, 42, 38, 0.28);
}
.close-dialog-heading {
display: grid;
padding-right: 34px;
}
.close-dialog-dismiss {
position: absolute;
top: 12px;
right: 12px;
display: grid;
width: 32px;
height: 32px;
padding: 0;
place-items: center;
border: 1px solid transparent;
border-radius: 7px;
background: transparent;
color: var(--theme-7a746c);
}
.close-dialog-dismiss:hover:not(:disabled) {
border-color: var(--theme-d5d2cb);
background: var(--theme-f0ede6);
color: var(--theme-2d2a26);
}
.close-dialog-dismiss:focus-visible {
outline: 3px solid rgba(66, 99, 127, 0.3);
outline-offset: 2px;
}
.close-dialog-dismiss:disabled {
cursor: not-allowed;
opacity: 0.45;
}
.close-dialog-heading h2 {
margin: 0;
color: var(--theme-2d2a26);
font-size: var(--font-size-dialog-title);
line-height: var(--line-height-tight);
}
.close-dialog > p {
margin: 0;
color: var(--theme-5f5a53);
font-size: var(--font-size-body);
line-height: var(--line-height-relaxed);
}
.close-dialog-error {
padding: 9px 11px;
border: 1px solid var(--theme-dfb7b0);
border-radius: 6px;
background: var(--theme-fff1ee);
color: var(--theme-9f2d20);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
overflow-wrap: anywhere;
}
.close-dialog-remember {
display: inline-flex;
align-items: center;
justify-self: start;
gap: 8px;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
cursor: pointer;
}
.close-dialog-remember input {
width: 16px;
height: 16px;
margin: 0;
accent-color: var(--theme-4f825c);
}
.close-dialog-actions {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}
.close-choice-button {
display: grid;
min-height: 58px;
gap: 3px;
padding: 8px 12px;
}
.close-choice-button span {
font-size: var(--font-size-body);
}
.close-choice-button:focus-visible {
outline: 3px solid rgba(66, 99, 127, 0.36);
outline-offset: 2px;
}
.config-software-panel {
display: grid;
gap: 18px;
}
.config-software-panel > .config-panel-heading {
width: min(960px, 100%);
margin: 0 auto;
}
.config-software-content {
display: grid;
width: min(960px, 100%);
margin: 0 auto;
}
.config-software-setting-icon {
display: inline-flex;
flex: none;
align-items: center;
justify-content: center;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-fffdf8);
color: var(--theme-777067);
}
.config-software-setting-copy > div {
display: grid;
min-width: 0;
gap: 4px;
}
.config-software-setting-copy strong {
color: var(--theme-39352f);
font-size: var(--font-size-body);
line-height: var(--line-height-body);
}
.config-software-settings-list {
overflow: hidden;
border: 1px solid var(--theme-d5d2cb);
border-radius: 10px;
background: var(--theme-fffdf8);
}
.config-software-setting-row {
display: flex;
min-height: 92px;
align-items: center;
justify-content: space-between;
gap: 24px;
padding: 17px 20px;
}
.config-software-setting-row + .config-software-setting-row {
border-top: 1px solid var(--theme-e3e1db);
}
.config-software-setting-copy {
display: flex;
min-width: 0;
align-items: center;
gap: 14px;
}
.config-software-setting-icon {
width: 40px;
height: 40px;
background: var(--theme-faf8f2);
}
.config-software-setting-copy small {
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
font-weight: 400;
line-height: var(--line-height-body);
}
.config-software-select {
display: grid;
width: 228px;
flex: none;
}
.config-software-select .config-network-input {
height: 42px;
}
@media (max-width: 520px) {
.close-dialog-backdrop {
padding: 16px;
}
.close-dialog {
padding: 20px;
}
.close-dialog-actions {
grid-template-columns: 1fr;
}
}
@media (max-width: 700px) {
.config-software-panel .config-panel-heading {
align-items: flex-start;
}
.config-software-setting-row {
min-height: 84px;
gap: 16px;
padding: 15px 16px;
}
.config-software-close-row {
align-items: flex-start;
flex-direction: column;
}
.config-software-select {
width: 100%;
padding-left: 54px;
}
}
@media (max-width: 480px) {
.config-diagnostics-toggle-grid,
.config-diagnostics-fields {
grid-template-columns: 1fr;
}
.config-diagnostics-footer {
align-items: stretch;
grid-template-columns: 1fr;
flex-direction: column;
}
.config-diagnostics-actions,
.config-diagnostics-actions button {
width: 100%;
}
.config-diagnostics-actions {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.config-software-setting-row {
padding: 14px;
}
.config-software-setting-copy {
gap: 11px;
}
.config-software-setting-icon {
width: 36px;
height: 36px;
}
.config-software-select {
padding-left: 47px;
}
}
.config-delete-dialog {
grid-template-rows: 40px 52px 40px;
height: 202px;
}
.config-delete-dialog.has-warning {
grid-template-rows: 40px 52px auto 40px;
height: auto;
min-height: 254px;
}
.config-delete-key {
display: flex;
min-width: 0;
align-items: center;
overflow: hidden;
padding: 0 14px;
border-radius: 6px;
background: var(--theme-f4f1ea);
color: var(--theme-2d2a26);
font-size: var(--font-size-section);
letter-spacing: 0;
text-overflow: ellipsis;
white-space: nowrap;
}
.config-delete-warning {
display: grid;
grid-template-columns: 18px minmax(0, 1fr);
align-items: start;
gap: 9px;
padding: 10px 12px;
border: 1px solid var(--theme-e2b6ae);
border-radius: 6px;
background: var(--theme-fff1ee);
color: var(--theme-8f3025);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
}
.config-delete-warning svg {
margin-top: 1px;
}
.action-feedback.inline-notice {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: start;
gap: 10px;
width: 100%;
min-height: 38px;
padding: 8px 12px;
margin: 10px 0;
border: 1px solid var(--theme-b6d3bd);
border-radius: 7px;
background: var(--theme-eef7f0);
color: var(--theme-2f6b3f);
box-sizing: border-box;
}
.action-feedback.inline-notice.error {
border-color: var(--theme-dfb7b0);
background: var(--theme-fff1ee);
color: var(--theme-9f2d20);
}
.action-feedback.inline-notice.info {
border-color: var(--theme-c9d6e2);
background: var(--theme-f1f6fa);
color: var(--theme-42637f);
}
.action-feedback.inline-notice .action-feedback-main {
display: flex;
align-items: flex-start;
gap: 8px;
min-width: 0;
}
.action-feedback.inline-notice .action-feedback-icon {
flex-shrink: 0;
margin-top: 3px;
}
.action-feedback.inline-notice .action-feedback-text {
min-width: 0;
max-height: min(160px, 25vh);
overflow-y: auto;
overflow-x: hidden;
font-size: var(--font-size-body);
line-height: var(--line-height-body);
overflow-wrap: anywhere;
white-space: pre-wrap;
padding-right: 4px;
}
.action-feedback.inline-notice .action-feedback-text:focus-visible {
outline: 2px solid currentColor;
outline-offset: 2px;
}
.action-feedback.inline-notice .action-feedback-source {
font-weight: 700;
margin-right: 4px;
}
.action-feedback.inline-notice .action-feedback-message {
min-width: 0;
}
.action-feedback.inline-notice .action-feedback-dismiss {
display: grid;
place-items: center;
width: 24px;
height: 24px;
padding: 0;
border: 1px solid transparent;
border-radius: 4px;
background: transparent;
color: inherit;
cursor: pointer;
flex-shrink: 0;
margin-top: 1px;
}
.action-feedback.inline-notice .action-feedback-dismiss:hover {
border-color: currentColor;
background: rgba(0, 0, 0, 0.04);
}
:root[data-theme='dark'] .action-feedback.inline-notice .action-feedback-dismiss:hover {
background: rgba(255, 255, 255, 0.08);
}
.management-header {
display: flex;
align-items: end;
justify-content: space-between;
gap: 18px;
min-width: 0;
min-height: 54px;
}
.management-header > div {
min-width: 0;
}
.management-header span {
display: block;
margin-bottom: 5px;
overflow: hidden;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
font-weight: 800;
text-overflow: ellipsis;
text-transform: uppercase;
white-space: nowrap;
}
.management-header h1 {
margin: 0;
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-display);
line-height: var(--line-height-tight);
text-overflow: ellipsis;
white-space: nowrap;
}
.oauth-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr));
gap: 14px;
}
.oauth-browser-picker {
display: grid;
grid-template-columns: auto minmax(180px, 240px);
align-items: center;
justify-content: end;
gap: 5px 10px;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
font-weight: 700;
}
.oauth-browser-picker select {
width: 100%;
height: 38px;
padding: 0 34px 0 11px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-ffffff);
color: var(--theme-2d2a26);
}
.oauth-browser-picker small {
grid-column: 1 / -1;
font-size: var(--font-size-caption);
font-weight: 400;
text-align: right;
}
.oauth-card {
display: grid;
grid-template-rows: auto auto auto;
gap: 12px;
min-height: 0;
align-content: start;
}
.provider-title-row {
display: grid;
grid-template-columns: 42px minmax(0, 1fr);
align-items: center;
gap: 12px;
min-width: 0;
}
.provider-title-row > div {
min-width: 0;
}
.provider-title-row h2,
.management-panel-heading h2 {
margin: 0;
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-panel-title);
line-height: var(--line-height-tight);
text-overflow: ellipsis;
white-space: nowrap;
}
.provider-title-row span:not(.state-pill),
.management-panel-heading span {
display: block;
margin-top: 4px;
overflow: hidden;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
text-overflow: ellipsis;
white-space: nowrap;
}
.provider-logo {
width: 38px;
height: 38px;
flex: none;
object-fit: contain;
}
.oauth-card-body {
display: grid;
gap: 9px;
min-width: 0;
align-content: start;
}
.oauth-hint {
margin: 0;
color: var(--theme-7a746c);
font-size: var(--font-size-body);
line-height: var(--line-height-body);
}
.oauth-auth-url-box {
display: grid;
gap: 8px;
min-width: 0;
padding: 12px;
border: 1px solid var(--theme-e2ddd3);
border-radius: 8px;
background: var(--theme-f8f5ef);
}
.oauth-auth-url-label {
color: var(--theme-7a746c);
font-size: var(--font-size-label);
font-weight: 700;
}
.oauth-auth-url-value {
min-width: 0;
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
word-break: break-all;
}
.oauth-auth-url-actions,
.oauth-callback-block {
display: grid;
gap: 10px;
min-width: 0;
}
.oauth-auth-url-actions {
grid-template-columns: repeat(2, minmax(0, max-content));
}
.oauth-inline-status {
min-width: 0;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
}
.oauth-inline-status.success {
color: var(--theme-2f6b3a);
}
.oauth-inline-status.error {
color: var(--theme-a33b2b);
}
.spin {
animation: spin 0.9s linear infinite;
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.oauth-callback-row {
display: grid;
grid-template-columns: minmax(0, 1fr) 96px;
align-items: center;
gap: 10px;
min-width: 0;
}
.oauth-callback-row input,
.management-toolbar input,
.management-dialog input,
.auth-filter-grid input,
.auth-filter-grid select {
width: 100%;
min-width: 0;
height: 40px;
padding: 0 12px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-ffffff);
color: var(--theme-2d2a26);
}
.oauth-callback-row input:disabled {
cursor: not-allowed;
background: var(--theme-f4f1ea);
}
.management-dialog textarea {
width: 100%;
min-width: 0;
min-height: 78px;
resize: vertical;
padding: 9px 12px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-ffffff);
color: var(--theme-2d2a26);
font: inherit;
line-height: var(--line-height-body);
}
.management-dialog label.multiline-field {
grid-template-rows: 18px auto;
}
.oauth-callback-row > span {
min-width: 0;
overflow: hidden;
color: var(--theme-7a746c);
font-size: var(--font-size-body);
text-overflow: ellipsis;
white-space: nowrap;
}
.management-card-actions {
margin: 0;
}
.model-config-card {
display: grid;
gap: 10px;
min-width: 0;
padding: 12px;
border: 1px solid var(--theme-e2ddd3);
border-radius: 7px;
background: var(--theme-faf9f5);
}
.model-config-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
min-width: 0;
}
.model-config-heading > div {
display: grid;
gap: 3px;
min-width: 0;
}
.model-config-heading span {
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
font-weight: 700;
}
.model-config-heading small {
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
font-weight: 400;
}
.model-config-summary {
display: grid;
gap: 3px;
min-width: 0;
min-height: 48px;
align-content: center;
padding: 8px 10px;
border: 1px dashed var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-fffdf8);
}
.model-config-summary.has-models {
border-style: solid;
border-color: var(--theme-c9d8ca);
background: var(--theme-f2f7f2);
}
.model-config-summary strong,
.model-config-summary span {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.model-config-summary strong {
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
}
.model-config-summary span {
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
}
.model-config-entries {
display: grid;
gap: 6px;
}
.model-config-entry {
display: grid;
grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) auto;
align-items: center;
gap: 6px;
}
.model-config-entry input {
width: 100%;
min-width: 0;
}
.model-config-entry .icon-button {
width: 32px;
height: 32px;
}
.model-config-add {
justify-self: start;
}
.model-picker-error {
color: var(--theme-9f2d20);
font-size: var(--font-size-meta);
font-weight: 400;
}
.model-discovery-backdrop {
position: fixed;
inset: 0;
z-index: 90;
display: grid;
place-items: center;
padding: 24px;
background: rgba(45, 42, 38, 0.54);
backdrop-filter: blur(4px);
}
.model-discovery-dialog {
display: grid;
grid-template-rows: auto 38px auto minmax(190px, 1fr) 38px;
gap: 10px;
width: min(680px, 100%);
height: min(540px, calc(100vh - 32px));
min-height: 400px;
padding: 16px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 9px;
background: var(--theme-fffdf8);
box-shadow: 0 24px 64px rgba(45, 42, 38, 0.3);
}
.model-discovery-header,
.model-discovery-toolbar,
.model-discovery-actions {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
min-width: 0;
}
.model-discovery-header > div {
display: flex;
align-items: baseline;
gap: 8px;
min-width: 0;
}
.model-discovery-header h2 {
margin: 0;
color: var(--theme-2d2a26);
font-size: var(--font-size-dialog-title);
}
.model-discovery-header span,
.model-discovery-toolbar > span {
color: var(--theme-7a746c);
font-size: var(--font-size-label);
white-space: nowrap;
}
.model-discovery-search {
display: grid;
grid-template-columns: 18px minmax(0, 1fr) auto;
align-items: center;
gap: 8px;
min-width: 0;
padding: 0 8px 0 11px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 7px;
background: var(--theme-ffffff);
color: var(--theme-8a847c);
}
.model-discovery-search input {
width: 100%;
min-width: 0;
height: 38px;
padding: 0;
border: 0;
outline: 0;
background: transparent;
color: var(--theme-2d2a26);
}
.model-discovery-search .compact-button {
min-height: 30px;
}
.model-discovery-toolbar > div {
display: flex;
gap: 7px;
}
.model-discovery-content {
min-height: 0;
overflow: hidden;
border: 1px solid var(--theme-e2ddd3);
border-radius: 7px;
background: var(--theme-ffffff);
}
.model-discovery-list {
height: 100%;
overflow: auto;
}
.model-discovery-results {
display: grid;
grid-template-rows: auto minmax(0, 1fr);
height: 100%;
min-height: 0;
}
.model-discovery-inline-error {
display: grid;
gap: 2px;
padding: 8px 11px;
border-bottom: 1px solid var(--theme-dfb7b0);
background: var(--theme-fff1ee);
color: var(--theme-9f2d20);
font-size: var(--font-size-meta);
}
.model-discovery-inline-error span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.model-discovery-row {
display: grid;
grid-template-columns: 18px minmax(0, 1fr) 18px;
align-items: center;
gap: 10px;
min-height: 44px;
padding: 6px 11px;
border-bottom: 1px solid var(--theme-eeece6);
color: var(--theme-5f5a53);
cursor: pointer;
}
.model-discovery-row:last-child {
border-bottom: 0;
}
.model-discovery-row:hover,
.model-discovery-row.selected {
background: var(--theme-f4f2ec);
}
.model-discovery-row input {
width: 16px;
height: 16px;
margin: 0;
}
.model-discovery-row > span {
display: grid;
gap: 2px;
min-width: 0;
}
.model-discovery-row strong,
.model-discovery-row small {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.model-discovery-row strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
}
.model-discovery-row small {
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
font-weight: 400;
}
.model-discovery-row > svg {
color: var(--theme-2f6b3a);
}
.model-discovery-message {
display: grid;
height: 100%;
min-height: 190px;
place-content: center;
justify-items: center;
gap: 8px;
padding: 20px;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
text-align: center;
}
.model-discovery-message strong {
color: var(--theme-5f5a53);
font-size: var(--font-size-body);
}
.model-discovery-message.error,
.model-discovery-message.error strong {
color: var(--theme-9f2d20);
}
.model-discovery-actions {
justify-content: flex-end;
}
.model-discovery-actions button {
min-width: 112px;
}
.model-discovery-dialog.auth-model-dialog {
grid-template-rows: auto 38px auto minmax(0, 1fr) auto auto;
height: min(720px, calc(100vh - 32px));
min-height: 0;
}
.auth-model-dialog .model-discovery-header {
align-items: flex-start;
}
.auth-model-dialog .model-discovery-header > div {
display: grid;
gap: 5px;
flex: 1;
}
.auth-model-dialog .model-discovery-header span {
white-space: normal;
overflow-wrap: anywhere;
}
.auth-model-dialog .auth-model-target {
color: var(--theme-2d2a26);
font-weight: 600;
}
.auth-model-provider {
display: flex;
align-items: center;
gap: 8px;
}
.auth-model-provider select {
min-width: 0;
max-width: 100%;
padding: 5px 8px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 5px;
background: var(--theme-ffffff);
color: var(--theme-2d2a26);
}
.auth-model-rules {
display: grid;
gap: 5px;
min-width: 0;
font-size: var(--font-size-meta);
}
.auth-model-rules textarea {
width: 100%;
min-height: 64px;
max-height: 150px;
resize: vertical;
padding: 8px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 5px;
background: var(--theme-ffffff);
color: var(--theme-2d2a26);
font: inherit;
}
.auth-model-rules small {
color: var(--theme-7a746c);
line-height: 1.5;
}
.auth-model-dialog .model-discovery-row.rule-blocked {
background: var(--theme-f4f2ec);
cursor: not-allowed;
}
.model-discovery-dialog.auth-model-view-dialog {
grid-template-rows: auto 38px minmax(0, 1fr) auto;
height: min(620px, calc(100vh - 32px));
}
.auth-model-view-row {
grid-template-columns: minmax(0, 1fr) 18px;
width: 100%;
text-align: left;
border: 0;
border-radius: 0;
background: transparent;
color: inherit;
}
@media (max-height: 650px) {
.model-discovery-dialog.auth-model-dialog {
height: auto;
max-height: calc(100vh - 32px);
overflow: auto;
grid-template-rows: auto 38px auto minmax(140px, 1fr) auto auto;
}
.model-discovery-dialog.auth-model-view-dialog {
grid-template-rows: auto 38px minmax(140px, 1fr) auto;
}
}
.provider-health-dialog {
width: min(780px, 100%);
height: min(660px, calc(100vh - 32px));
}
.provider-health-overview {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
gap: 5px 14px;
min-width: 0;
padding: 9px 11px;
border: 1px solid var(--theme-dfbf91);
border-radius: 7px;
background: var(--theme-fff7e9);
}
.provider-health-overview p,
.provider-health-overview span,
.provider-health-overview small {
margin: 0;
font-size: var(--font-size-label);
line-height: var(--line-height-body);
}
.provider-health-overview p {
min-width: 0;
color: var(--theme-8b5b21);
}
.provider-health-overview span {
color: var(--theme-5f5a53);
font-variant-numeric: tabular-nums;
font-weight: 700;
white-space: nowrap;
}
.provider-health-overview small {
grid-column: 1 / -1;
min-width: 0;
overflow: hidden;
color: var(--theme-7a746c);
text-overflow: ellipsis;
white-space: nowrap;
}
.provider-health-overview small.error {
color: var(--theme-9f2d20);
}
.provider-health-model-list {
min-height: 0;
border: 1px solid var(--theme-e2ddd3);
border-radius: 7px;
background: var(--theme-ffffff);
}
.provider-health-model-row {
display: grid;
grid-template-columns: minmax(0, 1fr) auto 88px;
align-items: center;
gap: 10px;
min-height: 54px;
padding: 7px 10px;
border-bottom: 1px solid var(--theme-eeece6);
}
.provider-health-model-row:last-child {
border-bottom: 0;
}
.provider-health-model-row.failed {
background: var(--theme-fff1ee);
}
.provider-health-model-name {
display: grid;
gap: 3px;
min-width: 0;
}
.provider-health-model-name strong,
.provider-health-model-name small {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.provider-health-model-name strong {
color: var(--theme-2d2a26);
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
font-size: var(--font-size-label);
}
.provider-health-model-name small {
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
}
.provider-health-model-name small.error {
color: var(--theme-9f2d20);
}
.provider-health-model-row .provider-health-pill {
max-width: 180px;
overflow: hidden;
text-overflow: ellipsis;
}
.provider-health-single-button {
width: 88px;
min-width: 88px;
margin-top: 0;
}
.provider-health-actions .primary-button {
min-width: 150px;
}
.management-card-actions button,
.management-heading-actions button {
gap: 7px;
}
.provider-workbench {
display: grid;
grid-template-columns: 270px minmax(0, 1fr);
align-items: start;
gap: 14px;
}
.provider-category-panel {
display: grid;
gap: 8px;
height: 520px;
overflow: hidden;
}
.provider-category-panel button {
display: grid;
grid-template-columns: 30px minmax(0, 1fr) minmax(24px, auto);
align-items: center;
gap: 8px;
height: 54px;
min-width: 0;
padding: 0 8px;
border: 1px solid transparent;
border-radius: 7px;
background: transparent;
color: var(--theme-2d2a26);
}
.provider-category-panel button:hover {
background: var(--theme-f4f1ea);
}
.provider-category-panel button.active {
border-color: var(--theme-d5d2cb);
background: var(--theme-f0eee8);
}
.provider-category-panel .provider-logo {
width: 30px;
height: 30px;
}
.provider-category-panel span,
.provider-category-panel strong {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.provider-category-panel span {
line-height: var(--line-height-tight);
overflow-wrap: anywhere;
text-align: left;
font-weight: 700;
text-overflow: clip;
white-space: normal;
}
.provider-category-panel strong {
color: var(--theme-7a746c);
font-size: var(--font-size-label);
text-align: right;
}
.provider-resource-panel {
display: grid;
grid-template-rows: 52px 42px minmax(0, 1fr);
gap: 14px;
height: 520px;
}
.management-panel-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px;
min-width: 0;
}
.management-panel-heading > div {
min-width: 0;
}
.management-heading-actions {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 8px;
flex: none;
}
.management-toolbar {
display: grid;
grid-template-columns: 18px minmax(0, 1fr);
align-items: center;
gap: 9px;
min-width: 0;
padding: 0 12px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 7px;
background: var(--theme-ffffff);
}
.management-toolbar input {
height: 38px;
padding: 0;
border: 0;
}
.resource-table {
min-height: 0;
overflow: auto;
border-top: 1px solid var(--theme-e3e1db);
border-bottom: 1px solid var(--theme-e3e1db);
scrollbar-gutter: stable;
}
.resource-row {
display: grid;
grid-template-columns: minmax(150px, 1fr) minmax(108px, 0.8fr) minmax(170px, 1fr) 48px 74px;
align-items: center;
gap: 12px;
min-height: 64px;
padding: 0 4px 0 0;
border-bottom: 1px solid var(--theme-eeece6);
}
.resource-row:last-child {
border-bottom: 0;
}
.resource-main {
display: grid;
gap: 4px;
min-width: 0;
}
.resource-main strong,
.resource-main span,
.resource-row code,
.resource-models,
.resource-priority {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.resource-main strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-section);
}
.resource-main span,
.resource-models,
.resource-priority {
color: var(--theme-7a746c);
font-size: var(--font-size-label);
}
.resource-row code {
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
}
.resource-priority {
text-align: right;
font-variant-numeric: tabular-nums;
font-weight: 700;
}
.resource-row .state-pill {
width: 70px;
}
.management-empty {
display: grid;
height: 100%;
min-height: 220px;
place-content: center;
justify-items: center;
gap: 10px;
color: var(--theme-7a746c);
}
.management-empty strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-section);
}
.management-dialog {
display: grid;
grid-template-rows: 40px repeat(3, 64px) 40px;
gap: 14px;
width: min(460px, 100%);
height: 358px;
padding: 22px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 8px;
background: var(--theme-fffdf8);
box-shadow: 0 18px 48px rgba(45, 42, 38, 0.24);
}
.management-dialog label,
.auth-filter-grid label {
display: grid;
grid-template-rows: 18px 40px;
gap: 6px;
min-width: 0;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
font-weight: 700;
}
.auth-files-panel {
display: grid;
grid-template-rows: 42px 64px minmax(0, 1fr);
gap: 14px;
height: 610px;
}
.auth-filter-grid {
display: grid;
grid-template-columns: 160px 150px minmax(0, 1fr);
gap: 12px;
min-width: 0;
}
.auth-file-list {
min-height: 0;
overflow: auto;
border-top: 1px solid var(--theme-e3e1db);
border-bottom: 1px solid var(--theme-e3e1db);
scrollbar-gutter: stable;
}
.auth-file-row {
display: grid;
grid-template-columns: 42px minmax(150px, 1.2fr) minmax(130px, 1fr) 48px 74px 34px;
align-items: center;
gap: 12px;
min-height: 68px;
padding: 0 4px 0 0;
border-bottom: 1px solid var(--theme-eeece6);
}
.auth-file-row:last-child {
border-bottom: 0;
}
.auth-file-row > span:not(.state-pill) {
min-width: 0;
overflow: hidden;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
text-overflow: ellipsis;
white-space: nowrap;
}
.muted-summary {
color: var(--theme-7a746c);
font-size: var(--font-size-label);
white-space: nowrap;
}
.management-alert {
display: flex;
align-items: center;
min-height: 38px;
padding: 0 12px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 7px;
background: var(--theme-fffdf8);
color: var(--theme-5f5a53);
font-size: var(--font-size-body);
}
.management-alert.error {
border-color: var(--theme-dfb7b0);
background: var(--theme-fff1ee);
color: var(--theme-9f2d20);
}
.management-alert.success {
border-color: var(--theme-b8d1bb);
background: var(--theme-f1f8f1);
color: var(--theme-2f6b3f);
}
.action-feedback.inline-notice.api-access-page-notice {
position: fixed;
right: 24px;
bottom: 24px;
z-index: 80;
width: min(360px, calc(100vw - 32px));
margin: 0;
box-shadow: 0 14px 34px rgba(45, 42, 38, 0.18);
}
.real-provider-workbench {
grid-template-columns: 240px minmax(0, 1fr);
}
.real-provider-workbench .provider-category-panel {
height: auto;
min-height: 0;
}
.real-provider-workbench .provider-resource-panel {
display: block;
height: auto;
min-height: 500px;
}
.compact-toolbar {
width: min(320px, 42%);
min-height: 38px;
}
.real-provider-list {
margin-top: 16px;
border-top: 1px solid var(--theme-e3e1db);
}
.real-provider-row {
display: grid;
grid-template-columns: 32px minmax(280px, 1.6fr) minmax(120px, 0.5fr) max-content;
align-items: start;
gap: 16px;
min-height: 88px;
padding: 14px 0;
border-bottom: 1px solid var(--theme-eeece6);
transition: background 180ms ease, box-shadow 180ms ease, opacity 160ms ease;
}
.real-provider-row.dragging {
border-radius: 10px;
background: var(--theme-faf9f5);
box-shadow: 0 10px 28px rgb(45 42 38 / 14%);
opacity: 0.96;
}
.real-provider-row.drag-over {
background: color-mix(in srgb, var(--theme-f4f1ea) 65%, transparent);
}
.provider-drag-handle {
margin-top: -2px;
cursor: grab;
color: var(--theme-9b958c);
touch-action: none;
}
.provider-drag-handle:hover {
color: var(--theme-2d2a26);
}
.provider-drag-handle:active {
cursor: grabbing;
}
@media (prefers-reduced-motion: reduce) {
.real-provider-row {
transition: none;
}
}
.provider-row-main,
.provider-row-title,
.provider-row-meta,
.provider-row-actions,
.auth-file-main,
.auth-file-title,
.auth-file-meta,
.auth-file-actions {
display: flex;
align-items: center;
min-width: 0;
}
.provider-row-main {
display: grid;
gap: 5px;
}
.provider-row-main > span,
.provider-row-main > code,
.provider-row-meta span {
min-width: 0;
overflow: hidden;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
text-overflow: ellipsis;
white-space: nowrap;
}
.provider-row-main > code {
color: var(--theme-2d2a26);
}
.provider-row-main > .provider-row-url,
.provider-row-main > .provider-row-models {
overflow: visible;
line-height: var(--line-height-body);
overflow-wrap: anywhere;
text-overflow: clip;
white-space: normal;
}
.provider-row-title {
align-items: flex-start;
gap: 8px;
}
.provider-row-title strong,
.auth-file-title strong {
min-width: 0;
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-section);
text-overflow: ellipsis;
white-space: nowrap;
}
.provider-row-title strong {
line-height: var(--line-height-body);
overflow-wrap: anywhere;
text-overflow: clip;
white-space: normal;
}
.provider-row-title .state-pill {
flex: none;
}
.provider-health-pill {
min-height: 24px;
padding: 0 8px;
font-size: var(--font-size-meta);
}
.provider-health-pill.checking {
border-color: var(--theme-d5d2cb);
background: var(--theme-f4f1ea);
color: var(--theme-5f5a53);
}
.provider-row-meta {
align-items: flex-end;
flex-direction: column;
justify-content: flex-end;
gap: 6px;
padding-top: 2px;
}
.provider-row-actions,
.auth-file-actions {
justify-content: flex-end;
gap: 7px;
}
.provider-row-actions .provider-health-button {
min-width: max-content;
width: auto;
flex: 0 0 auto;
min-height: 30px;
overflow: visible;
padding: 0 10px;
font-size: var(--font-size-label);
text-overflow: clip;
white-space: nowrap;
}
.provider-enabled-control {
display: flex;
min-width: 108px;
align-items: center;
justify-content: flex-end;
gap: 8px;
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
white-space: nowrap;
}
.provider-enabled-control .switch-control {
display: inline-block;
flex: none;
}
.management-loading {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
min-height: 240px;
color: var(--theme-7a746c);
}
.real-provider-workbench .management-empty {
min-height: 360px;
}
.real-provider-workbench + .config-dialog-backdrop .management-dialog {
grid-template-rows: auto repeat(5, minmax(52px, auto)) auto;
height: auto;
max-height: min(720px, calc(100vh - 48px));
overflow: auto;
}
.real-provider-workbench + .config-dialog-backdrop .api-provider-dialog {
grid-template-rows: auto;
grid-auto-rows: auto;
width: min(560px, 100%);
gap: 10px;
padding: 16px 18px;
scrollbar-gutter: stable;
}
.api-provider-dialog .config-dialog-heading {
position: sticky;
z-index: 3;
top: -16px;
margin: -16px -18px 0;
padding: 14px 18px 10px;
border-bottom: 1px solid var(--theme-e8e4dc);
background: var(--theme-fffdf8);
}
.api-provider-dialog .config-dialog-actions {
position: sticky;
z-index: 3;
bottom: -16px;
margin: 0 -18px -16px;
padding: 10px 18px 16px;
border-top: 1px solid var(--theme-e8e4dc);
background: var(--theme-fffdf8);
}
.api-provider-dialog label {
grid-template-rows: 16px 36px;
gap: 4px;
}
.api-provider-dialog input {
height: 36px;
}
.api-provider-dialog textarea {
min-height: 64px;
padding-block: 7px;
}
.api-provider-dialog .model-config-card,
.api-provider-dialog .thinking-level-config {
gap: 7px;
padding: 9px 10px;
}
.api-provider-dialog .model-config-summary {
min-height: 42px;
}
.provider-preset-summary {
display: grid;
grid-template-columns: 34px minmax(0, 1fr);
align-items: center;
gap: 10px;
min-height: 52px;
padding: 9px 11px;
border: 1px solid var(--theme-dce2fb);
border-radius: 7px;
background: var(--theme-f5f7ff);
}
.provider-preset-summary .provider-logo {
width: 30px;
height: 30px;
}
.provider-preset-summary > div {
display: grid;
min-width: 0;
gap: 3px;
}
.provider-preset-summary strong {
color: var(--theme-344ca1);
font-size: var(--font-size-label);
}
.provider-preset-summary span {
color: var(--theme-66709a);
font-size: var(--font-size-meta);
overflow-wrap: anywhere;
}
.thinking-level-config {
display: grid;
gap: 9px;
padding: 11px 12px;
border: 1px solid var(--theme-e2ddd3);
border-radius: 7px;
background: var(--theme-faf9f5);
}
.thinking-level-heading {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 10px;
}
.thinking-level-heading strong {
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
}
.thinking-level-heading span {
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
}
.thinking-level-entry {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 7px;
}
.thinking-level-entry input {
width: 100%;
min-width: 0;
height: 36px;
padding: 0 10px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-fff);
color: var(--theme-2d2a26);
}
.thinking-level-tags {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 6px;
}
.thinking-level-tags > span {
display: inline-flex;
min-height: 28px;
align-items: center;
gap: 5px;
padding: 0 7px 0 9px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 999px;
background: var(--theme-fffdf8);
color: var(--theme-6d6760);
font-size: var(--font-size-meta);
font-weight: 700;
}
.thinking-level-tags.readonly > span {
padding-right: 9px;
border-color: var(--theme-9ca9df);
background: var(--theme-eef1ff);
color: var(--theme-344ca1);
}
.thinking-level-tags button {
display: inline-flex;
width: 20px;
height: 20px;
align-items: center;
justify-content: center;
padding: 0;
border: 0;
border-radius: 999px;
background: transparent;
color: var(--theme-8a847c);
}
.thinking-level-tags button:hover {
background: var(--theme-eeece6);
color: var(--theme-2d2a26);
}
.thinking-level-empty {
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
}
.provider-advanced-settings {
border: 1px solid var(--theme-e2ddd3);
border-radius: 7px;
background: var(--theme-faf9f5);
}
.provider-advanced-settings > summary {
padding: 11px 12px;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
font-weight: 700;
cursor: pointer;
}
.provider-advanced-fields {
display: grid;
gap: 14px;
padding: 4px 12px 14px;
border-top: 1px solid var(--theme-e8e4dc);
}
.provider-advanced-toggle {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
min-height: 48px;
}
.provider-advanced-toggle > div {
display: grid;
gap: 3px;
min-width: 0;
}
.provider-advanced-toggle strong {
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
}
.provider-advanced-toggle > div > span {
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
}
.provider-advanced-toggle .switch-control {
display: inline-block;
flex: 0 0 auto;
}
.provider-cloak-settings {
display: grid;
gap: 14px;
padding: 12px;
border: 1px dashed var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-fffdf8);
}
.provider-cloak-settings select {
width: 100%;
min-width: 0;
height: 40px;
padding: 0 10px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-ffffff);
color: var(--theme-2d2a26);
}
.thinking-alias-page {
grid-template-rows: auto;
gap: 12px;
}
.thinking-alias-feedback {
min-height: 0;
overflow: hidden;
}
.thinking-alias-feedback:empty {
display: none;
}
.thinking-alias-feedback .management-alert {
min-height: 42px;
}
.thinking-alias-workbench {
display: grid;
grid-template-columns: minmax(min(480px, 100%), 1.4fr) minmax(min(320px, 100%), 0.6fr);
gap: 16px;
align-items: stretch;
}
.thinking-alias-editor-panel,
.thinking-alias-list-panel {
height: clamp(600px, calc(100vh - 250px), 720px);
min-height: 600px;
}
.thinking-alias-editor-panel {
position: relative;
z-index: 2;
display: flex;
flex-direction: column;
gap: 12px;
padding: 16px;
overflow: visible;
}
.management-dialog.thinking-alias-dialog {
display: grid;
grid-template-rows: auto minmax(0, 1fr) auto;
width: min(640px, calc(100vw - 32px));
height: auto;
min-height: 0;
max-height: min(780px, calc(100vh - 40px));
padding: 0;
gap: 0;
overflow: hidden;
border-radius: 12px;
}
.thinking-alias-dialog .thinking-alias-panel-heading {
padding: 18px 20px 16px;
}
.thinking-alias-dialog .thinking-alias-panel-heading > div {
flex: 1;
}
.thinking-alias-dialog .thinking-alias-panel-heading > .icon-button {
margin-left: auto;
}
.thinking-alias-dialog-body {
display: grid;
grid-auto-rows: max-content;
align-content: start;
gap: 18px;
min-height: 0;
padding: 18px 20px;
overflow-y: auto;
scrollbar-gutter: stable;
}
.thinking-alias-dialog .thinking-alias-field > label {
display: block;
height: auto;
grid-template-rows: none;
}
.thinking-alias-dialog .thinking-field-heading > strong {
flex: none;
}
.thinking-alias-dialog .thinking-field-heading {
display: grid;
justify-content: stretch;
gap: 3px;
}
.thinking-alias-dialog .thinking-field-heading > span {
min-width: 0;
line-height: var(--line-height-body);
text-overflow: initial;
white-space: normal;
}
.thinking-alias-dialog .thinking-alias-field > .thinking-fast-option {
display: flex;
grid-template-rows: none;
}
.thinking-alias-dialog-actions {
display: flex;
gap: 10px;
padding: 14px 20px 18px;
border-top: 1px solid var(--theme-e3e1db);
background: var(--theme-fffdf8);
}
.thinking-alias-dialog-actions > button {
width: auto;
flex: 1;
}
.thinking-alias-dialog-actions .thinking-alias-create {
margin-top: 0;
}
.thinking-alias-section-divider {
height: 1px;
flex: none;
margin: 2px 0;
background: var(--theme-e3e1db);
}
.thinking-alias-panel-heading {
display: flex;
align-items: center;
gap: 11px;
padding-bottom: 11px;
border-bottom: 1px solid var(--theme-e3e1db);
}
.thinking-alias-panel-heading > span {
display: grid;
width: 38px;
height: 38px;
flex: none;
place-items: center;
border: 1px solid var(--theme-d8d1eb);
border-radius: 8px;
background: var(--theme-f5f1ff);
color: var(--theme-654f91);
}
.thinking-alias-panel-heading > div {
display: grid;
min-width: 0;
gap: 3px;
}
.thinking-alias-panel-heading h2,
.thinking-alias-list-heading h2 {
margin: 0;
color: var(--theme-2d2a26);
font-size: var(--font-size-dialog-title);
}
.thinking-alias-panel-heading p,
.thinking-alias-list-heading span {
margin: 0;
color: var(--theme-8a847c);
font-size: var(--font-size-section);
line-height: var(--line-height-body);
}
.thinking-alias-field {
display: grid;
min-height: 0;
gap: 6px;
}
.thinking-model-field {
position: relative;
z-index: 10;
}
.thinking-alias-field > label {
color: var(--theme-6f6961);
font-size: var(--font-size-section);
font-weight: 700;
}
.thinking-field-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.thinking-field-heading strong {
color: var(--theme-6f6961);
font-size: var(--font-size-section);
}
.thinking-field-heading span {
overflow: hidden;
color: var(--theme-918a81);
font-size: var(--font-size-body);
text-overflow: ellipsis;
white-space: nowrap;
}
.thinking-model-picker {
position: relative;
min-width: 0;
}
.thinking-model-search {
display: flex;
align-items: center;
gap: 7px;
height: 36px;
padding: 0 10px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-fff);
color: var(--theme-8a847c);
}
.thinking-model-search input {
flex: 1;
min-width: 0;
height: 34px;
padding: 0;
border: 0;
outline: 0;
background: transparent;
color: var(--theme-2d2a26);
font-size: var(--font-size-section);
}
.thinking-source-kind {
max-width: 105px;
overflow: hidden;
padding: 3px 6px;
border: 1px solid var(--theme-d8d1eb);
border-radius: 999px;
background: var(--theme-f5f1ff);
color: var(--theme-654f91);
font-size: var(--font-size-meta);
font-weight: 800;
text-overflow: ellipsis;
white-space: nowrap;
}
.thinking-model-list {
position: absolute;
z-index: 40;
top: calc(100% + 6px);
right: 0;
left: 0;
max-height: 270px;
overflow-y: auto;
border: 1px solid var(--theme-e5e1d9);
border-radius: 7px;
background: var(--theme-fff);
box-shadow: 0 12px 28px rgba(45, 42, 38, 0.16);
}
.thinking-model-list > button {
display: grid;
grid-template-columns: minmax(0, 1fr) 16px;
align-items: center;
gap: 8px;
width: 100%;
min-height: 43px;
padding: 7px 10px;
border: 0;
border-bottom: 1px solid var(--theme-eeeae2);
background: transparent;
color: var(--theme-2d2a26);
text-align: left;
}
.thinking-model-list > button:last-child {
border-bottom: 0;
}
.thinking-model-list > button:hover,
.thinking-model-list > button.active {
background: var(--theme-f2efe8);
}
.thinking-model-list > button.selected {
background: var(--theme-f7f3ff);
}
.thinking-model-option-copy {
display: grid;
min-width: 0;
gap: 5px;
}
.thinking-model-option-copy > span:first-child {
display: flex;
min-width: 0;
align-items: baseline;
gap: 7px;
}
.thinking-model-option-copy strong,
.thinking-model-option-copy small {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.thinking-model-option-copy strong {
font-size: var(--font-size-section);
}
.thinking-model-option-copy > span:first-child small {
color: var(--theme-8a847c);
font-size: var(--font-size-body);
}
.thinking-model-source {
display: flex;
min-width: 0;
align-items: center;
gap: 5px;
}
.thinking-model-source em {
flex: none;
padding: 2px 5px;
border-radius: 4px;
background: var(--theme-eeece6);
color: var(--theme-5f5a53);
font-size: var(--font-size-meta);
font-style: normal;
font-weight: 800;
}
.thinking-model-source small {
color: var(--theme-8a847c);
font-size: var(--font-size-body);
}
.thinking-model-list > button > svg {
color: var(--theme-2f6b3f);
}
.thinking-model-empty {
display: flex;
min-height: 82px;
align-items: center;
justify-content: center;
gap: 7px;
color: var(--theme-8a847c);
font-size: var(--font-size-body);
}
.thinking-model-selection {
display: flex;
min-width: 0;
align-items: center;
gap: 6px;
color: var(--theme-777067);
font-size: var(--font-size-body);
}
.thinking-model-selection > span {
flex: none;
padding: 2px 5px;
border-radius: 4px;
background: var(--theme-eeece6);
color: var(--theme-5f5a53);
font-weight: 800;
}
.thinking-model-selection strong {
min-width: 0;
overflow: hidden;
font-weight: 500;
text-overflow: ellipsis;
white-space: nowrap;
}
.thinking-model-hint {
color: var(--theme-918a81);
font-size: var(--font-size-body);
line-height: var(--line-height-body);
}
.thinking-effort-options {
display: grid;
grid-template-columns: repeat(7, minmax(0, 1fr));
gap: 4px;
}
.thinking-effort-options button {
height: 34px;
padding: 0 4px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-fff);
color: var(--theme-7a746c);
font-size: var(--font-size-body);
font-weight: 700;
}
.thinking-effort-options button.active {
border-color: var(--theme-8069ad);
background: var(--theme-f1ecfb);
color: var(--theme-554075);
}
.thinking-effort-options button:disabled {
cursor: not-allowed;
opacity: 0.45;
}
.thinking-fast-option {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
width: 100%;
min-height: 48px;
padding: 8px 10px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 7px;
background: var(--theme-fff);
color: var(--theme-7a746c);
cursor: pointer;
transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}
.thinking-fast-option:hover {
border-color: var(--theme-d7a447);
}
.thinking-fast-option.active {
border-color: var(--theme-d7a447);
background: var(--theme-fff8eb);
color: var(--theme-805a24);
}
.thinking-fast-option-copy {
display: grid;
min-width: 0;
gap: 2px;
}
.thinking-fast-option-copy > span {
display: inline-flex;
align-items: center;
gap: 5px;
font-size: var(--font-size-section);
font-weight: 800;
}
.thinking-fast-option-copy small {
color: var(--theme-9a938a);
font-size: var(--font-size-label);
}
.thinking-fast-option.active .thinking-fast-option-copy small {
color: var(--theme-805a24);
}
.thinking-fast-option:has(input:disabled) {
cursor: not-allowed;
opacity: 0.55;
}
.thinking-fast-switch {
width: 42px;
height: 23px;
}
.thinking-fast-switch input:checked + .switch-track {
border-color: var(--theme-d7a447);
background: var(--theme-d7a447);
}
.thinking-alias-input {
width: 100%;
height: 36px;
padding: 0 10px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
outline: 0;
background: var(--theme-fff);
color: var(--theme-2d2a26);
font-size: var(--font-size-section);
}
.thinking-alias-input:focus,
.thinking-model-search:focus-within {
border-color: var(--theme-9d8abd);
box-shadow: 0 0 0 2px rgba(128, 105, 173, 0.12);
}
.thinking-alias-preview {
display: grid;
grid-template-columns: 22px minmax(0, 1fr);
align-items: center;
gap: 9px;
min-height: 56px;
padding: 9px 11px;
border: 1px solid var(--theme-d8d1eb);
border-radius: 7px;
background: var(--theme-f8f5ff);
color: var(--theme-654f91);
}
.thinking-alias-preview > div {
display: grid;
min-width: 0;
gap: 4px;
}
.thinking-alias-preview span {
display: flex;
min-width: 0;
align-items: center;
gap: 5px;
overflow: hidden;
color: var(--theme-3f3550);
font-size: var(--font-size-section);
font-weight: 700;
text-overflow: ellipsis;
white-space: nowrap;
}
.thinking-alias-preview code {
color: var(--theme-8069ad);
font-size: var(--font-size-body);
}
.thinking-alias-create {
width: 100%;
margin-top: auto;
}
.thinking-alias-list-panel {
display: grid;
grid-template-rows: minmax(0, 1fr);
padding: 16px;
}
.thinking-alias-list-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding-bottom: 11px;
border-bottom: 1px solid var(--theme-e3e1db);
}
.thinking-alias-list-heading > div {
display: grid;
min-width: 0;
gap: 3px;
}
.thinking-alias-list-heading > strong {
display: grid;
min-width: 32px;
height: 26px;
place-items: center;
border-radius: 999px;
background: var(--theme-eeece6);
color: var(--theme-5f5a53);
font-size: var(--font-size-body);
}
.thinking-alias-list {
min-height: 0;
overflow-y: auto;
}
.thinking-alias-row {
display: grid;
grid-template-columns: minmax(0, 1fr) auto 34px;
align-items: center;
gap: 10px;
min-height: 66px;
padding: 9px 7px 9px 10px;
border-bottom: 1px solid var(--theme-eeeae2);
}
.thinking-alias-row:last-child {
border-bottom: 0;
}
.thinking-alias-route {
display: grid;
grid-template-columns: minmax(80px, 1fr) 16px minmax(100px, 1fr);
align-items: center;
gap: 7px;
min-width: 0;
}
.thinking-alias-route span,
.thinking-alias-route strong {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.thinking-alias-route-source > span {
color: var(--theme-7a746c);
font-size: var(--font-size-section);
}
.thinking-alias-route-source {
display: grid;
min-width: 0;
gap: 3px;
}
.thinking-alias-route-source > small {
display: flex;
min-width: 0;
align-items: center;
gap: 4px;
}
.thinking-alias-route-source > small em {
flex: none;
padding: 1px 4px;
border-radius: 3px;
background: var(--theme-eeece6);
color: var(--theme-6f6961);
font-size: var(--font-size-caption);
font-style: normal;
font-weight: 800;
}
.thinking-alias-route-source > small span {
color: var(--theme-9a938a);
font-size: var(--font-size-label);
}
.thinking-alias-route strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-section);
}
.thinking-alias-route svg {
color: var(--theme-aaa49b);
}
.thinking-effort-badge {
min-width: 52px;
padding: 5px 8px;
border: 1px solid var(--theme-d8d1eb);
border-radius: 999px;
background: var(--theme-f5f1ff);
color: var(--theme-654f91);
font-size: var(--font-size-label);
font-weight: 800;
text-align: center;
text-transform: uppercase;
}
.thinking-alias-badges {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 5px;
}
.thinking-effort-badge.missing {
border-color: var(--theme-e4d0af);
background: var(--theme-fff8eb);
color: var(--theme-805a24);
text-transform: none;
}
.thinking-effort-badge.fast {
border-color: var(--theme-d7a447);
background: var(--theme-fff8eb);
color: var(--theme-805a24);
}
.agent-workbench {
display: grid;
grid-template-columns: 230px minmax(0, 1fr);
gap: 16px;
align-items: start;
}
.agent-client-list {
min-height: 960px;
}
.agent-config-panel {
min-height: 0;
}
.agents-page {
grid-template-rows: minmax(54px, auto) auto;
gap: 14px;
}
.agents-page-embedded .agent-client-list {
min-height: 0;
}
.agent-header-actions {
display: flex;
min-width: 0;
align-items: center;
justify-content: flex-end;
gap: 10px;
}
.agent-header-actions .agent-inline-message {
max-width: 360px;
text-align: right;
}
.agent-header-actions .compact-button {
flex: none;
}
.agent-inline-message {
display: block;
min-width: 0;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
overflow-wrap: anywhere;
}
.agent-inline-message.error,
.agent-model-hint.error {
color: var(--theme-9f2d20);
}
.agent-inline-message.warning {
color: var(--theme-805a24);
}
.agent-client-list {
display: grid;
align-content: start;
gap: 14px;
padding: 14px;
}
.agent-list-heading {
display: flex;
align-items: center;
gap: 9px;
min-height: 42px;
padding: 0 6px 11px;
border-bottom: 1px solid var(--theme-e3e1db);
}
.agent-list-heading > div,
.agent-list-items button > span {
display: grid;
min-width: 0;
gap: 3px;
}
.agent-list-heading strong,
.agent-list-items strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-section);
}
.agent-list-heading span,
.agent-list-items small {
overflow: hidden;
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
text-overflow: ellipsis;
white-space: nowrap;
}
.agent-list-items {
display: grid;
gap: 6px;
}
.agent-list-items button {
display: grid;
grid-template-columns: 28px minmax(0, 1fr) 8px;
align-items: center;
gap: 9px;
width: 100%;
min-height: 58px;
padding: 8px 9px;
border: 1px solid transparent;
border-radius: 7px;
background: transparent;
color: var(--theme-2d2a26);
text-align: left;
}
.agent-list-items button:hover {
background: var(--theme-f4f1ea);
}
.agent-list-items button.active {
border-color: var(--theme-d5d2cb);
background: var(--theme-eeece6);
}
.agent-list-items .provider-logo {
width: 26px;
height: 26px;
}
.agent-client-icon {
display: grid;
width: 28px;
height: 28px;
place-items: center;
color: var(--theme-5f5a53);
}
.agent-client-icon .provider-logo {
object-fit: contain;
}
.agent-installed-indicator {
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--theme-5d9a6c);
}
.agent-config-panel {
display: grid;
grid-template-rows: auto auto;
align-content: start;
gap: 14px;
container-type: inline-size;
container-name: agent-panel;
}
.agent-subpage-tabs {
display: inline-grid;
grid-auto-flow: column;
justify-self: start;
max-width: 100%;
gap: 3px;
padding: 3px;
overflow-x: auto;
border: 1px solid var(--theme-d5d2cb);
border-radius: 8px;
background: var(--theme-eeece6);
}
.agent-subpage-tabs button {
display: inline-flex;
min-width: 104px;
height: 34px;
align-items: center;
justify-content: center;
padding: 0 12px;
border: 0;
border-radius: 6px;
background: transparent;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
font-weight: 700;
white-space: nowrap;
}
.agent-subpage-tabs button:hover,
.agent-subpage-tabs button.active {
background: var(--theme-fffdf8);
color: var(--theme-2d2a26);
}
.agent-subpage-tabs button.active {
box-shadow: 0 1px 4px rgba(45, 42, 38, 0.14);
}
.oauth-management-page,
.oauth-subpage-panel {
display: grid;
min-width: 0;
gap: 18px;
}
.agent-core-config {
display: grid;
min-width: 0;
align-content: start;
gap: 14px;
}
.agent-sessions-page {
display: grid;
min-width: 0;
min-height: 360px;
align-content: start;
}
.codex-sessions-page {
display: grid;
min-width: 0;
align-content: start;
gap: 12px;
}
.codex-session-overview,
.codex-session-list-section {
display: grid;
min-width: 0;
gap: 12px;
padding: 16px;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-faf9f5);
}
.codex-session-overview-head,
.codex-session-list-head {
display: flex;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 14px;
}
.codex-session-overview-head > div,
.codex-session-list-head > div:first-child {
display: grid;
min-width: 0;
gap: 4px;
}
.codex-session-overview-head strong,
.codex-session-list-head strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-section);
}
.codex-session-overview-head span,
.codex-session-list-head > div:first-child > span {
color: var(--theme-8a847c);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
}
.codex-session-overview-head .compact-button,
.codex-session-selection-actions .compact-button,
.codex-session-repair-actions .compact-button,
.codex-session-delete-button {
min-height: 32px;
margin-top: 0;
padding: 0 10px;
font-size: var(--font-size-label);
}
.codex-session-metrics {
display: grid;
grid-template-columns: repeat(3, minmax(74px, 0.55fr)) minmax(150px, 2fr);
gap: 8px;
}
.codex-session-metrics > div {
display: grid;
min-width: 0;
gap: 5px;
padding: 10px 11px;
border: 1px solid var(--theme-e3e1db);
border-radius: 7px;
background: var(--theme-fffdf8);
}
.codex-session-metrics span {
display: flex;
min-width: 0;
align-items: center;
gap: 5px;
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
}
.codex-session-metrics strong {
min-width: 0;
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-dialog-title);
text-overflow: ellipsis;
white-space: nowrap;
}
.codex-session-database-metric strong {
direction: rtl;
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
font-size: var(--font-size-meta);
text-align: left;
}
.codex-session-repair-panel {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
gap: 12px 18px;
padding: 12px;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-fffdf8);
}
.codex-session-repair-copy,
.codex-session-repair-actions,
.codex-session-selection-actions,
.codex-session-notice,
.codex-session-pagination {
display: flex;
align-items: center;
}
.codex-session-repair-copy {
min-width: 0;
gap: 9px;
color: var(--theme-5f5a53);
}
.codex-session-repair-copy > div {
display: grid;
min-width: 0;
gap: 3px;
}
.codex-session-repair-copy strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-body);
}
.codex-session-repair-copy span {
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
line-height: var(--line-height-body);
}
.codex-session-repair-actions {
flex: none;
gap: 10px;
}
.codex-session-repair-progress {
display: grid;
grid-column: 1 / -1;
gap: 6px;
}
.codex-session-repair-progress > div:first-child {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
}
.codex-session-progress-track {
height: 5px;
overflow: hidden;
border-radius: 999px;
background: var(--theme-dce8df);
}
.codex-session-progress-track i {
display: block;
height: 100%;
border-radius: inherit;
background: var(--theme-4f825c);
transition: width 0.2s ease;
}
.codex-session-notice {
min-width: 0;
align-items: flex-start;
gap: 8px;
padding: 10px 11px;
border: 1px solid var(--theme-b6d3bd);
border-radius: 7px;
background: var(--theme-eef7f0);
color: var(--theme-2f6b3f);
font-size: var(--font-size-meta);
line-height: var(--line-height-body);
}
.codex-session-notice.warning {
border-color: var(--theme-dfbf91);
background: var(--theme-fff7e9);
color: var(--theme-8b5b21);
}
.codex-session-notice.error {
border-color: var(--theme-dfb7b0);
background: var(--theme-fff1ee);
color: var(--theme-9f2d20);
}
.codex-session-notice > svg {
flex: none;
margin-top: 1px;
}
.codex-session-notice > span {
min-width: 0;
flex: 1;
overflow-wrap: anywhere;
white-space: pre-wrap;
}
.codex-session-notice > button,
.codex-session-dialog-close {
display: grid;
width: 24px;
height: 24px;
flex: none;
place-items: center;
padding: 0;
border: 0;
border-radius: 5px;
background: transparent;
color: currentColor;
}
.codex-session-notice > button:hover,
.codex-session-dialog-close:hover {
background: rgba(45, 42, 38, 0.08);
}
.codex-session-list-section {
background: var(--theme-fffdf8);
}
.codex-session-selection-actions {
min-width: 0;
justify-content: flex-end;
gap: 6px;
flex-wrap: wrap;
}
.codex-session-selection-actions > span {
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
white-space: nowrap;
}
.codex-session-list {
display: grid;
min-width: 0;
overflow: hidden;
border: 1px solid var(--theme-e3e1db);
border-radius: 7px;
background: var(--theme-fff);
}
.codex-session-row {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(150px, auto) auto;
min-width: 0;
align-items: center;
gap: 12px;
min-height: 76px;
padding: 10px 11px;
border-bottom: 1px solid var(--theme-eeeae2);
background: var(--theme-fff);
}
.codex-session-row:has(.codex-session-checkbox) {
grid-template-columns: 20px minmax(0, 1fr) minmax(150px, auto) auto;
}
.codex-session-row:last-child {
border-bottom: 0;
}
.codex-session-row:hover,
.codex-session-row.selected {
background: var(--theme-faf9f5);
}
.codex-session-row.selected {
box-shadow: inset 3px 0 var(--theme-4f825c);
}
.codex-session-checkbox {
display: grid;
align-self: stretch;
place-items: center;
}
.codex-session-checkbox input,
.codex-session-cleanup-dialog input {
width: 15px;
height: 15px;
margin: 0;
accent-color: var(--theme-4f825c);
}
.codex-session-main,
.codex-session-meta {
display: grid;
min-width: 0;
}
.codex-session-main {
gap: 4px;
}
.codex-session-main strong,
.codex-session-main code,
.codex-session-main span,
.codex-session-meta small,
.codex-session-meta time {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.codex-session-main strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-body);
}
.codex-session-main code {
color: var(--theme-8a847c);
font-size: var(--font-size-caption);
}
.codex-session-main span {
color: var(--theme-5f5a53);
font-size: var(--font-size-meta);
}
.codex-session-meta {
justify-items: end;
gap: 4px;
text-align: right;
}
.codex-session-meta > span {
padding: 3px 7px;
border: 1px solid var(--theme-b6d3bd);
border-radius: 999px;
background: var(--theme-eef7f0);
color: var(--theme-2f6b3f);
font-size: var(--font-size-caption);
font-weight: 800;
}
.codex-session-meta > span.archived {
border-color: var(--theme-d5d2cb);
background: var(--theme-f4f1ea);
color: var(--theme-5f5a53);
}
.codex-session-meta small,
.codex-session-meta time {
max-width: 190px;
color: var(--theme-8a847c);
font-size: var(--font-size-caption);
}
.codex-session-delete-button {
align-self: center;
}
.codex-session-empty {
display: grid;
min-height: 150px;
place-content: center;
justify-items: center;
gap: 9px;
padding: 18px;
border: 1px dashed var(--theme-d5d2cb);
border-radius: 7px;
background: var(--theme-faf9f5);
color: var(--theme-8a847c);
font-size: var(--font-size-label);
text-align: center;
}
.codex-session-pagination {
justify-content: center;
gap: 10px;
}
.codex-session-pagination button {
width: 34px;
min-width: 34px;
min-height: 32px;
padding: 0;
}
.codex-session-pagination span {
min-width: 72px;
color: var(--theme-5f5a53);
font-size: var(--font-size-meta);
font-weight: 700;
text-align: center;
}
.codex-session-dialog,
.codex-session-cleanup-dialog {
grid-template-rows: auto;
height: auto;
}
.codex-session-dialog {
min-height: 210px;
}
.codex-session-dialog .config-dialog-heading > div,
.codex-session-cleanup-dialog .config-dialog-heading > div {
display: flex;
align-items: center;
color: var(--theme-9f2d20);
}
.codex-session-dialog > p,
.codex-session-cleanup-dialog > p {
margin: 0;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
line-height: var(--line-height-relaxed);
overflow-wrap: anywhere;
}
.codex-session-cleanup-dialog {
width: min(580px, 100%);
max-height: min(720px, calc(100vh - 40px));
min-height: 320px;
overflow: hidden;
}
.codex-session-cleanup-select-all {
display: flex;
align-items: center;
gap: 8px;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
font-weight: 700;
}
.codex-session-cleanup-list {
display: grid;
min-height: 120px;
max-height: 360px;
overflow-y: auto;
border: 1px solid var(--theme-e3e1db);
border-radius: 7px;
background: var(--theme-fff);
}
.codex-session-cleanup-list > label {
display: grid;
grid-template-columns: 18px minmax(0, 1fr);
align-items: center;
gap: 8px;
min-height: 62px;
padding: 8px 10px;
border-bottom: 1px solid var(--theme-eeeae2);
}
.codex-session-cleanup-list > label:last-child {
border-bottom: 0;
}
.codex-session-cleanup-list > label:hover {
background: var(--theme-faf9f5);
}
.codex-session-cleanup-list > label > span {
display: grid;
min-width: 0;
gap: 3px;
}
.codex-session-cleanup-list strong,
.codex-session-cleanup-list code,
.codex-session-cleanup-list small {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.codex-session-cleanup-list strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
}
.codex-session-cleanup-list code,
.codex-session-cleanup-list small {
color: var(--theme-8a847c);
font-size: var(--font-size-caption);
}
.agent-status-messages {
display: grid;
gap: 4px;
padding: 0 2px;
}
.agent-status-grid span {
display: flex;
align-items: center;
}
.agent-config-footer {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 14px;
min-height: 48px;
padding-top: 14px;
border-top: 1px solid var(--theme-e3e1db);
}
.agent-launch-control {
display: grid;
min-width: 0;
justify-items: end;
gap: 5px;
}
.agent-launch-actions {
display: flex;
min-width: 0;
max-width: 100%;
align-items: center;
justify-content: flex-end;
gap: 8px;
flex-wrap: wrap;
}
.agent-launch-actions > button {
min-width: 120px;
}
.agent-launch-control > .agent-inline-message {
max-width: 420px;
text-align: right;
}
.agent-launch-directory-dialog {
grid-template-rows: auto;
align-content: start;
width: min(620px, 100%);
max-height: calc(100vh - 40px);
height: auto;
min-height: 0;
overflow-y: auto;
}
.agent-launch-directory-dialog > p {
margin: 0;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
line-height: var(--line-height-relaxed);
}
.agent-launch-directory-dialog .config-dialog-field {
grid-template-rows: auto auto;
min-height: 0;
}
.deepseek-harness-launch-options {
display: grid;
gap: 12px;
padding: 14px;
border: 1px solid var(--theme-e3ded5);
border-radius: 10px;
background: var(--theme-faf8f4);
}
.deepseek-harness-launch-field {
grid-template-rows: auto auto;
gap: 6px;
}
.deepseek-harness-launch-field > span {
font-size: var(--font-size-label);
}
.deepseek-harness-launch-field select.config-dialog-text-input {
cursor: pointer;
}
.deepseek-harness-launch-field textarea.config-dialog-text-input {
height: 72px;
min-height: 72px;
padding-block: 9px;
resize: vertical;
line-height: var(--line-height-relaxed);
}
.deepseek-harness-launch-mode-description {
margin: -4px 0 0;
color: var(--theme-777067);
font-size: var(--font-size-label);
font-weight: 500;
line-height: var(--line-height-relaxed);
}
.deepseek-harness-launch-grid {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(132px, 0.42fr);
gap: 10px;
}
.deepseek-harness-launch-checkbox {
display: flex;
align-items: flex-start;
gap: 10px;
color: var(--theme-5f5a53);
cursor: pointer;
}
.deepseek-harness-launch-checkbox > input {
width: 16px;
height: 16px;
margin: 2px 0 0;
accent-color: var(--theme-8069ad);
}
.deepseek-harness-launch-checkbox > span {
display: grid;
gap: 2px;
}
.deepseek-harness-launch-checkbox strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
}
.deepseek-harness-launch-checkbox small {
color: var(--theme-777067);
font-size: var(--font-size-meta);
line-height: var(--line-height-relaxed);
}
@media (max-width: 680px) {
.deepseek-harness-launch-grid {
grid-template-columns: minmax(0, 1fr);
}
}
.agent-launch-directory-picker {
display: flex;
width: 100%;
min-width: 0;
min-height: 64px;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 11px 13px;
border: 1px solid var(--theme-d8d2c8);
border-radius: 9px;
background: var(--theme-fff);
color: var(--theme-2d2a26);
text-align: left;
}
.agent-launch-directory-picker:hover:not(:disabled) {
border-color: var(--theme-bdb5a9);
background: var(--theme-faf8f4);
}
.agent-launch-directory-picker:focus-visible {
border-color: var(--theme-8d8377);
outline: 0;
box-shadow: 0 0 0 3px rgba(45, 42, 38, 0.1);
}
.agent-launch-directory-picker > span {
display: grid;
min-width: 0;
gap: 4px;
}
.agent-launch-directory-picker small {
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
}
.agent-launch-directory-picker strong {
overflow: hidden;
font-size: var(--font-size-label);
text-overflow: ellipsis;
white-space: nowrap;
}
.agent-launch-directory-picker > b {
flex: none;
color: var(--theme-8069ad);
font-size: var(--font-size-label);
}
.agent-launch-directory-history {
display: grid;
min-height: 0;
gap: 7px;
}
.agent-launch-directory-history > strong {
color: var(--theme-5f5a53);
font-size: var(--font-size-body);
}
.agent-launch-directory-history-list {
display: grid;
min-height: 64px;
max-height: 176px;
overflow-y: auto;
overscroll-behavior: contain;
scrollbar-gutter: stable;
border: 1px solid var(--theme-d8d2c8);
border-radius: 9px;
background: var(--theme-fff);
}
.agent-launch-directory-history-list > button {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
gap: 12px;
width: 100%;
min-height: 58px;
padding: 8px 11px;
border: 0;
border-bottom: 1px solid var(--theme-eeeae2);
border-radius: 0;
background: transparent;
color: var(--theme-2d2a26);
text-align: left;
}
.agent-launch-directory-history-list > button:last-child {
border-bottom: 0;
}
.agent-launch-directory-history-list > button:hover:not(:disabled) {
background: var(--theme-faf8f4);
}
.agent-launch-directory-history-list > button.active {
background: var(--theme-f1ecfb);
box-shadow: inset 3px 0 0 var(--theme-8069ad);
}
.agent-launch-directory-history-list > button > span {
display: grid;
min-width: 0;
gap: 3px;
}
.agent-launch-directory-history-list > button strong {
overflow: hidden;
font-size: var(--font-size-label);
text-overflow: ellipsis;
white-space: nowrap;
}
.agent-launch-directory-history-list > button small {
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
}
.agent-launch-directory-history-list > button > b {
display: inline-flex;
flex: none;
align-items: center;
gap: 5px;
color: var(--theme-8069ad);
font-size: var(--font-size-label);
}
.agent-status-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
min-height: 76px;
}
.agent-status-grid.dual-install-status-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.agent-status-grid.pi-status-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.agent-status-grid > div {
display: grid;
min-width: 0;
gap: 5px;
padding: 12px;
border: 1px solid var(--theme-e3e1db);
border-radius: 7px;
background: var(--theme-fffdf8);
}
.agent-status-grid span {
gap: 5px;
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
}
.agent-status-grid .agent-version-update-label {
display: inline-flex;
flex: none;
padding: 2px 6px;
border-radius: 4px;
background: var(--theme-f4f1ea);
color: var(--theme-5f5a53);
font-size: var(--font-size-caption);
line-height: 1.4;
white-space: nowrap;
}
.agent-status-grid strong {
min-width: 0;
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-body);
font-weight: 700;
text-overflow: ellipsis;
white-space: nowrap;
}
.agent-core-setting-section {
display: grid;
min-width: 0;
align-content: start;
gap: 12px;
padding: 16px;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-faf9f5);
}
.agent-model-section {
min-height: 0;
}
.agent-claude-desktop-mapping {
grid-column: 1 / -1;
}
.agent-claude-desktop-mapping-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 12px;
}
.agent-claude-code-runtime-settings {
display: grid;
grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(240px, 1.2fr);
gap: 12px;
padding: 12px;
border: 1px solid var(--theme-e3e1db);
border-radius: 9px;
background: var(--theme-faf9f5);
}
.agent-claude-code-number-field {
display: grid;
align-content: start;
gap: 6px;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
font-weight: 700;
}
.agent-claude-code-number-field > input,
.agent-claude-code-percent-input input {
width: 100%;
min-width: 0;
padding: 8px 10px;
border: 1px solid var(--theme-d3d0c9);
border-radius: 7px;
background: var(--theme-fff);
color: var(--theme-2f2c28);
font: inherit;
font-variant-numeric: tabular-nums;
}
.agent-claude-code-number-field > input:focus,
.agent-claude-code-percent-input input:focus {
border-color: var(--theme-8069ad);
outline: 2px solid rgba(128, 105, 173, 0.14);
}
.agent-claude-code-number-field > input:disabled,
.agent-claude-code-percent-input input:disabled {
cursor: not-allowed;
opacity: 0.62;
}
.agent-claude-code-number-field small,
.agent-claude-code-disable-compact small {
color: var(--theme-817b72);
font-size: var(--font-size-caption);
font-weight: 500;
line-height: 1.4;
}
.agent-claude-code-percent-input {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
gap: 7px;
}
.agent-claude-code-percent-input > span {
color: var(--theme-817b72);
font-weight: 700;
}
.agent-claude-code-disable-compact {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 10px 12px;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-fff);
color: var(--theme-5f5a53);
cursor: pointer;
}
.agent-claude-code-disable-compact > span:first-child {
display: grid;
gap: 4px;
}
.agent-claude-code-disable-compact:has(input:checked) {
border-color: rgba(174, 92, 82, 0.48);
background: rgba(174, 92, 82, 0.06);
}
.agent-claude-code-disable-compact:has(input:disabled) {
cursor: not-allowed;
opacity: 0.62;
}
.agent-claude-desktop-mapping-row {
display: grid;
min-width: 0;
align-content: start;
gap: 10px;
padding: 12px;
border: 1px solid var(--theme-e3e1db);
border-radius: 9px;
background: var(--theme-fff);
box-shadow: 0 1px 2px rgba(45, 42, 38, 0.04);
}
.agent-claude-desktop-mapping-row:has(.agent-claude-context-toggle input:checked) {
border-color: rgba(128, 105, 173, 0.48);
box-shadow: 0 0 0 2px rgba(128, 105, 173, 0.08);
}
.agent-claude-mapping-card-heading {
display: flex;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.agent-claude-mapping-card-heading > strong {
min-width: 0;
overflow: hidden;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
text-overflow: ellipsis;
white-space: nowrap;
}
.agent-claude-context-toggle {
display: flex;
flex: none;
align-items: center;
gap: 6px;
padding: 4px 7px;
border: 1px solid var(--theme-e3e1db);
border-radius: 999px;
background: var(--theme-faf9f5);
color: var(--theme-5f5a53);
cursor: pointer;
font-size: var(--font-size-label);
font-weight: 700;
}
.agent-claude-context-toggle:has(input:checked) {
border-color: var(--theme-8069ad);
background: var(--theme-f1ecfb);
color: var(--theme-554075);
}
.agent-claude-context-toggle:has(input:disabled) {
cursor: not-allowed;
opacity: 0.62;
}
.agent-section-heading-actions {
display: flex !important;
flex: none;
align-items: center;
justify-content: flex-end;
gap: 8px !important;
}
.agent-claude-desktop-mapping-filter {
display: flex;
align-items: center;
gap: 8px;
padding: 6px 8px;
border: 1px solid var(--theme-e3e1db);
border-radius: 7px;
background: var(--theme-fff);
color: var(--theme-5f5a53);
cursor: pointer;
font-size: var(--font-size-label);
font-weight: 700;
}
.agent-claude-desktop-mapping-filter:has(input:checked) {
border-color: var(--theme-8069ad);
background: var(--theme-f1ecfb);
color: var(--theme-554075);
}
.agent-claude-desktop-mapping-filter:has(input:disabled) {
cursor: not-allowed;
opacity: 0.62;
}
.agent-section-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
min-width: 0;
}
.agent-section-heading > div {
display: grid;
min-width: 0;
gap: 3px;
}
.agent-section-heading strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-section);
}
.agent-section-heading > div > span,
.agent-model-hint {
color: var(--theme-8a847c);
font-size: var(--font-size-label);
}
.agent-model-hint {
line-height: var(--line-height-body);
overflow-wrap: anywhere;
}
.agent-model-picker {
position: relative;
min-width: 0;
}
.agent-model-trigger {
display: grid;
grid-template-columns: minmax(0, 1fr) 18px;
align-items: center;
gap: 10px;
width: 100%;
min-width: 0;
min-height: 44px;
padding: 7px 11px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-fff);
color: var(--theme-2d2a26);
text-align: left;
}
.agent-model-trigger:hover:not(:disabled),
.agent-model-picker.open .agent-model-trigger {
border-color: var(--theme-aaa49b);
background: var(--theme-fffdf8);
}
.agent-model-trigger:disabled {
cursor: not-allowed;
background: var(--theme-f4f1ea);
opacity: 0.62;
}
.agent-model-trigger > span {
display: grid;
min-width: 0;
gap: 2px;
}
.agent-model-trigger strong,
.agent-model-trigger small {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.agent-model-trigger strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-body);
}
.agent-model-trigger small {
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
}
.agent-model-trigger > svg {
color: var(--theme-8a847c);
transition: transform 0.16s ease;
}
.agent-model-picker.open .agent-model-trigger > svg {
transform: rotate(180deg);
}
.agent-model-dropdown {
position: fixed;
z-index: 45;
display: grid;
grid-template-rows: 40px minmax(0, 1fr) 28px;
gap: 7px;
padding: 9px;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-fffdf8);
box-shadow: 0 14px 34px rgba(45, 42, 38, 0.2);
}
.agent-model-search {
display: grid;
grid-template-columns: 17px minmax(0, 1fr) auto auto;
align-items: center;
gap: 6px;
padding: 0 6px 0 10px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-fff);
color: var(--theme-8a847c);
}
.agent-model-search input {
width: 100%;
min-width: 0;
height: 38px;
padding: 0;
border: 0;
outline: 0;
background: transparent;
color: var(--theme-2d2a26);
font-size: var(--font-size-body);
}
.agent-model-list {
min-height: 0;
overflow-y: auto;
border: 1px solid var(--theme-ece8df);
border-radius: 6px;
}
.agent-model-option {
display: grid;
grid-template-columns: minmax(0, 1fr) 18px;
align-items: center;
gap: 9px;
width: 100%;
min-height: 48px;
padding: 7px 10px;
border: 0;
border-bottom: 1px solid var(--theme-eeeae2);
background: var(--theme-fff);
color: var(--theme-2d2a26);
text-align: left;
}
.agent-model-option:last-child {
border-bottom: 0;
}
.agent-model-option:hover,
.agent-model-option.active {
background: var(--theme-f4f1ea);
}
.agent-model-option.selected {
background: var(--theme-eeece6);
}
.agent-model-option > span {
display: grid;
min-width: 0;
gap: 3px;
}
.agent-model-option strong,
.agent-model-option small {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.agent-model-option strong {
font-size: var(--font-size-body);
}
.agent-model-option small {
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
}
.agent-model-option > svg {
color: var(--theme-2f6b3f);
}
.agent-model-empty {
display: grid;
min-height: 118px;
place-items: center;
align-content: center;
gap: 6px;
padding: 16px;
color: var(--theme-8a847c);
font-size: var(--font-size-label);
text-align: center;
}
.agent-model-empty strong {
color: var(--theme-5f5a53);
font-size: var(--font-size-body);
}
.agent-model-empty.error,
.agent-model-empty.error strong {
color: var(--theme-9f2d20);
}
.agent-model-dropdown-footer {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
}
.agent-model-dropdown-footer .error {
color: var(--theme-9f2d20);
}
.agent-modification-actions {
min-height: 0;
}
.agent-codex-options {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
align-items: stretch;
gap: 8px;
min-width: 0;
}
.agent-codex-options > .agent-oauth-configuration {
height: 100%;
min-height: 54px;
padding: 10px 12px;
}
.agent-codex-catalog-button {
width: 100%;
min-height: 54px;
height: auto;
padding: 10px 12px;
white-space: normal;
}
.codex-catalog-backdrop {
z-index: 90;
}
.codex-catalog-dialog {
position: relative;
grid-template-rows: auto minmax(0, 1fr) auto;
gap: 14px;
width: min(1080px, calc(100vw - 40px));
height: min(780px, calc(100vh - 40px));
padding: 20px;
}
.codex-catalog-heading {
align-items: flex-start;
}
.codex-catalog-heading > div {
display: grid;
gap: 4px;
}
.codex-catalog-heading p {
margin: 0;
color: var(--theme-716b61);
font-size: var(--font-size-label);
font-weight: 500;
}
.codex-catalog-body {
display: grid;
grid-template-columns: 250px minmax(0, 1fr);
min-height: 0;
overflow: hidden;
border: 1px solid var(--theme-d5d2cb);
border-radius: 9px;
background: var(--theme-ffffff);
}
.codex-catalog-sidebar {
display: grid;
grid-template-rows: auto minmax(0, 1fr) auto;
gap: 10px;
min-height: 0;
padding: 12px;
border-right: 1px solid var(--theme-d5d2cb);
background: var(--theme-faf8f4);
}
.codex-catalog-search {
display: flex;
align-items: center;
gap: 7px;
height: 38px;
padding: 0 10px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 7px;
background: var(--theme-ffffff);
color: var(--theme-716b61);
}
.codex-catalog-search input {
width: 100%;
min-width: 0;
border: 0;
outline: 0;
background: transparent;
color: var(--theme-2d2a26);
}
.codex-catalog-models {
display: grid;
align-content: start;
gap: 6px;
min-height: 0;
overflow: auto;
}
.codex-catalog-models > button {
display: grid;
gap: 2px;
width: 100%;
padding: 9px 10px;
border: 1px solid transparent;
border-radius: 7px;
background: transparent;
color: var(--theme-2d2a26);
text-align: left;
}
.codex-catalog-models > button:hover {
background: var(--theme-ffffff);
}
.codex-catalog-models > button.active {
border-color: var(--theme-9db8a5);
background: var(--theme-f3f8f4);
}
.codex-catalog-models strong,
.codex-catalog-models span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.codex-catalog-models span,
.codex-catalog-models small {
color: var(--theme-716b61);
font-size: var(--font-size-meta);
}
.codex-catalog-models small {
color: var(--theme-2f6b3f);
}
.codex-catalog-reload {
width: 100%;
}
.codex-catalog-editor {
min-width: 0;
min-height: 0;
overflow: auto;
padding: 18px;
}
.codex-catalog-model-heading {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
margin-bottom: 16px;
}
.codex-catalog-model-heading > div {
display: grid;
gap: 3px;
min-width: 0;
}
.codex-catalog-model-heading h3 {
margin: 0;
overflow-wrap: anywhere;
color: var(--theme-2d2a26);
font-size: var(--font-size-section-title);
}
.codex-catalog-model-heading span {
color: var(--theme-716b61);
font-size: var(--font-size-meta);
}
.codex-catalog-model-heading span.customized {
color: var(--theme-2f6b3f);
}
.codex-catalog-form {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
}
.codex-catalog-form > label {
display: grid;
align-content: start;
gap: 7px;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
font-weight: 650;
}
.codex-catalog-form > label.wide,
.codex-catalog-form > fieldset.wide {
grid-column: 1 / -1;
}
.codex-catalog-form input[type='text'],
.codex-catalog-form input[type='number'],
.codex-catalog-form input:not([type]),
.codex-catalog-form select,
.codex-catalog-form textarea {
width: 100%;
min-width: 0;
padding: 9px 10px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 7px;
outline: 0;
background: var(--theme-ffffff);
color: var(--theme-2d2a26);
font: inherit;
font-weight: 500;
}
.codex-catalog-form input[type='text'],
.codex-catalog-form input[type='number'],
.codex-catalog-form input:not([type]),
.codex-catalog-form select {
height: 40px;
}
.codex-catalog-form textarea {
min-height: 70px;
resize: vertical;
}
.codex-catalog-form input:focus,
.codex-catalog-form select:focus,
.codex-catalog-form textarea:focus {
border-color: var(--theme-8d8377);
box-shadow: 0 0 0 3px rgba(45, 42, 38, 0.08);
}
.codex-catalog-choice-group {
min-width: 0;
margin: 0;
padding: 11px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 8px;
}
.codex-catalog-choice-group legend {
padding: 0 5px;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
font-weight: 650;
}
.codex-catalog-chips,
.codex-catalog-checkboxes {
display: flex;
flex-wrap: wrap;
gap: 7px;
}
.codex-catalog-chips label,
.codex-catalog-checkboxes label {
cursor: pointer;
user-select: none;
}
.codex-catalog-chips input {
position: absolute;
opacity: 0;
pointer-events: none;
}
.codex-catalog-chips span {
display: inline-flex;
align-items: center;
gap: 4px;
min-height: 30px;
padding: 5px 9px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 999px;
background: var(--theme-faf8f4);
color: var(--theme-5f5a53);
font-size: var(--font-size-meta);
font-weight: 650;
}
.codex-catalog-chips label.selected span {
border-color: var(--theme-9db8a5);
background: var(--theme-f3f8f4);
color: var(--theme-2f6b3f);
}
.codex-catalog-checkboxes label {
display: flex;
align-items: center;
gap: 6px;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
}
.codex-catalog-switch {
grid-template-columns: auto minmax(0, 1fr) !important;
align-items: center;
min-height: 42px;
padding: 9px 11px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 8px;
background: var(--theme-faf8f4);
}
.codex-catalog-switch input {
width: 16px !important;
height: 16px !important;
}
.codex-catalog-hint {
margin: 14px 0 0;
color: var(--theme-716b61);
font-size: var(--font-size-meta);
line-height: var(--line-height-relaxed);
}
.codex-catalog-state {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
min-height: 90px;
padding: 14px;
color: var(--theme-716b61);
font-size: var(--font-size-label);
text-align: center;
}
.codex-catalog-footer {
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px;
}
.codex-catalog-footer > div:first-child {
min-width: 0;
color: var(--theme-716b61);
font-size: var(--font-size-meta);
}
.codex-catalog-footer > div:last-child {
display: flex;
flex: none;
gap: 8px;
}
.codex-catalog-confirm {
position: absolute;
inset: 0;
z-index: 2;
display: grid;
place-items: center;
padding: 20px;
border-radius: inherit;
background: rgba(45, 42, 38, 0.35);
backdrop-filter: blur(2px);
}
.codex-catalog-confirm > div {
display: grid;
gap: 12px;
width: min(420px, 100%);
padding: 20px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 9px;
background: var(--theme-fffdf8);
box-shadow: 0 18px 48px rgba(45, 42, 38, 0.24);
}
.codex-catalog-confirm span {
color: var(--theme-716b61);
font-size: var(--font-size-label);
}
.codex-catalog-confirm > div > div {
display: flex;
justify-content: flex-end;
gap: 8px;
}
@media (max-width: 760px) {
.codex-catalog-dialog {
width: calc(100vw - 28px);
height: calc(100vh - 28px);
padding: 14px;
}
.codex-catalog-body {
grid-template-columns: 1fr;
grid-template-rows: 190px minmax(0, 1fr);
}
.codex-catalog-sidebar {
grid-template-columns: minmax(0, 1fr) auto;
grid-template-rows: auto minmax(0, 1fr);
border-right: 0;
border-bottom: 1px solid var(--theme-d5d2cb);
}
.codex-catalog-models {
grid-column: 1 / -1;
}
.codex-catalog-reload {
width: auto;
}
.codex-catalog-editor {
padding: 14px;
}
.codex-catalog-form {
grid-template-columns: 1fr;
}
.codex-catalog-form > label.wide,
.codex-catalog-form > fieldset.wide {
grid-column: auto;
}
.codex-catalog-footer {
align-items: stretch;
flex-direction: column;
}
.codex-catalog-footer > div:last-child {
display: grid;
grid-template-columns: 1fr 1fr;
}
.codex-catalog-footer > div:last-child > button:first-child {
grid-column: 1 / -1;
}
}
.agent-codex-options .agent-section-heading strong,
.agent-codex-options > .agent-oauth-configuration {
font-size: var(--font-size-meta);
font-weight: 600;
line-height: var(--line-height-tight);
}
.agent-modification-control {
display: grid;
min-width: 0;
gap: 6px;
}
.agent-modification-control > .agent-inline-message {
text-align: left;
}
.agent-oauth-configuration {
display: flex;
min-height: 42px;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 8px 12px;
border: 1px solid var(--theme-d8d2c8);
border-radius: 9px;
background: var(--theme-faf8f4);
color: var(--theme-5f5a53);
font-size: var(--font-size-body);
font-weight: 600;
cursor: pointer;
user-select: none;
transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}
.agent-oauth-configuration:hover {
border-color: var(--theme-bdb5a9);
background: var(--theme-f6f2ec);
}
.agent-oauth-configuration:has(input:focus-visible) {
border-color: var(--theme-8d8377);
box-shadow: 0 0 0 3px rgba(45, 42, 38, 0.1);
}
.agent-oauth-configuration:has(input:checked) {
border-color: var(--theme-9db8a5);
background: var(--theme-f3f8f4);
color: var(--theme-2f6b3f);
}
.agent-oauth-configuration:has(input:disabled) {
cursor: not-allowed;
opacity: 0.55;
}
.agent-oauth-configuration .switch-control {
flex: none;
}
.agent-modification-buttons {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 8px;
width: 100%;
}
.agent-modification-buttons.codex {
grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
}
.agent-modification-buttons button {
width: 100%;
min-width: 0;
min-height: 38px;
height: auto;
padding: 8px 10px;
line-height: var(--line-height-tight);
white-space: normal;
}
.agent-restore-dialog {
grid-template-rows: auto;
height: auto;
min-height: 210px;
}
.agent-restore-dialog .config-dialog-heading > div {
display: flex;
align-items: center;
color: var(--theme-9f2d20);
}
.agent-restore-dialog p {
margin: 0;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
line-height: var(--line-height-relaxed);
}
.agent-restore-dialog > .agent-inline-message {
margin-top: -6px;
}
.usage-records-page {
display: grid;
width: 100%;
max-width: 100%;
min-width: 0;
gap: 12px;
align-content: start;
justify-items: stretch;
}
.usage-topbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
min-width: 0;
flex-wrap: wrap;
}
.usage-topbar-actions {
display: flex;
align-items: center;
gap: 8px;
}
.usage-refresh-btn {
width: 34px;
height: 34px;
border-radius: 7px;
border: 1px solid var(--theme-e3e1db);
background: var(--theme-fffdf8);
color: var(--theme-5f5a53);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.15s ease;
}
.usage-refresh-btn:hover:not(:disabled) {
background: var(--theme-f4f1ea);
border-color: var(--theme-d5d2cb);
color: var(--theme-2d2a26);
}
.usage-refresh-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.usage-collector-state {
display: inline-flex;
align-items: center;
gap: 7px;
min-width: 0;
height: 34px;
padding: 0 10px;
border: 1px solid var(--theme-e3e1db);
border-radius: 7px;
background: var(--theme-fffdf8);
white-space: nowrap;
}
.usage-collector-state .status-dot {
width: 7px;
height: 7px;
border-radius: 50%;
background: var(--theme-8a847c);
flex-shrink: 0;
box-shadow: 0 0 0 3px rgba(155, 149, 140, 0.15);
}
.usage-collector-state.success .status-dot {
background: #10b981;
box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}
.usage-collector-state.error .status-dot {
background: #ef4444;
box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
}
.usage-collector-state strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-caption);
font-weight: 600;
line-height: 1.2;
}
.usage-collector-state span {
color: var(--theme-8a847c);
font-size: 11px;
line-height: 1.2;
}
.usage-collector-state > span:last-child {
padding-left: 7px;
border-left: 1px solid var(--theme-e3e1db);
}
/* Tab Switcher */
.usage-tabs {
display: inline-flex;
gap: 4px;
padding: 4px;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-eeece6);
width: fit-content;
}
.usage-tabs button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
min-width: 96px;
height: 32px;
padding: 0 14px;
border: 0;
border-radius: 6px;
background: transparent;
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
font-weight: 600;
cursor: pointer;
transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.usage-tabs button:hover:not(.active) {
color: var(--theme-2d2a26);
background: rgba(255, 255, 255, 0.35);
}
.usage-tabs button.active {
background: var(--theme-fffdf8);
color: var(--theme-2d2a26);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
}
/* Filter Toolbar */
.usage-filter-panel {
display: grid;
gap: 10px;
padding: 12px 14px;
border: 1px solid var(--theme-e3e1db);
border-radius: 9px;
background: var(--theme-fffdf8);
}
.usage-filter-row {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 12px;
flex-wrap: wrap;
}
.usage-filter-group {
display: flex;
align-items: flex-end;
gap: 10px;
flex-wrap: wrap;
flex: 1;
}
.usage-filter-item {
display: flex;
flex-direction: column;
gap: 4px;
min-width: 120px;
flex: 1 1 130px;
}
.usage-filter-label {
display: flex;
align-items: center;
gap: 4px;
color: var(--theme-8a847c);
font-size: 11px;
font-weight: 600;
line-height: 1;
}
.usage-filter-item select,
.usage-filter-item input {
min-width: 0;
height: 34px;
padding: 0 9px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-fff);
color: var(--theme-2d2a26);
font-size: var(--font-size-meta);
outline: none;
transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.usage-filter-item select:focus,
.usage-filter-item input:focus {
border-color: var(--theme-3f6f98);
box-shadow: 0 0 0 2px rgba(63, 111, 152, 0.15);
}
.usage-filter-reset-btn {
display: inline-flex;
align-items: center;
gap: 5px;
height: 34px;
padding: 0 12px;
border-radius: 6px;
font-size: var(--font-size-caption);
font-weight: 600;
border: 1px dashed var(--theme-d5d2cb);
color: var(--theme-8a847c);
background: transparent;
cursor: pointer;
white-space: nowrap;
transition: all 0.15s ease;
}
.usage-filter-reset-btn:hover {
background: var(--theme-fff1ee);
color: var(--theme-9f2d20);
border-color: var(--theme-efc9c2);
}
.usage-custom-range {
display: flex;
align-items: center;
gap: 8px;
padding-top: 6px;
border-top: 1px dashed var(--theme-eeeae2);
color: var(--theme-8a847c);
font-size: var(--font-size-caption);
}
.usage-custom-range input {
height: 32px;
padding: 0 8px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-fff);
color: var(--theme-2d2a26);
font-size: var(--font-size-caption);
}
/* Loading & Empty States */
.usage-initial-loading,
.usage-empty {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 10px;
min-height: 160px;
padding: 30px;
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
}
.usage-empty svg,
.usage-initial-loading svg {
color: var(--theme-9a958d);
opacity: 0.6;
}
/* Overview Layout */
.usage-overview-layout {
display: grid;
grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
gap: 14px;
}
.usage-stat-grid {
grid-column: 1 / -1;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: 12px;
}
.usage-stat-card {
display: grid;
gap: 8px;
padding: 14px 16px;
border: 1px solid var(--theme-e3e1db);
border-radius: 9px;
background: var(--theme-fffdf8);
transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.usage-stat-card:hover {
border-color: var(--theme-d5d2cb);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.usage-stat-card-label {
color: var(--theme-7a746c);
font-size: var(--font-size-caption);
font-weight: 600;
}
.usage-stat-card-value {
color: var(--theme-2d2a26);
font-size: 22px;
font-weight: 700;
font-variant-numeric: tabular-nums;
line-height: 1.15;
letter-spacing: -0.01em;
}
.usage-stat-card-meta {
color: var(--theme-8a847c);
font-size: 11px;
line-height: 1.3;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
/* Trend Panel */
.usage-trend-panel,
.usage-health-panel,
.usage-category-panel,
.usage-events-panel {
padding: 16px;
border: 1px solid var(--theme-e3e1db);
border-radius: 9px;
background: var(--theme-fffdf8);
}
.usage-section-heading {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 12px;
}
.usage-section-heading > div {
display: grid;
gap: 2px;
}
.usage-section-heading strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-body);
font-weight: 700;
}
.usage-section-heading span {
color: var(--theme-8a847c);
font-size: var(--font-size-caption);
}
.usage-trend-wrapper {
display: grid;
gap: 10px;
}
.usage-trend-header-meta {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 8px;
}
.usage-trend-chip {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 3px 8px;
border-radius: 6px;
background: var(--theme-f4f1ea);
color: var(--theme-7a746c);
font-size: 11px;
}
.usage-trend-chip strong {
color: var(--theme-2d2a26);
font-weight: 600;
}
.usage-trend {
display: grid;
gap: 8px;
}
.usage-trend svg {
width: 100%;
height: 180px;
overflow: visible;
border-bottom: 1px solid var(--theme-e3e1db);
}
.usage-trend polyline {
stroke: #3b82f6;
stroke-width: 2.2;
stroke-linecap: round;
stroke-linejoin: round;
}
.usage-trend-labels {
display: flex;
align-items: center;
justify-content: space-between;
color: var(--theme-8a847c);
font-size: 11px;
font-variant-numeric: tabular-nums;
}
/* Token Breakdown Panel */
.usage-token-breakdown {
display: grid;
gap: 12px;
}
.usage-token-row {
display: grid;
gap: 6px;
}
.usage-token-info {
display: flex;
align-items: center;
justify-content: space-between;
font-size: var(--font-size-caption);
}
.usage-token-name {
color: var(--theme-2d2a26);
font-weight: 600;
}
.usage-token-vals {
display: flex;
align-items: center;
gap: 8px;
}
.usage-token-count {
color: var(--theme-7a746c);
font-variant-numeric: tabular-nums;
font-weight: 500;
}
.usage-token-pct {
display: inline-block;
min-width: 42px;
text-align: right;
color: var(--theme-8a847c);
font-variant-numeric: tabular-nums;
font-size: 11px;
}
.usage-token-bar-track {
width: 100%;
height: 6px;
background: var(--theme-eeece6);
border-radius: 999px;
overflow: hidden;
}
.usage-token-bar-fill {
height: 100%;
border-radius: 999px;
transition: width 0.3s ease;
}
.usage-token-row.tone-input .usage-token-bar-fill {
background: #3b82f6;
}
.usage-token-row.tone-output .usage-token-bar-fill {
background: #10b981;
}
.usage-token-row.tone-reasoning .usage-token-bar-fill {
background: #8b5cf6;
}
.usage-token-row.tone-cache-read .usage-token-bar-fill {
background: #f59e0b;
}
.usage-token-row.tone-cache-creation .usage-token-bar-fill {
background: #ec4899;
}
/* Analysis Tab */
.usage-analysis-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
gap: 14px;
}
.usage-category-list {
display: grid;
gap: 10px;
}
.usage-category-row {
display: grid;
gap: 5px;
}
.usage-category-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.usage-category-label-wrap {
display: flex;
align-items: center;
gap: 6px;
min-width: 0;
flex: 1;
}
.usage-rank-badge {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
border-radius: 4px;
background: var(--theme-eeece6);
color: var(--theme-7a746c);
font-size: 10px;
font-weight: 700;
flex-shrink: 0;
}
.usage-rank-badge.top {
background: rgba(59, 130, 246, 0.15);
color: #2563eb;
}
.usage-category-name {
color: var(--theme-2d2a26);
font-size: var(--font-size-caption);
font-weight: 600;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.usage-category-meta {
display: flex;
align-items: center;
gap: 6px;
color: var(--theme-8a847c);
font-size: 11px;
font-variant-numeric: tabular-nums;
flex-shrink: 0;
}
.usage-category-pct {
padding: 1px 4px;
border-radius: 3px;
background: var(--theme-f4f1ea);
font-weight: 600;
}
.usage-category-meta strong {
color: var(--theme-5f5a53);
font-weight: 600;
}
.usage-category-track {
width: 100%;
height: 4px;
background: var(--theme-eeece6);
border-radius: 999px;
overflow: hidden;
}
.usage-category-fill {
height: 100%;
background: var(--theme-3f6f98);
border-radius: 999px;
transition: width 0.3s ease;
}
/* Events Tab (请求明细) */
.usage-events-panel {
display: flex;
width: 100%;
max-width: 100%;
min-height: 0;
padding: 0;
flex-direction: column;
overflow: hidden;
}
.usage-events-summary {
display: flex;
min-height: 52px;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 10px 16px;
border-bottom: 1px solid var(--theme-e3e1db);
background: var(--theme-fffdf8);
color: var(--theme-8a847c);
font-size: var(--font-size-caption);
flex-wrap: wrap;
}
.usage-events-summary-left {
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
min-width: 0;
}
.usage-events-count-badge {
display: inline-flex;
align-items: center;
padding: 3px 9px;
border: 1px solid var(--theme-e3e1db);
border-radius: 999px;
background: var(--theme-f4f1ea);
color: var(--theme-2d2a26);
font-weight: 600;
font-size: var(--font-size-caption);
white-space: nowrap;
flex-shrink: 0;
}
.usage-pagination-summary {
font-size: var(--font-size-caption);
color: var(--theme-7a746c);
font-variant-numeric: tabular-nums;
white-space: nowrap;
}
.usage-events-summary-right {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
min-width: 0;
}
.usage-col-hint {
font-size: 11px;
color: var(--theme-9a958d);
opacity: 0.9;
}
.usage-page-size-select {
height: 30px;
padding: 4px 8px;
border: 1px solid var(--theme-e3e1db);
border-radius: 5px;
background: var(--theme-faf8f4);
color: var(--theme-2d2a26);
font-size: var(--font-size-caption);
cursor: pointer;
flex-shrink: 0;
}
.usage-page-size-select:focus {
border-color: var(--theme-3f6f98);
outline: none;
}
.usage-pagination-right {
display: flex;
align-items: center;
gap: 4px;
flex-shrink: 0;
}
.usage-pagination-top {
display: inline-flex;
align-items: center;
gap: 4px;
}
.usage-page-nav-btn {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 28px;
height: 30px;
padding: 0 8px;
border: 1px solid var(--theme-e3e1db);
border-radius: 5px;
background: var(--theme-fffdf8);
color: var(--theme-5f5a53);
cursor: pointer;
font-size: var(--font-size-caption);
font-weight: 500;
transition: all 0.15s ease;
gap: 3px;
flex-shrink: 0;
white-space: nowrap;
}
.usage-page-nav-btn:hover:not(:disabled) {
background: var(--theme-f4f1ea);
border-color: var(--theme-d5d2cb);
color: var(--theme-2d2a26);
}
.usage-page-nav-btn:disabled {
opacity: 0.35;
cursor: default;
}
.usage-pagination-info {
padding: 0 6px;
font-variant-numeric: tabular-nums;
font-weight: 600;
color: var(--theme-7a746c);
white-space: nowrap;
font-size: var(--font-size-caption);
}
.usage-col-settings-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
height: 30px;
padding: 0 10px;
font-size: var(--font-size-caption);
font-weight: 600;
background: var(--theme-f4f1ea);
border: 1px solid var(--theme-e3e1db);
border-radius: 5px;
color: var(--theme-7a746c);
cursor: pointer;
line-height: 1.2;
transition: all 0.15s ease;
flex-shrink: 0;
white-space: nowrap;
}
.usage-col-settings-btn:hover {
background: var(--theme-e8e5dc);
color: var(--theme-2d2a26);
border-color: var(--theme-d5d2cb);
}
.usage-col-settings-btn svg {
width: 14px;
height: 14px;
flex: 0 0 auto;
}
.usage-col-reset-btn {
display: inline-flex;
align-items: center;
justify-content: center;
height: 30px;
width: 30px;
padding: 0;
background: var(--theme-f4f1ea);
border: 1px solid var(--theme-e3e1db);
border-radius: 5px;
color: var(--theme-7a746c);
cursor: pointer;
transition: all 0.15s ease;
flex-shrink: 0;
}
.usage-col-reset-btn:hover {
background: var(--theme-e8e5dc);
color: var(--theme-2d2a26);
border-color: var(--theme-d5d2cb);
}
.usage-col-reset-btn svg {
width: 13px;
height: 13px;
flex: 0 0 auto;
}
.usage-col-reset-btn.icon-only {
width: 30px;
padding: 0;
}
/* Column Settings Dialog */
.usage-column-dialog {
display: flex;
width: min(540px, 100%);
height: auto;
max-height: min(680px, calc(100vh - 40px));
flex-direction: column;
gap: 14px;
overflow: hidden;
}
.usage-column-dialog-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
}
.usage-column-dialog-heading > div {
display: flex;
min-width: 0;
align-items: center;
gap: 9px;
color: var(--theme-5f5a53);
}
.usage-column-dialog-heading h2 {
margin: 0;
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-dialog-title);
text-overflow: ellipsis;
white-space: nowrap;
}
.usage-column-dialog-description {
margin: 0;
color: var(--theme-7a746c);
font-size: var(--font-size-caption);
line-height: 1.5;
}
.usage-column-options {
display: grid;
min-height: 0;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
overflow-y: auto;
max-height: 380px;
padding: 2px;
}
.usage-column-option {
display: flex;
min-width: 0;
align-items: center;
gap: 9px;
padding: 9px 11px;
border: 1px solid var(--theme-e3e1db);
border-radius: 6px;
background: var(--theme-fffdf8);
color: var(--theme-5f5a53);
cursor: pointer;
font-size: var(--font-size-caption);
}
.usage-column-option:hover {
border-color: var(--theme-d5d2cb);
background: var(--theme-faf8f4);
}
.usage-column-option input {
width: 15px;
height: 15px;
flex: 0 0 auto;
accent-color: var(--theme-3f6f98);
}
.usage-column-option:has(input:disabled) {
cursor: default;
opacity: 0.65;
}
.usage-column-dialog-footer {
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px;
padding-top: 2px;
}
.usage-column-dialog-meta {
display: flex;
min-width: 0;
align-items: center;
gap: 10px;
color: var(--theme-8a847c);
font-size: 11px;
}
.usage-column-select-all {
padding: 0;
border: 0;
background: transparent;
color: var(--theme-5f5a53);
cursor: pointer;
font: inherit;
font-weight: 600;
}
.usage-column-select-all:hover {
color: var(--theme-2d2a26);
text-decoration: underline;
}
.usage-column-dialog-actions {
display: flex;
flex: 0 0 auto;
gap: 8px;
}
.usage-column-dialog-actions button {
min-width: 84px;
}
/* Native horizontal scrollbar, mirrored above the table. */
.usage-table-top-scrollbar {
overflow-x: auto;
overflow-y: hidden;
height: 16px;
border-bottom: 1px solid var(--theme-e3e1db);
background: var(--theme-fffdf8);
}
.usage-table-top-scrollbar.is-hidden {
display: none;
}
/* Main Table Wrap & Table */
.usage-table-wrap {
position: relative;
overflow-x: auto;
overflow-y: auto;
height: max(480px, calc(100vh - 300px));
height: max(480px, calc(100dvh - 300px));
min-height: 0;
border: 0;
border-radius: 0;
background: var(--theme-fffdf8);
overscroll-behavior: contain;
scrollbar-gutter: stable;
}
/* Hide horizontal scrollbar on the table wrap so only the top scrollbar is shown */
.usage-table-wrap::-webkit-scrollbar {
height: 0;
}
.usage-table-wrap::-webkit-scrollbar:horizontal {
display: none;
height: 0;
}
.usage-events-table {
border-collapse: separate;
border-spacing: 0;
table-layout: fixed;
font-size: var(--font-size-caption);
}
.usage-events-table th,
.usage-events-table td {
height: 44px;
padding: 7px 11px;
border-bottom: 1px solid var(--theme-eeeae2);
color: var(--theme-5f5a53);
white-space: nowrap;
vertical-align: middle;
box-sizing: border-box;
}
.usage-events-table tbody tr {
cursor: default;
transition: background-color 0.12s ease;
}
.usage-events-table tbody tr:hover td {
background-color: var(--theme-f4f1ea) !important;
}
.usage-events-table th {
position: sticky;
z-index: 2;
top: 0;
background: var(--theme-f8f6f1);
color: var(--theme-7a746c);
font-weight: 700;
padding: 0;
user-select: none;
border-bottom: 1px solid var(--theme-e3e1db);
box-shadow: 0 1px 0 rgba(45, 42, 38, 0.04);
}
.usage-th-content {
display: flex;
align-items: center;
height: 44px;
padding: 8px 12px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.usage-events-table th.align-left .usage-th-content,
.usage-events-table td.align-left {
text-align: left;
justify-content: flex-start;
}
.usage-events-table th.align-center .usage-th-content,
.usage-events-table td.align-center {
text-align: center;
justify-content: center;
}
.usage-events-table th.align-right .usage-th-content,
.usage-events-table td.align-right {
text-align: right;
justify-content: flex-end;
}
.usage-col-resizer {
position: absolute;
top: 0;
right: -3px;
bottom: 0;
width: 7px;
cursor: col-resize;
z-index: 6;
touch-action: none;
display: flex;
justify-content: center;
align-items: center;
}
.usage-col-resizer::after {
content: '';
display: block;
width: 1px;
height: 62%;
border-radius: 1px;
background-color: var(--theme-bdb5a9);
opacity: 0.9;
transition: background-color 0.15s ease, height 0.15s ease, width 0.15s ease, opacity 0.15s ease;
}
.usage-events-table th:hover .usage-col-resizer::after {
width: 2px;
height: 78%;
background-color: var(--theme-8a847c);
opacity: 1;
}
.usage-col-resizer:hover::after,
.usage-col-resizer.active::after {
background-color: var(--theme-3f6f98) !important;
width: 2px;
height: 100%;
opacity: 1;
}
body.table-col-resizing,
body.table-col-resizing * {
cursor: col-resize !important;
user-select: none !important;
}
.usage-events-table td.usage-td-time {
font-variant-numeric: tabular-nums;
color: var(--theme-7a746c);
}
.usage-events-table td.usage-td-token,
.usage-events-table td.usage-td-latency,
.usage-events-table td.usage-td-ttft,
.usage-events-table td.usage-td-speed,
.usage-events-table td.usage-td-cache-rate {
font-variant-numeric: tabular-nums;
}
.usage-events-table td.usage-td-provider,
.usage-events-table td.usage-td-source {
overflow: hidden;
text-overflow: ellipsis;
}
.usage-tag-pill {
display: inline-block;
padding: 2px 6px;
border-radius: 4px;
background: var(--theme-eeece6);
color: var(--theme-5f5a53);
font-size: 11px;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.usage-events-table .usage-stacked-cell {
vertical-align: middle;
overflow: hidden;
}
.usage-events-table .usage-stacked-cell > strong,
.usage-events-table .usage-stacked-cell > small {
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.usage-events-table td strong {
font-weight: 600;
color: var(--theme-2d2a26);
}
.usage-events-table td small {
color: var(--theme-8a847c);
font-size: 11px;
line-height: 1.3;
}
.usage-result {
display: inline-flex;
align-items: center;
gap: 5px;
padding: 2px 7px;
border-radius: 999px;
font-weight: 600;
font-size: 11px;
line-height: 1.3;
}
.usage-result-dot {
width: 5px;
height: 5px;
border-radius: 50%;
background: currentColor;
}
.usage-result.success {
background: var(--theme-eef7f0);
color: var(--theme-2f6b3f);
}
.usage-result.failed {
background: var(--theme-fff1ee);
color: var(--theme-9f2d20);
}
.usage-result.canceled {
background: var(--theme-f4f1ea);
color: var(--theme-7a746c);
}
.usage-events-table .usage-result-cell {
overflow: hidden;
text-align: center;
}
.usage-result-cell > small {
display: block;
margin-top: 2px;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--theme-8a847c);
font-size: 11px;
}
@media (max-width: 768px) {
.usage-events-summary {
gap: 8px;
padding: 8px 12px;
}
.usage-events-summary-left,
.usage-events-summary-right {
width: 100%;
justify-content: space-between;
}
}
@media (max-width: 540px) {
.usage-pagination-summary {
display: none;
}
.usage-column-options {
grid-template-columns: 1fr;
}
.usage-column-dialog-footer {
align-items: stretch;
flex-direction: column;
}
.usage-column-dialog-actions button {
flex: 1;
}
}
.usage-events-panel > .usage-empty {
min-height: 480px;
}
@media (max-height: 760px) {
.usage-table-wrap {
height: max(360px, calc(100vh - 300px));
height: max(360px, calc(100dvh - 300px));
}
}
/* Pricing Tab */
.usage-pricing-panel {
display: grid;
min-width: 0;
gap: 14px;
padding: 16px;
border: 1px solid var(--theme-e3e1db);
border-radius: 9px;
background: var(--theme-fffdf8);
}
.usage-data-management-panel {
padding: 24px;
}
.usage-data-management-heading,
.usage-data-management-action,
.usage-data-management-result {
display: flex;
align-items: center;
justify-content: space-between;
gap: 18px;
}
.usage-data-management-heading > div {
display: flex;
align-items: flex-start;
gap: 12px;
}
.usage-data-management-heading h2 {
margin: 0;
font-size: 18px;
}
.usage-data-management-heading p,
.usage-data-management-action span {
display: block;
margin: 6px 0 0;
color: var(--theme-716b61);
font-size: 13px;
}
.usage-data-management-badge {
padding: 5px 9px;
border: 1px solid var(--theme-d8d4cc);
border-radius: 999px;
color: var(--theme-716b61);
font-size: 12px;
}
.usage-data-management-notice {
display: flex;
align-items: flex-start;
gap: 10px;
margin: 22px 0;
padding: 12px 14px;
border: 1px solid color-mix(in srgb, var(--theme-c77b30) 28%, var(--theme-d8d4cc));
border-radius: 10px;
background: color-mix(in srgb, var(--theme-c77b30) 8%, transparent);
color: var(--theme-716b61);
font-size: 13px;
}
.usage-data-management-action {
padding: 16px;
border: 1px solid var(--theme-d8d4cc);
border-radius: 12px;
background: var(--theme-f8f5ee);
}
.usage-data-management-result {
align-items: stretch;
margin-top: 26px;
}
.usage-data-management-panel .management-alert.success {
margin-top: 18px;
}
.usage-data-management-result > div {
display: flex;
flex: 1;
min-width: 0;
flex-direction: column;
gap: 5px;
padding: 12px;
border: 1px solid var(--theme-d8d4cc);
border-radius: 10px;
}
.usage-data-management-result span {
color: var(--theme-716b61);
font-size: 12px;
}
.usage-data-management-result strong {
overflow: hidden;
color: var(--theme-2d2a26);
font-size: 14px;
text-overflow: ellipsis;
white-space: nowrap;
}
.usage-pricing-toolbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px;
flex-wrap: wrap;
}
.usage-pricing-summary {
display: grid;
gap: 2px;
}
.usage-pricing-summary strong {
color: var(--theme-2d2a26);
font-size: 20px;
font-weight: 700;
font-variant-numeric: tabular-nums;
}
.usage-pricing-summary span {
color: var(--theme-8a847c);
font-size: var(--font-size-caption);
}
.usage-pricing-actions {
display: flex;
align-items: center;
gap: 8px;
}
.usage-pricing-actions input {
min-width: 180px;
height: 34px;
padding: 0 10px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-fff);
color: var(--theme-2d2a26);
font-size: var(--font-size-meta);
}
.usage-pricing-actions button,
.usage-price-editor-actions button {
height: 34px;
}
.usage-price-editor {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
gap: 10px;
padding: 14px;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-f8f5ee);
}
.usage-price-editor label {
display: grid;
gap: 4px;
}
.usage-price-editor label > span {
color: var(--theme-7a746c);
font-size: 11px;
font-weight: 600;
}
.usage-price-editor input {
min-width: 0;
height: 34px;
padding: 0 8px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
background: var(--theme-fff);
color: var(--theme-2d2a26);
font-size: var(--font-size-meta);
}
.usage-price-editor-actions {
display: flex;
grid-column: 1 / -1;
justify-content: flex-end;
gap: 8px;
}
.usage-pricing-table-wrap {
min-height: 380px;
}
.usage-pricing-table {
width: 100%;
min-width: 980px;
border-collapse: collapse;
font-size: var(--font-size-caption);
}
.usage-pricing-table th,
.usage-pricing-table td {
height: 42px;
padding: 7px 10px;
border-bottom: 1px solid var(--theme-eeeae2);
color: var(--theme-5f5a53);
text-align: center;
white-space: nowrap;
}
.usage-pricing-table th {
position: sticky;
z-index: 1;
top: 0;
background: var(--theme-f4f1ea);
color: var(--theme-7a746c);
font-weight: 700;
text-align: center;
}
.usage-pricing-table th:first-child,
.usage-pricing-table td:first-child {
text-align: center;
}
.usage-price-row-actions {
display: flex;
justify-content: center;
gap: 5px;
}
.real-auth-files-panel {
display: block;
height: auto;
min-height: 460px;
}
.auth-files-toolbar {
grid-template-columns: 18px minmax(0, 1fr) 150px 128px;
min-height: 42px;
}
.auth-files-toolbar select {
width: 100%;
height: 38px;
border: 0;
border-left: 1px solid var(--theme-e3e1db);
border-radius: 0;
background: transparent;
color: var(--theme-5f5a53);
}
.real-auth-file-list {
margin-top: 14px;
border-top: 1px solid var(--theme-e3e1db);
}
.real-auth-file-row {
display: grid;
grid-template-columns: 34px minmax(0, 1.2fr) minmax(160px, 0.8fr) auto;
align-items: center;
gap: 14px;
min-height: 76px;
padding: 10px 0;
border-bottom: 1px solid var(--theme-eeece6);
}
.real-auth-file-row > .quota-action-feedback {
grid-column: 2 / -1;
min-width: 0;
}
.auth-file-quota {
display: flex;
grid-column: 2 / -1;
align-items: center;
flex-wrap: wrap;
gap: 5px 8px;
min-width: 0;
margin-top: -7px;
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
}
.auth-file-quota.loading,
.auth-file-quota.error {
flex-wrap: nowrap;
}
.auth-file-quota.error {
color: var(--theme-9f2d20);
}
.auth-file-quota.error small {
min-width: 0;
overflow: hidden;
color: var(--theme-9f2d20);
text-overflow: ellipsis;
white-space: nowrap;
}
.auth-file-quota-plan,
.auth-file-quota-credit,
.auth-file-quota-empty {
white-space: nowrap;
}
.auth-file-quota-plan {
color: var(--theme-5f5a53);
font-weight: 700;
}
.auth-file-quota-item {
display: inline-flex;
align-items: center;
gap: 4px;
min-width: 0;
padding: 2px 7px;
border-radius: 999px;
background: var(--theme-f2f0ea);
white-space: nowrap;
}
.auth-file-quota-item strong {
color: var(--theme-2d2a26);
}
.auth-file-quota-item small {
display: inline-block;
max-width: 150px;
overflow: hidden;
color: var(--theme-9a958d);
text-overflow: ellipsis;
}
.real-auth-file-row.disabled > :not(.auth-file-actions) {
opacity: 0.68;
}
.real-auth-file-row > .provider-logo {
width: 28px;
height: 28px;
}
.auth-file-main {
display: grid;
gap: 5px;
}
.auth-file-title {
gap: 8px;
}
.auth-file-main > span,
.auth-file-meta span {
min-width: 0;
overflow: hidden;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
text-overflow: ellipsis;
white-space: nowrap;
}
.auth-file-meta {
justify-content: flex-end;
gap: 10px;
}
.real-auth-file-row .primary-button,
.real-auth-file-row .secondary-button {
min-width: 52px;
}
.real-auth-file-row .auth-file-priority-button {
min-width: 92px;
white-space: nowrap;
}
.auth-priority-dialog {
grid-template-rows: 40px auto auto 20px 40px;
width: min(460px, 100%);
height: auto;
min-height: 0;
}
.auth-priority-target {
overflow: hidden;
padding: 9px 11px;
border: 1px solid var(--theme-e3e1db);
border-radius: 6px;
background: var(--theme-f4f1ea);
color: var(--theme-5f5a53);
font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
font-size: var(--font-size-label);
text-overflow: ellipsis;
white-space: nowrap;
}
.auth-priority-field {
display: grid;
gap: 8px;
color: var(--theme-5f5a53);
font-size: var(--font-size-body);
font-weight: 700;
}
.auth-priority-field input {
width: 100%;
height: 42px;
min-width: 0;
padding: 0 12px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 6px;
outline: none;
background: var(--theme-ffffff);
color: var(--theme-2d2a26);
font: inherit;
}
.auth-priority-field input:focus {
border-color: var(--theme-777067);
box-shadow: 0 0 0 3px rgba(119, 112, 103, 0.12);
}
.auth-priority-field input[aria-invalid='true'] {
border-color: var(--theme-a83f32);
}
.auth-priority-field small {
color: var(--theme-7a746c);
font-size: var(--font-size-label);
font-weight: 400;
line-height: var(--line-height-body);
}
.page-footnote {
margin: -6px 0 0;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
}
.quota-group-list {
display: grid;
gap: 18px;
}
.quota-provider-group {
display: grid;
gap: 10px;
}
.quota-group-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
}
.quota-group-heading > div {
display: flex;
align-items: center;
gap: 8px;
}
.quota-group-heading h2 {
margin: 0;
color: var(--theme-2d2a26);
font-size: var(--font-size-panel-title);
}
.quota-group-heading .provider-logo {
width: 24px;
height: 24px;
}
.real-quota-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
gap: 12px;
}
.real-quota-card {
display: grid;
gap: 16px;
min-width: 0;
}
.real-quota-card-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
}
.real-quota-card-header > div {
display: grid;
gap: 4px;
min-width: 0;
}
.real-quota-card-header .quota-card-actions {
display: flex;
align-items: center;
gap: 7px;
flex: 0 0 auto;
}
.quota-card-actions .compact-button {
margin-top: 0;
white-space: nowrap;
}
.real-quota-card-header strong,
.real-quota-card-header span {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.real-quota-card-header span {
color: var(--theme-7a746c);
font-size: var(--font-size-label);
}
.quota-row-list {
display: grid;
gap: 13px;
}
.app-confirm-backdrop {
z-index: 160;
padding: 20px;
}
.config-dialog.app-confirm-dialog {
width: min(460px, 100%);
height: auto;
grid-template-rows: none;
gap: 18px;
max-height: calc(100vh - 40px);
overflow: auto;
}
.app-confirm-dialog > p {
margin: 0;
line-height: 1.65;
white-space: pre-wrap;
overflow-wrap: anywhere;
}
.app-confirm-details {
display: grid;
gap: 10px;
margin: 0;
padding: 12px;
border-radius: 7px;
background: var(--theme-f4f2ec);
}
.app-confirm-details > div {
display: flex;
justify-content: space-between;
gap: 16px;
}
.app-confirm-details dt {
color: var(--theme-7a746c);
}
.app-confirm-details dd {
margin: 0;
text-align: right;
overflow-wrap: anywhere;
}
.app-confirm-warning {
color: var(--theme-7a746c);
font-size: var(--font-size-label);
}
.quota-action-feedback {
display: flex;
gap: 7px;
align-items: flex-start;
padding: 9px 11px;
border-radius: 6px;
background: var(--theme-f4f2ec);
font-size: var(--font-size-label);
line-height: 1.6;
overflow-wrap: anywhere;
}
.quota-action-feedback svg {
flex-shrink: 0;
margin-top: 3px;
}
.quota-action-feedback.error {
color: var(--theme-9f2d20);
background: var(--theme-fff1ee);
}
.quota-reset-credit-summary {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 6px 14px;
padding: 8px 10px;
border-radius: 6px;
background: var(--theme-f4f2ec);
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
}
.quota-reset-credit-summary span {
white-space: nowrap;
}
.quota-reset-credit-summary strong {
color: var(--theme-2d2a26);
}
.real-quota-row {
display: grid;
gap: 6px;
}
.real-quota-row > div:first-child {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
}
.real-quota-row > div:first-child strong {
color: var(--theme-2d2a26);
}
.real-quota-track {
height: 8px;
overflow: hidden;
border-radius: 999px;
background: var(--theme-e8e5dc);
}
.real-quota-track span {
display: block;
height: 100%;
border-radius: inherit;
background: var(--theme-2d2a26);
}
.real-quota-row small {
min-height: 15px;
color: var(--theme-9a958d);
font-size: var(--font-size-meta);
}
.quota-card-message,
.quota-card-error {
display: flex;
align-items: center;
gap: 8px;
min-height: 72px;
color: var(--theme-7a746c);
font-size: var(--font-size-body);
}
.quota-card-error {
align-items: flex-start;
color: var(--theme-9f2d20);
}
.quota-summary-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
gap: 12px;
}
.quota-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
gap: 14px;
}
.quota-card {
display: grid;
grid-template-rows: 46px 34px 10px 74px;
gap: 14px;
min-height: 220px;
}
.quota-meter-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
min-width: 0;
}
.quota-meter-row strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-display);
line-height: 1;
}
.quota-meter-row span {
min-width: 0;
overflow: hidden;
color: var(--theme-7a746c);
font-size: var(--font-size-body);
text-overflow: ellipsis;
white-space: nowrap;
}
.quota-track {
height: 10px;
overflow: hidden;
border-radius: 999px;
background: var(--theme-e8e5dc);
}
.quota-track span {
display: block;
height: 100%;
border-radius: inherit;
background: var(--theme-2d2a26);
}
.quota-meta-grid {
display: grid;
grid-template-columns: 72px minmax(0, 1fr);
align-items: center;
gap: 8px 12px;
min-width: 0;
padding: 10px 12px;
border-radius: 6px;
background: var(--theme-f4f1ea);
}
.quota-meta-grid span,
.quota-meta-grid strong {
min-width: 0;
overflow: hidden;
font-size: var(--font-size-label);
text-overflow: ellipsis;
white-space: nowrap;
}
.quota-meta-grid span {
color: var(--theme-7a746c);
}
.quota-meta-grid strong {
color: var(--theme-2d2a26);
text-align: right;
}
.install-dialog-backdrop {
position: fixed;
inset: 0;
z-index: 50;
display: grid;
place-items: center;
padding: 24px;
background: rgba(45, 42, 38, 0.42);
backdrop-filter: blur(3px);
}
.install-dialog {
display: grid;
grid-template-rows: 48px 42px 10px 22px 72px 40px;
gap: 15px;
width: min(420px, 100%);
height: 360px;
padding: 24px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 8px;
outline: none;
background: var(--theme-fffdf8);
box-shadow: 0 18px 48px rgba(45, 42, 38, 0.24);
}
.install-dialog-heading {
min-width: 0;
}
.install-dialog-heading > span {
display: block;
margin-bottom: 5px;
color: var(--theme-7a746c);
font-size: var(--font-size-label);
font-weight: 700;
}
.install-dialog-heading h2 {
margin: 0;
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-dialog-title);
line-height: var(--line-height-tight);
text-overflow: ellipsis;
white-space: nowrap;
}
.install-dialog-phase {
display: grid;
grid-template-columns: 76px minmax(0, 1fr);
align-items: center;
gap: 12px;
min-width: 0;
padding: 0 12px;
border-radius: 6px;
background: var(--theme-f4f1ea);
}
.install-dialog-phase span {
color: var(--theme-7a746c);
font-size: var(--font-size-body);
}
.install-dialog-phase strong {
overflow: hidden;
color: var(--theme-2d2a26);
text-align: right;
text-overflow: ellipsis;
white-space: nowrap;
}
.install-progress-track {
width: 100%;
height: 10px;
overflow: hidden;
border-radius: 999px;
background: var(--theme-e8e5dc);
}
.install-progress-fill {
display: block;
width: 0;
height: 100%;
border-radius: inherit;
background: var(--theme-2d2a26);
transition: width 160ms ease;
}
.install-dialog.success .install-progress-fill {
background: var(--theme-2f6b3f);
}
.install-dialog.error .install-progress-fill {
background: var(--theme-9f2d20);
}
.install-progress-track.unknown .install-progress-fill {
visibility: hidden;
width: 36%;
}
.install-progress-track.unknown.is-running .install-progress-fill {
visibility: visible;
animation: install-progress-slide 1.1s ease-in-out infinite;
}
.install-progress-meta {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
min-width: 0;
color: var(--theme-6d6760);
font-size: var(--font-size-body);
}
.install-progress-meta strong,
.install-progress-meta span {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.install-progress-meta strong {
color: var(--theme-2d2a26);
}
.install-dialog-message {
overflow: auto;
padding: 10px 12px;
border-radius: 6px;
background: var(--theme-faf9f5);
color: var(--theme-5f5a53);
font-size: var(--font-size-body);
line-height: var(--line-height-body);
overflow-wrap: anywhere;
}
.install-dialog-message.success {
background: var(--theme-eef7f0);
color: var(--theme-2f6b3f);
}
.install-dialog-message.error {
background: var(--theme-fff1ee);
color: var(--theme-9f2d20);
}
.install-dialog > button {
width: 100%;
height: 40px;
}
.app-update-dialog {
grid-template-rows: none;
height: auto;
min-height: 0;
gap: 16px;
}
.app-update-confirm-copy {
margin: 0;
color: var(--theme-5f5a53);
font-size: var(--font-size-body);
line-height: var(--line-height-relaxed);
}
.app-update-dialog-actions {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}
.custom-mirror-dialog {
width: min(500px, 100%);
}
.custom-mirror-dialog-description {
margin: 0;
color: var(--theme-6f6961);
font-size: var(--font-size-body);
line-height: var(--line-height-relaxed);
}
.custom-mirror-dialog > input {
width: 100%;
height: 44px;
min-width: 0;
padding: 0 12px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 8px;
background: var(--theme-fffdf8);
color: var(--theme-2d2a26);
}
.custom-mirror-dialog-error {
color: var(--theme-9f2d20);
font-size: var(--font-size-meta);
line-height: var(--line-height-body);
}
.custom-mirror-dialog-list {
display: grid;
max-height: 150px;
gap: 6px;
overflow-y: auto;
}
.custom-mirror-dialog-list > span {
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
}
.custom-mirror-dialog-list > div {
display: grid;
grid-template-columns: minmax(0, 1fr) 34px;
align-items: center;
gap: 8px;
padding: 6px 6px 6px 10px;
border: 1px solid var(--theme-e3e1db);
border-radius: 7px;
background: var(--theme-faf8f2);
}
.custom-mirror-dialog-list > div > span {
overflow: hidden;
color: var(--theme-4b4742);
font-size: var(--font-size-meta);
text-overflow: ellipsis;
white-space: nowrap;
}
.custom-mirror-dialog-list button {
display: grid;
width: 30px;
height: 30px;
place-items: center;
padding: 0;
border: 0;
border-radius: 6px;
background: transparent;
color: var(--theme-9f2d20);
}
.custom-mirror-dialog-list button:hover:not(:disabled) {
background: rgba(159, 45, 32, 0.08);
}
.app-update-dialog .install-dialog-message {
display: flex;
align-items: center;
gap: 7px;
}
@keyframes install-progress-slide {
from {
transform: translateX(-120%);
}
to {
transform: translateX(300%);
}
}
@container agent-panel (min-width: 900px) {
.agent-core-config {
grid-template-columns: repeat(2, minmax(0, 1fr));
column-gap: 8px;
align-items: stretch;
}
.agent-status-grid,
.agent-status-messages,
.agent-config-footer {
grid-column: 1 / -1;
}
.agent-model-section {
grid-column: 1;
height: 100%;
}
.agent-modification-actions {
grid-column: 2;
height: 100%;
}
}
@container agent-panel (max-width: 760px) {
.agent-claude-code-runtime-settings {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.agent-claude-code-disable-compact {
grid-column: 1 / -1;
}
.agent-claude-desktop-mapping-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@container agent-panel (max-width: 640px) {
.agent-claude-desktop-mapping > .agent-section-heading {
align-items: stretch;
flex-direction: column;
}
.agent-claude-desktop-mapping .agent-section-heading-actions {
justify-content: space-between;
}
.agent-claude-desktop-mapping-grid {
grid-template-columns: 1fr;
}
.agent-claude-code-runtime-settings {
grid-template-columns: 1fr;
}
.agent-claude-code-disable-compact {
grid-column: auto;
}
.agent-codex-options {
grid-template-columns: 1fr;
}
.agent-status-grid {
grid-template-columns: 1fr;
min-height: 0;
}
.agent-status-grid.dual-install-status-grid {
grid-template-columns: 1fr;
}
.agent-status-grid.pi-status-grid {
grid-template-columns: 1fr;
}
.codex-session-metrics {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.codex-session-database-metric {
grid-column: 1 / -1;
}
.codex-session-repair-panel {
grid-template-columns: 1fr;
}
.codex-session-repair-actions {
justify-content: space-between;
flex-wrap: wrap;
}
.codex-session-row,
.codex-session-row:has(.codex-session-checkbox) {
grid-template-columns: minmax(0, 1fr) auto;
}
.codex-session-row:has(.codex-session-checkbox) {
grid-template-columns: 20px minmax(0, 1fr);
}
.codex-session-row:has(.codex-session-checkbox) .codex-session-main {
grid-column: 2;
}
.codex-session-meta,
.codex-session-row:has(.codex-session-checkbox) .codex-session-meta {
grid-column: 1 / -1;
grid-template-columns: auto minmax(80px, 1fr) auto;
align-items: center;
justify-items: start;
text-align: left;
}
.codex-session-meta small,
.codex-session-meta time {
max-width: none;
}
.codex-session-meta time {
justify-self: end;
}
}
@media (max-width: 1080px) {
.app-shell {
grid-template-columns: 232px minmax(0, 1fr);
}
.status-strip {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.kernel-layout {
grid-template-columns: 1fr;
}
.provider-workbench {
grid-template-columns: 1fr;
}
.provider-category-panel {
grid-template-columns: repeat(4, minmax(0, 1fr));
height: auto;
}
.provider-resource-panel {
height: 520px;
}
.real-provider-row {
grid-template-columns: 32px minmax(0, 1fr) max-content;
}
.provider-row-meta {
display: none;
}
.agent-workbench {
grid-template-columns: 200px minmax(0, 1fr);
}
.usage-overview-layout {
grid-template-columns: 1fr;
gap: 12px;
}
.usage-stat-grid {
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
.control-panel,
.version-panel {
grid-column: auto;
}
.config-management-content {
grid-template-columns: 1fr;
}
}
@media (max-width: 760px) {
.app-shell {
grid-template-columns: 1fr;
}
.sidebar {
position: static;
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 12px;
height: auto;
padding: 14px;
}
.sidebar-brand {
margin-bottom: 0;
}
.nav-section {
display: flex;
overflow-x: auto;
padding-bottom: 2px;
}
.nav-section button {
width: auto;
min-width: 116px;
text-align: center;
}
.nav-section button {
grid-template-columns: 17px minmax(0, 1fr) 10px;
}
.sidebar-bottom {
margin-top: 0;
padding-top: 0;
border-top: 0;
}
.content {
padding: 18px;
}
.status-strip {
grid-template-columns: 1fr;
}
.config-network-grid {
grid-template-columns: 1fr;
grid-auto-rows: auto;
}
.config-tls-fields {
grid-template-columns: 1fr;
}
.config-management-form {
grid-template-columns: 1fr;
}
.config-management-form-footer {
grid-column: auto;
}
.client-api-grid {
grid-template-columns: 1fr;
}
.client-api-card:last-child {
grid-column: auto;
}
.oauth-grid,
.quota-grid,
.quota-summary-grid {
grid-template-columns: 1fr;
}
.real-quota-grid {
grid-template-columns: 1fr;
}
.real-provider-row {
grid-template-columns: 32px minmax(0, 1fr) auto;
}
.real-auth-file-row {
grid-template-columns: 34px minmax(0, 1fr);
}
.auth-file-actions {
grid-column: 2;
flex-wrap: wrap;
justify-content: flex-start;
}
.auth-files-page .management-header {
align-items: stretch;
flex-direction: column;
}
.auth-files-page .management-heading-actions {
flex-wrap: wrap;
justify-content: flex-start;
}
.provider-row-meta,
.auth-file-meta {
display: none;
}
.auth-files-toolbar {
grid-template-columns: 18px minmax(0, 1fr);
}
.auth-files-toolbar select {
border-top: 1px solid var(--theme-e3e1db);
border-left: 0;
}
.auth-files-toolbar select:first-of-type {
grid-column: 1 / -1;
}
.auth-files-toolbar select:last-of-type {
grid-column: 1 / -1;
}
.provider-category-panel {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.agent-workbench {
grid-template-columns: 1fr;
}
.usage-overview-layout,
.usage-analysis-grid {
grid-template-columns: 1fr;
}
.usage-pricing-toolbar {
align-items: stretch;
flex-direction: column;
}
.usage-pricing-actions {
display: grid;
grid-template-columns: 1fr;
}
.usage-pricing-actions input {
width: 100%;
}
.usage-price-editor {
grid-template-columns: 1fr;
}
.thinking-alias-workbench {
grid-template-columns: 1fr;
}
.thinking-alias-editor-panel,
.thinking-alias-list-panel {
height: auto;
min-height: 0;
}
.thinking-model-list {
max-height: 240px;
}
.thinking-alias-list {
max-height: 460px;
}
.agent-client-list,
.agent-config-panel {
height: auto;
min-height: 0;
}
.codex-session-metrics {
grid-template-columns: repeat(3, minmax(70px, 1fr));
}
.codex-session-database-metric {
grid-column: 1 / -1;
}
.codex-session-repair-panel {
grid-template-columns: 1fr;
}
.codex-session-repair-actions {
justify-content: space-between;
}
.codex-session-row,
.codex-session-row:has(.codex-session-checkbox) {
grid-template-columns: minmax(0, 1fr) auto;
}
.codex-session-row:has(.codex-session-checkbox) .codex-session-main {
grid-column: 2;
}
.codex-session-row:has(.codex-session-checkbox) .codex-session-meta {
grid-column: 1 / -1;
}
.codex-session-meta {
grid-column: 1 / -1;
grid-template-columns: auto minmax(80px, 1fr) auto;
align-items: center;
justify-items: start;
text-align: left;
}
.codex-session-meta small,
.codex-session-meta time {
max-width: none;
}
.codex-session-meta time {
justify-self: end;
}
.agents-page,
.agent-config-panel {
grid-template-rows: auto;
}
.agent-model-section,
.agent-modification-actions {
height: auto;
}
.agent-list-items {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.agent-list-items button {
grid-template-columns: 26px minmax(0, 1fr) 8px;
}
.auth-filter-grid {
grid-template-columns: 1fr;
}
.auth-files-panel {
grid-template-rows: 84px auto minmax(0, 1fr);
height: 660px;
}
.panel {
padding: 18px;
}
.kernel-layout > .panel {
padding: 20px;
}
}
@media (max-width: 620px) {
.agent-modification-buttons.codex {
grid-template-columns: 1fr;
}
}
@media (max-width: 520px) {
.usage-data-management-heading,
.usage-data-management-action,
.usage-data-management-result {
align-items: stretch;
flex-direction: column;
}
.usage-data-management-action .primary-button {
width: 100%;
}
.panel-heading {
flex-direction: column;
}
.button-row {
grid-auto-columns: auto;
grid-auto-flow: row;
grid-template-columns: 1fr;
}
.primary-button,
.secondary-button,
.danger-button {
width: 100%;
}
.config-management-form-footer {
grid-template-columns: 1fr;
}
.config-management-actions {
display: grid;
grid-template-columns: 1fr;
width: 100%;
}
.kernel-layout .panel-heading {
flex-direction: row;
}
.management-header {
align-items: start;
flex-direction: column;
}
.agent-header-actions {
width: 100%;
align-items: stretch;
flex-direction: column;
}
.agent-header-actions .agent-inline-message {
max-width: none;
text-align: left;
}
.agent-subpage-tabs {
width: 100%;
grid-auto-columns: minmax(104px, 1fr);
}
.codex-session-overview,
.codex-session-list-section {
padding: 12px;
}
.codex-session-overview-head,
.codex-session-list-head {
align-items: stretch;
flex-direction: column;
}
.codex-session-overview-head .compact-button {
width: 100%;
}
.codex-session-metrics {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.codex-session-database-metric {
grid-column: 1 / -1;
}
.codex-session-repair-actions,
.codex-session-selection-actions {
width: 100%;
align-items: stretch;
flex-direction: column;
}
.codex-session-row,
.codex-session-row:has(.codex-session-checkbox) {
grid-template-columns: 20px minmax(0, 1fr);
gap: 9px;
}
.codex-session-row:not(:has(.codex-session-checkbox)) .codex-session-main,
.codex-session-row:not(:has(.codex-session-checkbox)) .codex-session-meta,
.codex-session-row:not(:has(.codex-session-checkbox)) .codex-session-delete-button {
grid-column: 1 / -1;
}
.codex-session-main,
.codex-session-row:has(.codex-session-checkbox) .codex-session-main {
grid-column: 2;
}
.codex-session-meta,
.codex-session-row:has(.codex-session-checkbox) .codex-session-meta {
grid-column: 1 / -1;
grid-template-columns: auto minmax(0, 1fr);
gap: 6px;
}
.codex-session-meta time {
grid-column: 1 / -1;
justify-self: start;
}
.codex-session-delete-button {
grid-column: 1 / -1;
width: 100%;
}
.codex-session-cleanup-dialog {
max-height: calc(100vh - 28px);
}
.usage-tabs {
width: 100%;
display: flex;
flex-wrap: wrap;
}
.usage-tabs button {
flex: 1 1 45%;
min-width: 0;
padding: 0 7px;
}
.usage-topbar-actions {
width: 100%;
}
.usage-collector-state {
flex: 1;
}
.usage-stat-grid {
grid-template-columns: 1fr;
}
.usage-custom-range {
flex-direction: column;
align-items: stretch;
}
.provider-category-panel {
grid-template-columns: 1fr;
}
.real-provider-row {
grid-template-columns: 32px minmax(0, 1fr);
}
.provider-row-actions {
grid-column: 2;
flex-wrap: wrap;
justify-content: flex-start;
}
.thinking-effort-options {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.thinking-alias-row {
grid-template-columns: minmax(0, 1fr) auto;
}
.thinking-alias-route {
grid-column: 1 / -1;
}
.agent-list-items,
.agent-status-grid {
grid-template-columns: 1fr;
}
.agent-status-grid {
height: auto;
}
.agent-section-heading {
align-items: stretch;
flex-direction: column;
}
.agent-modification-control > .agent-inline-message {
max-width: none;
text-align: left;
}
.agent-config-footer,
.agent-launch-actions {
width: 100%;
}
.agent-launch-control {
width: 100%;
justify-items: stretch;
}
.agent-launch-actions {
display: grid;
grid-template-columns: 1fr;
}
.agent-launch-actions > button {
width: 100%;
}
.agent-launch-control > .agent-inline-message {
max-width: none;
text-align: left;
}
.oauth-card {
grid-template-rows: auto auto auto;
min-height: 0;
}
.oauth-browser-picker {
width: 100%;
grid-template-columns: 1fr;
justify-content: stretch;
}
.oauth-browser-picker small {
grid-column: 1;
text-align: left;
}
.oauth-card-body,
.oauth-callback-row {
grid-template-columns: 1fr;
grid-template-rows: auto;
}
.oauth-callback-row {
align-items: stretch;
}
.management-panel-heading {
align-items: start;
flex-direction: column;
}
.management-heading-actions {
width: 100%;
}
.management-heading-actions button {
flex: 1;
}
.management-heading-actions {
flex-wrap: wrap;
}
.muted-summary {
width: 100%;
}
.compact-toolbar {
width: 100%;
}
.real-provider-row {
grid-template-columns: 32px minmax(0, 1fr);
}
.real-auth-file-row {
grid-template-columns: 30px minmax(0, 1fr);
}
.provider-row-actions {
grid-column: 2;
justify-content: flex-start;
}
.auth-file-actions {
grid-column: 2;
flex-wrap: wrap;
justify-content: flex-start;
}
.real-auth-file-row > .provider-logo {
align-self: start;
margin-top: 3px;
}
.info-list div {
grid-template-columns: 1fr;
gap: 4px;
}
.install-dialog-backdrop {
padding: 16px;
}
.config-dialog-backdrop {
padding: 14px;
}
.config-dialog {
padding: 18px;
}
.model-discovery-backdrop {
padding: 12px;
}
.model-discovery-dialog {
grid-template-rows: auto 40px auto minmax(180px, 1fr) 40px;
height: calc(100vh - 24px);
min-height: 0;
padding: 16px;
}
.model-discovery-header > div {
display: grid;
gap: 2px;
}
.model-discovery-toolbar {
align-items: stretch;
flex-direction: column;
gap: 8px;
}
.model-discovery-toolbar > div,
.model-discovery-actions {
width: 100%;
}
.model-discovery-toolbar button,
.model-discovery-actions button {
flex: 1;
min-width: 0;
}
.provider-health-overview {
grid-template-columns: 1fr;
}
.provider-health-overview span,
.provider-health-overview small {
grid-column: auto;
white-space: normal;
}
.provider-health-model-row {
grid-template-columns: minmax(0, 1fr) auto;
}
.provider-health-single-button {
grid-column: 1 / -1;
width: 100%;
}
}
@media (prefers-reduced-motion: reduce) {
.install-progress-track.unknown.is-running .install-progress-fill {
animation-duration: 2.2s;
}
}
.inline-notice {
margin: 0 0 12px;
padding: 10px 12px;
border: 1px solid var(--theme-e2ddd3);
border-radius: 8px;
background: var(--theme-f8f5ef);
color: var(--theme-2d2a26);
font-size: var(--font-size-body);
line-height: var(--line-height-body);
}
.inline-notice.success {
border-color: var(--theme-c9dfcf);
background: var(--theme-eef7f0);
color: var(--theme-2f6b3a);
}
.inline-notice.error {
border-color: var(--theme-efc9c2);
background: var(--theme-fdf1ee);
color: var(--theme-a33b2b);
}
/* Easy mode onboarding */
.easy-mode-page {
display: grid;
gap: 20px;
max-width: 980px;
margin-inline: auto;
}
.easy-mode-hero {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 24px;
}
.easy-mode-hero-copy {
min-width: 0;
}
.easy-mode-eyebrow {
display: inline-flex;
align-items: center;
gap: 6px;
color: var(--ui-accent-strong);
font-size: var(--font-size-label);
font-weight: 800;
letter-spacing: 0.03em;
text-transform: uppercase;
}
.easy-mode-hero h1 {
margin: 8px 0 7px;
color: var(--theme-2d2a26);
font-size: clamp(26px, 3vw, 36px);
line-height: 1.12;
}
.easy-mode-hero p {
max-width: 660px;
margin: 0;
color: var(--theme-5f5a53);
font-size: var(--font-size-body);
line-height: var(--line-height-body);
}
.easy-mode-reset {
flex: none;
min-height: 38px;
}
.easy-mode-core-alert {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
align-items: center;
gap: 13px;
padding: 14px 16px;
border: 1px solid var(--theme-dfbf91);
border-radius: 11px;
background: var(--theme-fff7e9);
color: var(--theme-5f5a53);
}
.easy-mode-alert-icon {
display: grid;
width: 38px;
height: 38px;
place-items: center;
border-radius: 10px;
background: var(--theme-e4d0af);
color: var(--theme-805a24);
}
.easy-mode-core-alert strong {
display: block;
color: var(--theme-2d2a26);
}
.easy-mode-core-alert p {
margin: 3px 0 0;
font-size: var(--font-size-label);
line-height: var(--line-height-body);
}
.easy-mode-core-alert .secondary-button {
min-height: 36px;
white-space: nowrap;
}
.easy-mode-stepper {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 10px;
}
.easy-mode-stepper-item {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
align-items: center;
gap: 10px;
min-width: 0;
min-height: 64px;
padding: 10px 12px;
border: 1px solid var(--theme-e3e1db);
border-radius: 10px;
background: var(--theme-fffdf8);
color: var(--theme-5f5a53);
text-align: left;
}
.easy-mode-stepper-item:hover:not(:disabled) {
border-color: color-mix(in srgb, var(--ui-accent) 42%, var(--theme-e3e1db));
background: var(--theme-f8f5ee);
}
.easy-mode-stepper-item:disabled {
cursor: not-allowed;
opacity: 0.58;
}
.easy-mode-stepper-item.active {
border-color: color-mix(in srgb, var(--ui-accent) 38%, var(--theme-e3e1db));
background: var(--ui-accent-soft);
color: var(--ui-accent-strong);
box-shadow: 0 5px 14px var(--ui-accent-shadow);
}
.easy-mode-stepper-number {
display: grid;
width: 30px;
height: 30px;
place-items: center;
border: 1px solid var(--theme-d5d2cb);
border-radius: 999px;
background: var(--theme-faf9f5);
color: var(--theme-716b61);
font-weight: 800;
}
.easy-mode-stepper-item.active .easy-mode-stepper-number,
.easy-mode-stepper-item.complete .easy-mode-stepper-number {
border-color: var(--ui-accent);
background: var(--ui-accent);
color: #ffffff;
}
.easy-mode-stepper-item small,
.easy-mode-stepper-item strong {
display: block;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.easy-mode-stepper-item small {
margin-bottom: 2px;
color: var(--theme-7a746c);
font-size: var(--font-size-caption);
}
.easy-mode-stepper-item strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-body);
}
.easy-mode-panel {
display: grid;
gap: 20px;
padding: clamp(20px, 3vw, 30px);
}
.easy-mode-panel-heading {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
}
.easy-mode-panel-heading > div:first-child {
display: flex;
align-items: flex-start;
gap: 12px;
min-width: 0;
}
.easy-mode-step-badge {
display: grid;
flex: none;
width: 32px;
height: 32px;
place-items: center;
border-radius: 9px;
background: var(--ui-accent);
color: #ffffff;
font-weight: 800;
}
.easy-mode-panel-heading h2 {
margin: 0;
}
.easy-mode-panel-heading p {
margin: 5px 0 0;
color: var(--theme-5f5a53);
line-height: var(--line-height-body);
}
.easy-mode-choice-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
}
.easy-mode-choice-card {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
align-items: center;
gap: 13px;
min-width: 0;
min-height: 118px;
padding: 18px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 11px;
background: var(--theme-faf9f5);
color: var(--theme-2d2a26);
text-align: left;
transition: border-color 140ms ease, background 140ms ease, transform 140ms ease, box-shadow 140ms ease;
}
.easy-mode-choice-card:hover {
border-color: color-mix(in srgb, var(--ui-accent) 48%, var(--theme-d5d2cb));
background: var(--theme-fffdf8);
transform: translateY(-1px);
}
.easy-mode-choice-card.selected {
border-color: var(--ui-accent);
background: var(--ui-accent-soft);
box-shadow: 0 7px 18px var(--ui-accent-shadow);
}
.easy-mode-choice-icon {
display: grid;
flex: none;
width: 43px;
height: 43px;
place-items: center;
border-radius: 11px;
}
.easy-mode-choice-icon.oauth {
background: var(--theme-dce2fb);
color: var(--theme-344ca1);
}
.easy-mode-choice-icon.api {
background: var(--theme-dce8df);
color: var(--theme-2f6b3a);
}
.easy-mode-choice-copy {
display: grid;
gap: 5px;
min-width: 0;
}
.easy-mode-choice-copy strong {
font-size: var(--font-size-section);
}
.easy-mode-choice-copy span {
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
}
.easy-mode-choice-card > svg {
color: var(--theme-7a746c);
}
.easy-mode-hint,
.easy-mode-inline-warning,
.easy-mode-footer {
display: flex;
align-items: flex-start;
gap: 8px;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
}
.easy-mode-hint {
padding: 11px 13px;
border-radius: 8px;
background: var(--theme-f1f8f1);
color: var(--theme-2f6b3a);
}
.easy-mode-hint svg,
.easy-mode-footer svg {
flex: none;
margin-top: 1px;
}
.easy-mode-selected-path {
display: flex;
align-items: center;
gap: 12px;
padding: 12px 14px;
border: 1px solid var(--theme-e3e1db);
border-radius: 9px;
background: var(--theme-faf9f5);
}
.easy-mode-selected-path > div {
display: grid;
gap: 3px;
min-width: 0;
}
.easy-mode-selected-path small {
color: var(--theme-7a746c);
font-size: var(--font-size-caption);
}
.easy-mode-selected-path strong {
color: var(--theme-2d2a26);
}
.text-button {
margin-left: auto;
padding: 4px 0;
border: 0;
background: transparent;
color: var(--ui-accent-strong);
font-size: var(--font-size-label);
font-weight: 700;
white-space: nowrap;
}
.text-button:hover {
text-decoration: underline;
text-underline-offset: 3px;
}
.easy-mode-checklist {
display: grid;
gap: 12px;
margin: 0;
padding: 0;
list-style: none;
}
.easy-mode-checklist li {
display: grid;
grid-template-columns: 27px minmax(0, 1fr);
align-items: start;
gap: 10px;
}
.easy-mode-checklist li > span {
display: grid;
width: 27px;
height: 27px;
place-items: center;
border: 1px solid var(--theme-d5d2cb);
border-radius: 999px;
background: var(--theme-faf9f5);
color: var(--ui-accent-strong);
font-size: var(--font-size-label);
font-weight: 800;
}
.easy-mode-checklist p {
margin: 3px 0 0;
color: var(--theme-2d2a26);
line-height: var(--line-height-body);
}
.easy-mode-actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 2px;
}
.easy-mode-actions button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 7px;
min-height: 42px;
}
.easy-mode-inline-warning {
margin: -8px 0 0;
color: var(--theme-9f2d20);
}
.easy-mode-agent-layout {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
align-items: center;
gap: 14px;
padding: 18px;
border: 1px solid var(--theme-c9d8ca);
border-radius: 10px;
background: var(--theme-f1f8f1);
}
.easy-mode-agent-icon {
display: grid;
width: 54px;
height: 54px;
place-items: center;
border-radius: 14px;
background: var(--theme-2f6b3a);
color: #ffffff;
}
.easy-mode-agent-layout strong {
color: var(--theme-2d2a26);
}
.easy-mode-agent-layout p {
margin: 4px 0 0;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
}
.easy-mode-footer {
justify-content: center;
padding: 2px 0 8px;
color: var(--theme-7a746c);
}
@media (max-width: 680px) {
.simple-mode-step-status-track {
grid-template-columns: 1fr;
gap: 4px;
}
.simple-mode-step-status-connector {
width: 1px;
height: 10px;
margin-left: 12px;
}
.simple-mode-step-status-copy small {
white-space: normal;
}
.easy-mode-hero {
flex-direction: column;
gap: 14px;
}
.easy-mode-reset {
width: 100%;
}
.easy-mode-core-alert {
grid-template-columns: auto minmax(0, 1fr);
}
.easy-mode-core-alert .secondary-button {
grid-column: 1 / -1;
width: 100%;
}
.easy-mode-stepper,
.easy-mode-choice-grid {
grid-template-columns: 1fr;
}
.easy-mode-stepper-item {
min-height: 56px;
}
.easy-mode-panel-heading {
flex-direction: column;
}
.easy-mode-selected-path {
align-items: flex-start;
flex-wrap: wrap;
}
.easy-mode-selected-path .text-button {
width: 100%;
margin-left: 0;
text-align: left;
}
.easy-mode-actions {
display: grid;
grid-template-columns: 1fr;
}
.easy-mode-actions button {
width: 100%;
}
}
/* Simplified onboarding flow */
.simple-mode-page {
display: grid;
gap: 18px;
max-width: 920px;
margin-inline: auto;
}
.simple-mode-step-status {
display: grid;
gap: 10px;
padding: 12px 14px;
border: 1px solid var(--theme-e3e1db);
border-radius: 10px;
background: var(--theme-fffdf8);
}
.simple-mode-step-status-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
}
.simple-mode-step-status-heading strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
}
.simple-mode-step-status-track {
display: grid;
grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr);
align-items: center;
gap: 8px;
}
.simple-mode-step-status-item {
display: grid;
grid-template-columns: auto minmax(0, 1fr);
align-items: center;
gap: 9px;
min-width: 0;
padding: 9px 10px;
border: 1px solid transparent;
border-radius: 8px;
color: var(--theme-7a746c);
}
.simple-mode-step-status-item.active {
border-color: color-mix(in srgb, var(--ui-accent) 42%, var(--theme-e3e1db));
background: var(--ui-accent-soft);
}
.simple-mode-step-status-item.complete {
color: var(--theme-5f5a53);
}
.simple-mode-step-status-number {
display: grid;
width: 25px;
height: 25px;
place-items: center;
border: 1px solid var(--theme-d5d2cb);
border-radius: 999px;
background: var(--theme-faf9f5);
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
font-weight: 800;
}
.simple-mode-step-status-item.active .simple-mode-step-status-number {
border-color: var(--ui-accent);
background: var(--ui-accent);
color: #ffffff;
}
.simple-mode-step-status-item.complete .simple-mode-step-status-number {
border-color: var(--theme-b6d3bd);
background: var(--theme-f1f8f1);
color: var(--theme-2f6b3a);
}
.simple-mode-step-status-copy {
display: grid;
min-width: 0;
gap: 2px;
}
.simple-mode-step-status-copy strong,
.simple-mode-step-status-copy small {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.simple-mode-step-status-copy strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
}
.simple-mode-step-status-copy small {
color: var(--theme-7a746c);
font-size: var(--font-size-caption);
}
.simple-mode-step-status-connector {
height: 1px;
background: var(--theme-d5d2cb);
}
.simple-mode-step-status-connector.complete {
background: var(--theme-b6d3bd);
}
.simple-mode-core-alert {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 14px 16px;
border: 1px solid var(--theme-dfbf91);
border-radius: 10px;
background: var(--theme-fff7e9);
color: var(--theme-5f5a53);
}
.simple-mode-core-alert > div {
min-width: 0;
}
.simple-mode-core-alert strong {
display: block;
color: var(--theme-2d2a26);
}
.simple-mode-core-alert p {
margin: 3px 0 0;
font-size: var(--font-size-label);
line-height: var(--line-height-body);
}
.simple-mode-core-alert .secondary-button {
flex: none;
min-height: 36px;
white-space: nowrap;
}
.simple-mode-progress {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
}
.simple-mode-progress-item {
display: grid;
grid-template-columns: minmax(0, 1fr);
align-items: center;
gap: 9px;
min-width: 0;
min-height: 60px;
padding: 9px 11px;
border: 1px solid var(--theme-e3e1db);
border-radius: 9px;
background: var(--theme-fffdf8);
color: var(--theme-5f5a53);
text-align: left;
}
.simple-mode-progress-item:hover:not(:disabled) {
border-color: color-mix(in srgb, var(--ui-accent) 38%, var(--theme-e3e1db));
background: var(--theme-f8f5ee);
}
.simple-mode-progress-item:disabled {
cursor: not-allowed;
opacity: 0.55;
}
.simple-mode-progress-item.active {
border-color: color-mix(in srgb, var(--ui-accent) 40%, var(--theme-e3e1db));
background: var(--ui-accent-soft);
box-shadow: 0 4px 12px var(--ui-accent-shadow);
}
.simple-mode-progress-item strong {
display: block;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.simple-mode-progress-item strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-body);
}
.simple-mode-task {
display: grid;
gap: 18px;
padding: clamp(20px, 3vw, 28px);
}
.simple-mode-task-heading {
display: flex;
align-items: flex-start;
gap: 11px;
}
.simple-mode-task-heading h2 {
margin: 0;
color: var(--theme-2d2a26);
font-size: var(--font-size-panel-title);
}
.simple-mode-task-heading p {
margin: 4px 0 0;
color: var(--theme-5f5a53);
line-height: var(--line-height-body);
white-space: pre-line;
}
.simple-mode-instruction {
margin: -3px 0 0;
color: var(--theme-2d2a26);
font-weight: 650;
}
.simple-mode-guide-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 12px;
}
.simple-mode-guide-card {
display: grid;
align-content: start;
gap: 7px;
min-width: 0;
min-height: 170px;
padding: 15px;
border: 1px solid var(--theme-e3e1db);
border-radius: 10px;
background: var(--theme-faf9f5);
}
.simple-mode-guide-label {
color: var(--ui-accent-strong);
font-size: var(--font-size-caption);
font-weight: 800;
}
.simple-mode-guide-card > strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-section);
}
.simple-mode-guide-card > p {
flex: 1;
margin: 0;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
}
.simple-mode-choice-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.simple-mode-choice {
display: grid;
align-content: start;
gap: 7px;
min-width: 0;
min-height: 104px;
padding: 16px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 10px;
background: var(--theme-faf9f5);
color: var(--theme-2d2a26);
text-align: left;
transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}
.simple-mode-choice:hover {
border-color: color-mix(in srgb, var(--ui-accent) 42%, var(--theme-d5d2cb));
background: var(--theme-fffdf8);
}
.simple-mode-choice.selected {
border-color: var(--ui-accent);
background: var(--ui-accent-soft);
box-shadow: 0 5px 14px var(--ui-accent-shadow);
}
.simple-mode-choice strong {
font-size: var(--font-size-section);
}
.simple-mode-choice span {
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
}
.simple-mode-choice small {
color: var(--theme-7a746c);
font-size: var(--font-size-caption);
line-height: var(--line-height-body);
}
.simple-mode-task-footer {
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px;
padding-top: 2px;
border-top: 1px solid var(--theme-e3e1db);
}
.simple-mode-selection {
min-width: 0;
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
}
.simple-mode-selection.muted {
color: var(--theme-7a746c);
}
.simple-mode-task-footer > .primary-button,
.simple-mode-task-footer > .secondary-button {
flex: none;
min-height: 40px;
}
.simple-mode-path-row {
display: flex;
align-items: center;
gap: 8px;
padding: 10px 12px;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-faf9f5);
color: var(--theme-7a746c);
font-size: var(--font-size-label);
}
.simple-mode-path-row strong {
color: var(--theme-2d2a26);
}
.simple-mode-path-row .text-button {
margin-left: auto;
}
.simple-mode-action-card {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 16px;
border: 1px solid var(--theme-c9d6e2);
border-radius: 10px;
background: var(--theme-f1f6fa);
}
.simple-mode-action-card > div {
min-width: 0;
}
.simple-mode-action-card strong {
color: var(--theme-2d2a26);
}
.simple-mode-action-card p {
margin: 4px 0 0;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
}
.simple-mode-action-card .primary-button {
flex: none;
min-height: 40px;
}
.simple-mode-agent-card {
border-color: var(--theme-c9d8ca);
background: var(--theme-f1f8f1);
}
.simple-mode-checklist {
display: grid;
gap: 11px;
margin: 0;
padding: 0;
list-style: none;
}
.simple-mode-checklist li {
display: grid;
grid-template-columns: 25px minmax(0, 1fr);
align-items: start;
gap: 10px;
}
.simple-mode-checklist li > span {
display: grid;
width: 25px;
height: 25px;
place-items: center;
border: 1px solid var(--theme-d5d2cb);
border-radius: 999px;
background: var(--theme-faf9f5);
color: var(--ui-accent-strong);
font-size: var(--font-size-label);
font-weight: 800;
}
.simple-mode-checklist p {
margin: 3px 0 0;
color: var(--theme-2d2a26);
line-height: var(--line-height-body);
}
.simple-mode-guide-list li > div {
display: grid;
gap: 3px;
min-width: 0;
}
.simple-mode-guide-list strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-body);
}
.simple-mode-guide-list p {
margin: 0;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
}
.simple-mode-warning {
margin: -6px 0 0;
color: var(--theme-9f2d20);
font-size: var(--font-size-label);
}
.simple-mode-actions {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.simple-mode-embedded-task {
display: grid;
gap: 16px;
padding: clamp(18px, 2.5vw, 24px);
}
.simple-mode-embedded-heading {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
}
.simple-mode-embedded-heading > div:first-child {
display: flex;
align-items: flex-start;
gap: 11px;
min-width: 0;
}
.simple-mode-embedded-heading h2 {
margin: 0;
color: var(--theme-2d2a26);
font-size: var(--font-size-panel-title);
}
.simple-mode-embedded-heading p {
margin: 4px 0 0;
color: var(--theme-5f5a53);
line-height: var(--line-height-body);
}
.simple-mode-embedded-content {
min-width: 0;
padding: 18px;
border: 1px solid var(--theme-e3e1db);
border-radius: 10px;
background: var(--theme-faf9f5);
container-type: inline-size;
container-name: workspace;
}
.simple-mode-provider-hint {
padding: 11px 13px;
border: 1px solid color-mix(in srgb, var(--ui-accent) 30%, var(--theme-e3e1db));
border-radius: 8px;
background: var(--ui-accent-soft);
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
white-space: pre-line;
}
.simple-mode-embedded-content > .page {
max-width: none;
}
.simple-mode-flow-navigation {
display: flex;
align-items: center;
justify-content: flex-start;
gap: 8px;
padding-bottom: 14px;
border-bottom: 1px solid var(--theme-e3e1db);
}
.simple-mode-flow-navigation > button {
min-width: 96px;
min-height: 40px;
white-space: nowrap;
}
.simple-mode-flow-navigation > .primary-button {
margin-left: auto;
}
.simple-mode-progress {
position: relative;
gap: 12px;
}
.simple-mode-progress-item {
position: relative;
min-height: 76px;
padding: 13px 16px;
border-radius: 13px;
background: color-mix(in srgb, var(--theme-fffdf8) 90%, var(--theme-faf9f5));
transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.simple-mode-progress-item:hover:not(:disabled) {
transform: translateY(-1px);
}
.simple-mode-progress-item-head {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
align-items: center;
gap: 10px;
min-width: 0;
}
.simple-mode-step-badge {
display: grid;
width: 29px;
height: 29px;
place-items: center;
border: 1px solid var(--theme-d5d2cb);
border-radius: 999px;
background: var(--theme-faf9f5);
color: var(--theme-7a746c);
font-size: var(--font-size-label);
font-weight: 800;
transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
}
.simple-mode-progress-item.active .simple-mode-step-badge {
border-color: var(--ui-accent);
background: var(--ui-accent);
color: #ffffff;
}
.simple-mode-progress-copy {
display: grid;
min-width: 0;
gap: 3px;
}
.simple-mode-progress-copy strong {
min-width: 0;
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-body);
text-overflow: ellipsis;
white-space: nowrap;
}
.simple-mode-progress-copy small {
overflow: hidden;
color: var(--theme-7a746c);
font-size: var(--font-size-caption);
text-overflow: ellipsis;
white-space: nowrap;
}
.simple-mode-task {
gap: 22px;
padding: clamp(22px, 3vw, 32px);
border-radius: 16px;
box-shadow: 0 14px 34px color-mix(in srgb, var(--ui-accent-shadow) 58%, transparent);
}
.simple-mode-task-heading {
align-items: center;
gap: 12px;
}
.simple-mode-heading-icon {
display: grid;
flex: none;
width: 38px;
height: 38px;
place-items: center;
border: 1px solid color-mix(in srgb, var(--ui-accent) 27%, var(--theme-e3e1db));
border-radius: 11px;
background: var(--ui-accent-soft);
color: var(--ui-accent-strong);
}
.simple-mode-task-heading > div {
min-width: 0;
}
.simple-mode-task-heading h2 {
font-size: clamp(20px, 2.2vw, 24px);
line-height: 1.2;
}
.simple-mode-task-heading p {
max-width: 700px;
margin-top: 6px;
font-size: var(--font-size-body);
}
.simple-mode-choice-grid {
gap: 14px;
}
.simple-mode-choice {
gap: 10px;
min-height: 132px;
padding: 18px;
border-radius: 13px;
background: var(--theme-fffdf8);
transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.simple-mode-choice:hover {
transform: translateY(-1px);
box-shadow: 0 8px 20px rgba(45, 42, 38, 0.08);
}
.simple-mode-choice-heading {
display: flex;
align-items: center;
gap: 10px;
min-width: 0;
}
.simple-mode-choice-icon {
display: grid;
flex: none;
width: 32px;
height: 32px;
place-items: center;
border: 1px solid var(--theme-e3e1db);
border-radius: 9px;
background: var(--theme-faf9f5);
color: var(--theme-7a746c);
}
.simple-mode-choice.selected .simple-mode-choice-icon {
border-color: color-mix(in srgb, var(--ui-accent) 30%, var(--theme-e3e1db));
background: var(--theme-fffdf8);
color: var(--ui-accent-strong);
}
.simple-mode-choice-title {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
min-width: 0;
flex: 1;
}
.simple-mode-choice-title strong {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.simple-mode-choice-title .state-pill {
flex: none;
}
.simple-mode-choice > span:not(.simple-mode-choice-icon) {
padding-left: 42px;
}
.simple-mode-choice > small {
padding-left: 42px;
}
.simple-mode-embedded-box {
display: grid;
gap: 14px;
padding: 14px;
border: 1px solid var(--theme-e3e1db);
border-radius: 13px;
background: color-mix(in srgb, var(--theme-faf9f5) 82%, var(--theme-fffdf8));
}
.simple-mode-provider-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
gap: 12px;
}
.simple-mode-provider-card {
grid-template-rows: minmax(0, 1fr) auto;
gap: 16px;
min-height: 158px;
height: auto;
padding: 16px;
border-radius: 12px;
background: var(--theme-fffdf8);
transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.simple-mode-provider-card:hover {
transform: translateY(-1px);
border-color: color-mix(in srgb, var(--ui-accent) 30%, var(--theme-e3e1db));
box-shadow: 0 8px 20px rgba(45, 42, 38, 0.07);
}
.simple-mode-provider-card.connected {
border-color: var(--theme-b6d3bd);
background: var(--ui-accent-soft);
}
.simple-mode-provider-card-head {
display: flex;
align-items: flex-start;
gap: 11px;
min-width: 0;
}
.simple-mode-provider-logo {
width: 36px;
height: 36px;
flex: none;
border-radius: 10px;
}
.simple-mode-provider-logo img {
width: 22px;
height: 22px;
}
.simple-mode-provider-copy {
display: grid;
min-width: 0;
gap: 4px;
}
.simple-mode-provider-copy strong {
overflow: hidden;
color: var(--theme-2d2a26);
font-size: 15px;
text-overflow: ellipsis;
white-space: nowrap;
}
.simple-mode-provider-copy span {
color: var(--theme-5f5a53);
font-size: var(--font-size-meta);
line-height: var(--line-height-body);
}
.simple-mode-provider-card-foot {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
min-width: 0;
}
.simple-mode-provider-card-foot .primary-button,
.simple-mode-provider-card-foot .secondary-button {
min-height: 34px;
padding-inline: 13px;
font-size: var(--font-size-label);
}
.simple-mode-api-form {
display: grid;
gap: 18px;
padding: 20px;
border: 1px solid var(--theme-d8d4cc);
border-radius: 12px;
background: var(--theme-fffdf8);
}
.simple-mode-api-model-card {
display: grid;
gap: 11px;
padding-top: 2px;
}
.simple-mode-api-model-fetch {
display: flex;
justify-content: flex-start;
}
.simple-mode-api-fetch-button {
min-height: 36px;
padding-inline: 14px;
white-space: nowrap;
}
.simple-mode-api-model-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
min-width: 0;
}
.simple-mode-api-model-heading strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
font-weight: 700;
}
.simple-mode-api-model-heading .secondary-button {
min-height: 36px;
flex: none;
padding-inline: 11px;
white-space: nowrap;
}
.simple-mode-api-model-selection {
display: grid;
gap: 8px;
}
.simple-mode-api-model-selection-heading {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 10px;
}
.simple-mode-api-model-selection-heading strong {
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
}
.simple-mode-api-model-selection-heading span {
color: var(--theme-7a746c);
font-size: var(--font-size-caption);
}
.simple-mode-api-model-options {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 2px 18px;
max-height: 220px;
overflow-y: auto;
padding: 6px 0;
border-top: 1px solid var(--theme-e3e1db);
border-bottom: 1px solid var(--theme-e3e1db);
}
.simple-mode-api-model-option {
display: flex;
align-items: center;
gap: 8px;
min-width: 0;
min-height: 33px;
padding: 5px 7px;
border-radius: 6px;
background: transparent;
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
cursor: pointer;
}
.simple-mode-api-model-option:hover,
.simple-mode-api-model-option.selected {
background: var(--theme-faf9f5);
}
.simple-mode-api-model-option input {
flex: none;
width: 15px;
height: 15px;
margin: 0;
accent-color: var(--ui-accent);
}
.simple-mode-api-model-option > span {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.simple-mode-api-platforms {
display: flex;
flex-wrap: wrap;
gap: 6px;
padding: 4px;
border: 1px solid var(--theme-e3e1db);
border-radius: 10px;
background: var(--theme-faf9f5);
}
.simple-mode-api-platform {
flex: 1 1 132px;
min-width: 0;
min-height: 38px;
gap: 7px;
padding-inline: 12px;
border-color: transparent;
background: transparent;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
font-weight: 700;
}
.simple-mode-api-platform:hover:not(:disabled) {
border-color: transparent;
background: var(--theme-e8e5dc);
}
.simple-mode-api-platform.active {
border-color: var(--ui-accent);
background: var(--theme-fffdf8);
color: var(--theme-2d2a26);
box-shadow: 0 2px 6px rgba(45, 42, 38, 0.08);
}
.simple-mode-api-platform-icon {
width: 16px;
height: 16px;
object-fit: contain;
}
.simple-mode-api-fields {
display: grid;
grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.9fr);
gap: 14px;
}
.simple-mode-field {
display: grid;
gap: 8px;
min-width: 0;
}
.simple-mode-field label {
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
font-weight: 700;
letter-spacing: 0.01em;
}
.simple-mode-field .text-input,
.simple-mode-field .select-input {
box-sizing: border-box;
width: 100%;
min-height: 44px;
padding: 0 13px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 9px;
background: var(--theme-faf9f5);
color: var(--theme-2d2a26);
font-size: var(--font-size-body);
box-shadow: inset 0 1px 2px rgba(45, 42, 38, 0.04);
transition: border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}
.simple-mode-field .text-input:hover:not(:disabled),
.simple-mode-field .select-input:hover:not(:disabled) {
border-color: var(--theme-9b958c);
background: var(--theme-fffdf8);
}
.simple-mode-field .text-input:focus,
.simple-mode-field .select-input:focus {
outline: none;
border-color: var(--ui-accent);
background: var(--theme-fffdf8);
box-shadow: 0 0 0 3px var(--ui-accent-shadow);
}
.simple-mode-field .text-input::placeholder {
color: var(--theme-9b958c);
}
.simple-mode-api-actions,
.simple-mode-agent-actions {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 10px;
}
.simple-mode-api-actions .primary-button,
.simple-mode-api-actions .secondary-button,
.simple-mode-agent-actions .primary-button,
.simple-mode-agent-actions .secondary-button {
gap: 7px;
}
.simple-mode-api-result {
display: grid;
gap: 9px;
margin-top: 1px;
padding: 12px;
border: 1px solid var(--theme-b6d3bd);
border-radius: 9px;
background: var(--ui-accent-soft);
}
.simple-mode-api-result-heading {
display: flex;
align-items: center;
gap: 7px;
color: var(--theme-2d2a26);
font-size: var(--font-size-label);
font-weight: 700;
}
.simple-mode-model-tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.simple-mode-model-tag {
padding: 3px 8px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 5px;
background: var(--theme-fffdf8);
color: var(--theme-4f4a43);
font-size: var(--font-size-meta);
}
.simple-mode-more-models {
align-self: center;
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
}
.simple-mode-agent-layout {
display: grid;
grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
gap: 14px;
margin-top: 2px;
}
.simple-mode-agent-list {
display: flex;
flex-direction: column;
gap: 4px;
max-height: 460px;
padding: 8px;
overflow-y: auto;
border: 1px solid var(--theme-e3e1db);
border-radius: 12px;
background: var(--theme-faf9f5);
}
.simple-mode-agent-option {
display: flex;
align-items: center;
gap: 10px;
min-width: 0;
padding: 10px 11px;
border: 1px solid transparent;
border-radius: 9px;
background: transparent;
color: var(--theme-2d2a26);
text-align: left;
transition: border-color 140ms ease, background 140ms ease;
}
.simple-mode-agent-option:hover {
border-color: var(--theme-d5d2cb);
background: var(--theme-fffdf8);
}
.simple-mode-agent-option.selected {
border-color: var(--ui-accent);
background: var(--ui-accent-soft);
box-shadow: 0 3px 10px var(--ui-accent-shadow);
}
.simple-mode-agent-option-icon {
width: 23px;
height: 23px;
flex: none;
object-fit: contain;
}
.simple-mode-agent-option-copy {
display: grid;
min-width: 0;
flex: 1;
gap: 3px;
}
.simple-mode-agent-option-copy strong {
overflow: hidden;
color: var(--theme-2d2a26);
font-size: 14px;
text-overflow: ellipsis;
white-space: nowrap;
}
.simple-mode-agent-option-copy span {
overflow: hidden;
color: var(--theme-7a746c);
font-size: var(--font-size-caption);
text-overflow: ellipsis;
white-space: nowrap;
}
.simple-mode-agent-option-copy span.installed {
color: var(--ui-accent-strong);
}
.simple-mode-agent-config {
display: grid;
align-content: start;
gap: 16px;
min-width: 0;
padding: 20px;
border: 1px solid var(--theme-e3e1db);
border-radius: 12px;
background: var(--theme-fffdf8);
}
.simple-mode-agent-identity {
display: flex;
align-items: center;
gap: 13px;
min-width: 0;
}
.simple-mode-agent-logo {
width: 44px;
height: 44px;
flex: none;
border-radius: 11px;
}
.simple-mode-agent-logo img {
width: 28px;
height: 28px;
}
.simple-mode-agent-identity-copy {
display: grid;
min-width: 0;
gap: 4px;
}
.simple-mode-agent-identity-copy h3 {
margin: 0;
overflow: hidden;
color: var(--theme-2d2a26);
font-size: 18px;
text-overflow: ellipsis;
white-space: nowrap;
}
.simple-mode-agent-identity-copy span {
overflow: hidden;
color: var(--theme-5f5a53);
font-size: var(--font-size-label);
line-height: var(--line-height-body);
text-overflow: ellipsis;
white-space: nowrap;
}
.simple-mode-agent-detection {
padding: 10px 13px;
border: 1px solid var(--theme-e3e1db);
border-radius: 8px;
background: var(--theme-faf9f5);
}
.simple-mode-agent-detection span {
display: block;
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
line-height: var(--line-height-body);
}
.simple-mode-agent-actions {
margin-top: 1px;
}
.simple-mode-agent-actions .primary-button {
flex: 1;
}
.simple-mode-agent-actions .primary-button,
.simple-mode-agent-actions .secondary-button {
min-height: 42px;
font-size: var(--font-size-label);
}
.simple-mode-task-footer {
gap: 16px;
padding-top: 16px;
}
.simple-mode-selection {
overflow: hidden;
text-overflow: ellipsis;
}
@media (max-width: 760px) {
.simple-mode-agent-layout {
grid-template-columns: 1fr;
}
.simple-mode-agent-list {
max-height: 260px;
}
}
@media (max-width: 680px) {
.simple-mode-progress-item {
min-height: 62px;
}
.simple-mode-progress-item-head {
grid-template-columns: auto minmax(0, 1fr);
align-items: start;
}
.simple-mode-progress-item-head > .state-pill {
grid-column: 2;
justify-self: start;
}
.simple-mode-choice-title {
align-items: flex-start;
flex-direction: column;
gap: 4px;
}
.simple-mode-provider-card-foot {
align-items: flex-start;
flex-direction: column;
}
.simple-mode-provider-card-foot .primary-button,
.simple-mode-provider-card-foot .secondary-button {
width: 100%;
}
.simple-mode-task {
gap: 18px;
padding: 18px;
border-radius: 13px;
}
.simple-mode-task-heading {
align-items: flex-start;
}
.simple-mode-heading-icon {
width: 34px;
height: 34px;
}
.simple-mode-choice > span:not(.simple-mode-choice-icon),
.simple-mode-choice > small {
padding-left: 0;
}
.simple-mode-api-form {
padding: 14px;
}
.simple-mode-api-fields {
grid-template-columns: 1fr;
}
.simple-mode-api-actions,
.simple-mode-agent-actions {
display: grid;
grid-template-columns: 1fr;
align-items: stretch;
}
.simple-mode-api-actions button,
.simple-mode-agent-actions button {
width: 100%;
}
.simple-mode-agent-config {
padding: 16px;
}
.simple-mode-core-alert,
.simple-mode-action-card,
.simple-mode-task-footer {
align-items: stretch;
flex-direction: column;
}
.simple-mode-core-alert .secondary-button,
.simple-mode-action-card .primary-button,
.simple-mode-task-footer > .primary-button,
.simple-mode-task-footer > .secondary-button {
width: 100%;
}
.simple-mode-progress,
.simple-mode-choice-grid,
.simple-mode-guide-grid {
grid-template-columns: 1fr;
}
.simple-mode-progress-item {
min-height: 54px;
}
.simple-mode-path-row {
flex-wrap: wrap;
}
.simple-mode-path-row .text-button {
width: 100%;
margin-left: 0;
text-align: left;
}
.simple-mode-actions {
display: grid;
grid-template-columns: 1fr;
}
.simple-mode-actions button {
width: 100%;
}
.simple-mode-embedded-heading {
align-items: stretch;
flex-direction: column;
}
.simple-mode-embedded-heading .text-button {
width: 100%;
margin-left: 0;
text-align: left;
}
.simple-mode-embedded-content {
padding: 10px;
}
.simple-mode-flow-navigation {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}
.simple-mode-flow-navigation > button {
width: 100%;
margin-left: 0;
}
.simple-mode-flow-navigation > .secondary-button:only-child {
grid-column: 1;
}
.simple-mode-flow-navigation > .primary-button:only-child {
grid-column: 2;
}
}
.simple-mode-page {
max-width: 900px;
gap: 14px;
}
.simple-mode-progress {
gap: 8px;
}
.simple-mode-progress-item,
.simple-mode-progress-item:hover:not(:disabled) {
min-height: 58px;
padding: 10px 12px;
border-radius: 9px;
background: var(--theme-fffdf8);
box-shadow: none;
transform: none;
}
.simple-mode-progress-item.active {
border-color: color-mix(in srgb, var(--ui-accent) 32%, var(--theme-e3e1db));
background: var(--ui-accent-soft);
box-shadow: none;
}
.simple-mode-progress-item-head {
gap: 8px;
}
.simple-mode-step-badge {
width: 26px;
height: 26px;
}
.simple-mode-task {
gap: 16px;
padding: 20px;
border-radius: 10px;
box-shadow: none;
}
.simple-mode-task-heading {
align-items: flex-start;
gap: 0;
}
.simple-mode-task-heading h2 {
font-size: 21px;
}
.simple-mode-task-heading p {
margin-top: 4px;
font-size: var(--font-size-label);
}
.simple-mode-choice-grid {
gap: 8px;
}
.simple-mode-choice,
.simple-mode-choice:hover {
min-height: 88px;
gap: 5px;
padding: 13px 14px;
border-radius: 8px;
box-shadow: none;
transform: none;
}
.simple-mode-choice.selected {
box-shadow: none;
}
.simple-mode-choice-heading {
gap: 0;
}
.simple-mode-choice-title {
justify-content: flex-start;
gap: 8px;
}
.simple-mode-choice > span:not(.simple-mode-choice-icon),
.simple-mode-choice > small {
padding-left: 0;
}
.simple-mode-embedded-box {
gap: 10px;
padding: 0;
border: 0;
background: transparent;
}
.simple-mode-provider-grid {
gap: 8px;
}
.simple-mode-provider-card,
.simple-mode-provider-card:hover {
min-height: 0;
gap: 12px;
padding: 12px;
border-radius: 8px;
box-shadow: none;
transform: none;
}
.simple-mode-provider-card-foot .primary-button,
.simple-mode-provider-card-foot .secondary-button {
min-height: 32px;
}
.simple-mode-api-form {
gap: 12px;
padding: 14px;
border-radius: 8px;
box-shadow: none;
}
.simple-mode-api-platforms {
gap: 6px;
}
.simple-mode-api-platform {
min-height: 32px;
padding-inline: 10px;
font-weight: 600;
}
.simple-mode-api-result {
border-radius: 8px;
}
.simple-mode-agent-layout {
gap: 10px;
}
.simple-mode-agent-list,
.simple-mode-agent-config {
border-radius: 8px;
box-shadow: none;
}
.simple-mode-agent-list {
padding: 6px;
}
.simple-mode-agent-config {
padding: 16px;
}
.simple-mode-task-footer {
gap: 12px;
padding-top: 12px;
}
@media (max-width: 760px) {
.simple-mode-agent-layout {
grid-template-columns: 1fr;
}
.simple-mode-agent-list {
max-height: 260px;
}
}
@media (max-width: 680px) {
.simple-mode-progress-item {
min-height: 62px;
}
.simple-mode-progress-item-head {
grid-template-columns: auto minmax(0, 1fr);
align-items: start;
}
.simple-mode-progress-item-head > .state-pill {
grid-column: 2;
justify-self: start;
}
.simple-mode-choice-title {
align-items: flex-start;
flex-direction: column;
gap: 4px;
}
.simple-mode-provider-card-foot {
align-items: flex-start;
flex-direction: column;
}
.simple-mode-provider-card-foot .primary-button,
.simple-mode-provider-card-foot .secondary-button {
width: 100%;
}
.simple-mode-task {
gap: 18px;
padding: 18px;
}
.simple-mode-api-form {
padding: 14px;
}
.simple-mode-api-fields {
grid-template-columns: 1fr;
}
.simple-mode-api-actions,
.simple-mode-agent-actions {
display: grid;
grid-template-columns: 1fr;
align-items: stretch;
}
.simple-mode-api-actions button,
.simple-mode-agent-actions button {
width: 100%;
}
.simple-mode-agent-config {
padding: 16px;
}
}
@media (max-width: 680px) {
.simple-mode-api-model-heading {
align-items: flex-start;
}
.simple-mode-api-model-heading .secondary-button {
width: 100%;
}
.simple-mode-api-model-options {
grid-template-columns: 1fr;
}
}
.agents-page-embedded .agent-workbench {
grid-template-columns: minmax(280px, 310px) minmax(0, 1fr);
gap: 18px;
}
.agents-page-embedded .management-header {
align-items: center;
min-height: 48px;
}
.agents-page-embedded .agent-embedded-header-copy {
display: grid;
gap: 4px;
}
.agents-page-embedded .agent-embedded-header-copy h1 {
font-size: var(--font-size-panel-title);
line-height: var(--line-height-tight);
white-space: normal;
}
.agents-page-embedded .agent-embedded-header-copy p {
margin: 0;
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
line-height: var(--line-height-body);
}
.agents-page-embedded .agent-client-list {
min-height: 0;
max-height: min(560px, calc(100vh - 260px));
overflow: hidden;
gap: 16px;
padding: 16px;
}
.agents-page-embedded .agent-list-heading {
gap: 11px;
min-height: 48px;
padding: 0 6px 13px;
}
.agents-page-embedded .agent-list-heading > div,
.agents-page-embedded .agent-list-items button > span {
gap: 5px;
}
.agents-page-embedded .agent-list-heading strong,
.agents-page-embedded .agent-list-items strong {
line-height: 1.3;
}
.agents-page-embedded .agent-list-heading span,
.agents-page-embedded .agent-list-items small {
line-height: 1.4;
}
.agents-page-embedded .agent-list-items {
min-height: 0;
max-height: min(466px, calc(100vh - 350px));
overflow-y: auto;
overscroll-behavior: contain;
padding-right: 4px;
scrollbar-gutter: stable;
}
.agents-page-embedded .agent-list-items button {
grid-template-columns: 30px minmax(0, 1fr) 8px;
gap: 11px;
min-height: 66px;
padding: 10px 11px;
}
@media (max-width: 760px) {
.agents-page-embedded .agent-workbench {
grid-template-columns: 1fr;
gap: 14px;
}
.agents-page-embedded .agent-client-list {
max-height: 270px;
}
.agents-page-embedded .agent-list-items {
grid-template-columns: 1fr;
max-height: 202px;
overflow-y: auto;
}
}
.agents-page-embedded .agent-config-panel {
max-height: min(720px, calc(100vh - 260px));
overflow-y: auto;
padding: 14px;
scrollbar-gutter: stable;
}
.agents-page-embedded .agent-config-panel {
display: block;
overflow: hidden;
padding: 0;
background: var(--theme-fffdf8);
}
.agents-page-embedded .agent-minimal-config {
display: grid;
min-width: 0;
gap: 18px;
padding: 20px;
}
.agents-page-embedded .agent-minimal-client-summary {
display: grid;
grid-template-columns: auto minmax(0, 1fr) auto;
align-items: center;
gap: 12px;
min-width: 0;
padding-bottom: 16px;
border-bottom: 1px solid var(--theme-e3e1db);
}
.agents-page-embedded .agent-minimal-client-icon {
display: grid;
width: 42px;
height: 42px;
place-items: center;
border: 1px solid var(--theme-e3e1db);
border-radius: 10px;
background: var(--theme-faf9f5);
color: var(--theme-59544d);
}
.agents-page-embedded .agent-minimal-client-icon .provider-logo {
width: 24px;
height: 24px;
}
.agents-page-embedded .agent-minimal-client-summary > div {
display: grid;
min-width: 0;
gap: 3px;
}
.agents-page-embedded .agent-minimal-client-summary strong {
overflow: hidden;
color: var(--theme-2d2a26);
font-size: var(--font-size-body);
text-overflow: ellipsis;
white-space: nowrap;
}
.agents-page-embedded .agent-minimal-client-summary span:not(.agent-minimal-client-icon):not(.agent-minimal-version) {
overflow: hidden;
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
text-overflow: ellipsis;
white-space: nowrap;
}
.agents-page-embedded .agent-minimal-version {
max-width: 120px;
overflow: hidden;
color: var(--theme-8a847c);
font-size: var(--font-size-meta);
text-overflow: ellipsis;
white-space: nowrap;
}
.agents-page-embedded .agent-minimal-field {
display: grid;
gap: 8px;
}
.agents-page-embedded .agent-minimal-field > label {
color: var(--theme-59544d);
font-size: var(--font-size-label);
font-weight: 700;
}
.agents-page-embedded .agent-minimal-field .agent-model-picker,
.agents-page-embedded .agent-minimal-field .agent-model-trigger {
width: 100%;
}
.agents-page-embedded .agent-minimal-actions {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
padding-top: 2px;
}
.agents-page-embedded .agent-minimal-actions button {
min-height: 42px;
min-width: 0;
}
.agents-page-embedded .agent-minimal-message {
color: var(--theme-7a746c);
font-size: var(--font-size-meta);
line-height: var(--line-height-body);
overflow-wrap: anywhere;
}
.agents-page-embedded .agent-core-config {
gap: 10px;
}
.agents-page-embedded .agent-status-grid {
min-height: 0;
gap: 6px;
}
.agents-page-embedded .agent-status-grid > div {
gap: 3px;
padding: 9px 10px;
}
.agents-page-embedded .agent-core-setting-section {
gap: 9px;
padding: 12px;
}
.agents-page-embedded .agent-section-heading {
gap: 8px;
}
.agents-page-embedded .agent-section-heading strong {
font-size: var(--font-size-label);
}
.agents-page-embedded .agent-model-trigger {
min-height: 40px;
padding: 6px 10px;
}
.agents-page-embedded .agent-modification-buttons button {
min-height: 34px;
padding: 6px 8px;
}
.agents-page-embedded .agent-config-footer {
min-height: 40px;
gap: 10px;
padding-top: 10px;
}
@media (max-width: 760px) {
.agents-page-embedded .agent-config-panel {
max-height: calc(100vh - 180px);
}
.agents-page-embedded .agent-minimal-config {
padding: 16px;
}
.agents-page-embedded .agent-minimal-actions {
grid-template-columns: 1fr;
}
}
/* ==========================================================================
Easy Mode Full-Screen Spread-Out Layout & Spotlight Guided Tour
========================================================================== */
.app-shell.app-shell-easy-mode {
display: block;
width: 100%;
min-height: 100vh;
background: var(--theme-faf9f5);
}
.app-shell-easy-mode .workspace {
width: 100%;
min-width: 0;
min-height: 100vh;
}
.app-shell-easy-mode .content {
width: 100%;
max-width: 1360px;
margin: 0 auto;
padding: 24px 36px 48px;
}
.simple-mode-page.simple-mode-expanded {
max-width: 1360px;
width: 100%;
margin-inline: auto;
gap: 16px;
}
/* 顶部全宽导航条 */
.simple-mode-topbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 12px 18px;
border: 1px solid var(--theme-e3e1db);
border-radius: 12px;
background: var(--theme-fffdf8);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}
.simple-mode-topbar-left {
display: flex;
align-items: center;
gap: 14px;
flex-wrap: wrap;
}
.simple-mode-brand {
display: flex;
align-items: center;
gap: 12px;
}
.simple-mode-brand .brand-logo {
width: 36px;
height: 36px;
border-radius: 10px;
}
.simple-mode-brand-text {
display: flex;
flex-direction: column;
gap: 2px;
}
.simple-mode-brand-title {
display: flex;
align-items: center;
gap: 8px;
}
.simple-mode-brand-title strong {
font-size: 15px;
font-weight: 700;
color: var(--theme-2d2a26);
}
.simple-mode-badge {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 2px 8px;
border-radius: 999px;
background: var(--ui-accent-soft, #eef2ff);
color: var(--ui-accent, #3b82f6);
font-size: 11px;
font-weight: 700;
border: 1px solid color-mix(in srgb, var(--ui-accent) 30%, transparent);
}
.simple-mode-brand-sub {
font-size: 12px;
color: var(--theme-7a746c);
}
.simple-mode-topbar-right {
display: flex;
align-items: center;
gap: 10px;
}
.simple-mode-guide-toggle {
display: inline-flex;
align-items: center;
gap: 6px;
height: 34px;
padding: 0 12px;
border-radius: 8px;
font-size: 13px;
font-weight: 600;
cursor: pointer;
transition: all 160ms ease;
border: 1px solid var(--theme-d5d2cb);
background: var(--theme-faf9f5);
color: var(--theme-2d2a26);
}
.simple-mode-guide-toggle:hover {
border-color: var(--ui-accent);
background: var(--ui-accent-soft);
color: var(--ui-accent);
}
.simple-mode-guide-toggle.active {
background: var(--ui-accent, #3b82f6);
color: #ffffff;
border-color: var(--ui-accent, #3b82f6);
box-shadow: 0 0 12px rgba(59, 130, 246, 0.4);
}
.simple-guide-pulse-dot {
width: 7px;
height: 7px;
border-radius: 50%;
background: #ffffff;
animation: pulseDot 1.4s infinite ease-in-out;
}
/* 主题选择器 */
.simple-mode-theme-group {
display: flex;
border: 1px solid var(--theme-d5d2cb);
border-radius: 8px;
overflow: hidden;
background: var(--theme-faf9f5);
}
.simple-mode-theme-group button {
display: grid;
place-items: center;
width: 34px;
height: 32px;
border: none;
background: transparent;
color: var(--theme-7a746c);
cursor: pointer;
transition: all 140ms ease;
}
.simple-mode-theme-group button:hover {
color: var(--theme-2d2a26);
}
.simple-mode-theme-group button.active {
background: var(--theme-fffdf8);
color: var(--ui-accent, #3b82f6);
font-weight: 700;
}
/* 语言下拉框 */
.simple-mode-lang-dropdown {
position: relative;
}
.simple-mode-lang-btn {
display: inline-flex;
align-items: center;
gap: 6px;
height: 34px;
padding: 0 10px;
border-radius: 8px;
border: 1px solid var(--theme-d5d2cb);
background: var(--theme-faf9f5);
color: var(--theme-2d2a26);
font-size: 13px;
font-weight: 600;
cursor: pointer;
transition: all 140ms ease;
}
.simple-mode-lang-btn:hover {
border-color: var(--theme-7a746c);
}
.simple-mode-lang-menu {
position: absolute;
top: calc(100% + 4px);
right: 0;
min-width: 140px;
border: 1px solid var(--theme-d5d2cb);
border-radius: 8px;
background: var(--theme-fffdf8);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
z-index: 100;
padding: 4px;
display: grid;
gap: 2px;
}
.simple-mode-lang-menu button {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
padding: 6px 10px;
border: none;
border-radius: 6px;
background: transparent;
font-size: 13px;
color: var(--theme-2d2a26);
cursor: pointer;
transition: all 120ms ease;
}
.simple-mode-lang-menu button:hover {
background: var(--theme-faf9f5);
}
.simple-mode-lang-menu button.selected {
background: var(--ui-accent-soft);
color: var(--ui-accent);
font-weight: 600;
}
.simple-mode-exit-btn {
display: inline-flex;
align-items: center;
gap: 6px;
height: 34px;
padding: 0 12px;
font-size: 13px;
font-weight: 600;
border-radius: 8px;
}
.simple-mode-highlight-button {
border: 1px solid var(--ui-accent) !important;
background: var(--ui-accent) !important;
color: #ffffff !important;
box-shadow: 0 4px 12px var(--ui-accent-shadow);
}
.simple-mode-highlight-button:hover {
border-color: var(--ui-accent-strong) !important;
background: var(--ui-accent-strong) !important;
color: #ffffff !important;
}
.simple-mode-guide-toggle.simple-mode-highlight-button.active {
border-color: var(--ui-accent) !important;
background: var(--ui-accent) !important;
color: #ffffff !important;
box-shadow: 0 4px 12px var(--ui-accent-shadow);
}
/* 全灰色聚焦蒙层与高亮指示器 */
.guide-spotlight-backdrop {
position: fixed;
inset: 0;
z-index: 9000;
pointer-events: none;
}
.guide-spotlight-box {
position: fixed;
border-radius: 12px;
border: 2px solid var(--ui-accent, #3b82f6);
box-shadow: 0 0 0 9999px rgba(10, 14, 26, 0.72), 0 0 28px rgba(59, 130, 246, 0.55);
pointer-events: none;
transition: all 260ms cubic-bezier(0.2, 0.8, 0.2, 1);
z-index: 9001;
animation: guideGlow 2.5s infinite alternate ease-in-out;
}
.guide-tooltip-card {
position: fixed;
width: 420px;
max-width: calc(100vw - 32px);
padding: 18px;
border-radius: 14px;
background: var(--theme-fffdf8, #ffffff);
border: 1px solid var(--theme-d5d2cb, #e2e8f0);
box-shadow: 0 16px 36px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.1);
z-index: 9002;
pointer-events: auto;
max-height: calc(100vh - 32px);
overflow-y: auto;
overscroll-behavior: contain;
animation: popoverIn 220ms ease-out;
}
.guide-tooltip-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
margin-bottom: 12px;
}
.guide-tooltip-badge {
display: inline-flex;
align-items: center;
gap: 5px;
padding: 3px 10px;
border-radius: 999px;
background: var(--ui-accent, #3b82f6);
color: #ffffff;
font-size: 12px;
font-weight: 700;
}
.guide-tooltip-close {
display: grid;
place-items: center;
width: 26px;
height: 26px;
border-radius: 6px;
border: none;
background: transparent;
color: var(--theme-7a746c);
cursor: pointer;
transition: all 120ms ease;
}
.guide-tooltip-close:hover {
background: var(--theme-faf9f5);
color: var(--theme-2d2a26);
}
.guide-tooltip-body h4 {
font-size: 15px;
font-weight: 700;
color: var(--theme-2d2a26);
margin: 0 0 8px 0;
}
.guide-tooltip-body p {
font-size: 13px;
line-height: 1.6;
color: var(--theme-5f5a53);
margin: 0 0 10px 0;
}
.guide-tooltip-tip {
font-size: 12px;
color: var(--ui-accent-strong, #2563eb);
background: var(--ui-accent-soft, #eff6ff);
padding: 8px 12px;
border-radius: 6px;
margin-top: 6px;
font-weight: 500;
}
.guide-tooltip-footer {
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 14px;
padding-top: 12px;
border-top: 1px solid var(--theme-e3e1db);
}
.guide-tooltip-step-dots {
display: flex;
align-items: center;
gap: 6px;
}
.guide-step-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--theme-d5d2cb);
cursor: default;
transition: all 140ms ease;
}
.guide-step-dot.active {
width: 20px;
border-radius: 999px;
background: var(--ui-accent, #3b82f6);
}
.guide-tooltip-actions {
display: flex;
align-items: center;
gap: 8px;
}
.guide-btn-sm {
min-height: 32px !important;
height: 32px !important;
padding: 0 14px !important;
font-size: 13px !important;
}
@keyframes guideGlow {
0% {
box-shadow: 0 0 0 9999px rgba(10, 14, 26, 0.72), 0 0 18px rgba(59, 130, 246, 0.4);
}
100% {
box-shadow: 0 0 0 9999px rgba(10, 14, 26, 0.72), 0 0 32px rgba(59, 130, 246, 0.7);
}
}
@keyframes pulseDot {
0%, 100% {
transform: scale(1);
opacity: 1;
}
50% {
transform: scale(1.4);
opacity: 0.6;
}
}
@keyframes popoverIn {
0% {
opacity: 0;
transform: translateY(6px) scale(0.98);
}
100% {
opacity: 1;
transform: translateY(0) scale(1);
}
}
/* 实时全灰聚焦遮罩与高亮目标系统 */
.guide-dimmed-overlay {
position: fixed;
inset: 0;
background: rgba(8, 12, 22, 0.72);
backdrop-filter: blur(1.5px);
z-index: 8990;
pointer-events: none;
transition: opacity 0.3s ease;
}
.guide-focus-highlight {
position: relative !important;
z-index: 8995 !important;
background: var(--theme-fffdf8, #ffffff) !important;
box-shadow: 0 0 0 4px var(--ui-accent, #3b82f6), 0 0 35px rgba(59, 130, 246, 0.65), 0 12px 36px rgba(0, 0, 0, 0.25) !important;
border-radius: 12px;
pointer-events: auto !important;
animation: targetPulse 2.5s infinite alternate ease-in-out;
}
.guide-interactive-card {
position: fixed;
width: 430px;
max-width: calc(100vw - 32px);
padding: 18px 20px;
border-radius: 14px;
background: var(--theme-fffdf8, #ffffff);
border: 1px solid var(--theme-d5d2cb, #e2e8f0);
box-shadow: 0 20px 48px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.15);
z-index: 9005;
pointer-events: auto;
max-height: calc(100vh - 32px);
overflow-y: auto;
overscroll-behavior: contain;
animation: popoverIn 220ms ease-out;
}
@keyframes targetPulse {
0% {
box-shadow: 0 0 0 4px var(--ui-accent, #3b82f6), 0 0 20px rgba(59, 130, 246, 0.45);
}
100% {
box-shadow: 0 0 0 4px var(--ui-accent, #3b82f6), 0 0 38px rgba(59, 130, 246, 0.75);
}
}
/* 严格校验状态指示胶囊与控制 */
.guide-status-pill {
display: inline-flex;
align-items: center;
gap: 5px;
padding: 3px 9px;
border-radius: 999px;
font-size: 11px;
font-weight: 700;
white-space: nowrap;
}
.guide-status-pill.success {
background: var(--theme-eef7f0, #eef7f0);
color: var(--theme-2f6b3f, #16a34a);
border: 1px solid var(--theme-b6d3bd, #86efac);
}
.guide-status-pill.pending {
background: var(--theme-fff1ee, #fff1ee);
color: var(--theme-9f2d20, #e11d48);
border: 1px solid var(--theme-dfb7b0, #fca5a5);
}
.guide-tooltip-actions-left {
display: flex;
align-items: center;
gap: 6px;
}
.guide-btn-sm.disabled {
opacity: 0.55;
cursor: not-allowed !important;
pointer-events: none;
}
@media (max-width: 760px) {
.simple-mode-topbar {
flex-wrap: wrap;
}
.simple-mode-topbar-left,
.simple-mode-topbar-right {
width: 100%;
}
.simple-mode-topbar-right {
justify-content: flex-end;
flex-wrap: wrap;
}
}
/* Use the available content width as the responsive breakpoint. The app shell
can leave a narrow workspace even when the overall window is still wide. */
@container workspace (max-width: 1080px) {
.provider-workbench,
.real-provider-workbench,
.kernel-layout,
.usage-overview-layout,
.config-management-content {
grid-template-columns: 1fr;
}
.provider-category-panel {
grid-template-columns: repeat(4, minmax(0, 1fr));
height: auto;
}
.provider-resource-panel {
height: 520px;
}
.real-provider-row {
grid-template-columns: 32px minmax(0, 1fr) max-content;
}
.provider-row-meta {
display: none;
}
.agent-workbench {
grid-template-columns: 200px minmax(0, 1fr);
}
.usage-overview-layout {
gap: 12px;
}
.usage-stat-grid {
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
}
@container workspace (max-width: 760px) {
.config-network-grid,
.config-tls-fields,
.config-management-form,
.client-api-grid,
.oauth-grid,
.quota-grid,
.quota-summary-grid,
.real-quota-grid,
.auth-filter-grid {
grid-template-columns: 1fr;
}
.usage-topbar {
align-items: stretch;
flex-direction: column;
}
.usage-tabs {
display: flex;
width: 100%;
flex-wrap: wrap;
}
.usage-tabs button {
flex: 1 1 45%;
min-width: 0;
padding-inline: 7px;
}
.usage-topbar-actions {
width: 100%;
}
.usage-events-summary-left,
.usage-events-summary-right {
width: 100%;
justify-content: space-between;
}
.usage-collector-state {
flex: 1;
}
.usage-overview-layout,
.usage-analysis-grid {
grid-template-columns: 1fr;
}
.usage-pricing-toolbar {
align-items: stretch;
flex-direction: column;
}
.usage-pricing-actions {
display: grid;
grid-template-columns: 1fr;
}
.usage-pricing-actions input {
width: 100%;
}
.usage-price-editor {
grid-template-columns: 1fr;
}
.auth-files-toolbar {
grid-template-columns: 18px minmax(0, 1fr);
}
.auth-files-toolbar select {
border-top: 1px solid var(--theme-e3e1db);
border-left: 0;
}
.auth-files-toolbar select:first-of-type,
.auth-files-toolbar select:last-of-type {
grid-column: 1 / -1;
}
.auth-files-panel {
grid-template-rows: auto auto minmax(320px, 1fr);
height: auto;
min-height: 460px;
}
.real-provider-row {
grid-template-columns: 32px minmax(0, 1fr) auto;
}
.real-auth-file-row {
grid-template-columns: 34px minmax(0, 1fr);
}
.auth-file-actions {
grid-column: 2;
flex-wrap: wrap;
justify-content: flex-start;
}
.auth-files-page .management-header {
align-items: stretch;
flex-direction: column;
}
.auth-files-page .management-heading-actions {
flex-wrap: wrap;
justify-content: flex-start;
}
.provider-row-meta,
.auth-file-meta {
display: none;
}
.provider-category-panel {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.agent-workbench,
.thinking-alias-workbench {
grid-template-columns: 1fr;
}
.thinking-alias-editor-panel,
.thinking-alias-list-panel,
.agent-client-list,
.agent-config-panel {
height: auto;
min-height: 0;
}
.thinking-model-list {
max-height: 240px;
}
.thinking-alias-list {
max-height: 460px;
}
.management-header,
.management-panel-heading {
align-items: flex-start;
flex-direction: column;
}
.management-heading-actions {
width: 100%;
flex-wrap: wrap;
}
.management-heading-actions button {
flex: 1;
}
.muted-summary,
.compact-toolbar {
width: 100%;
}
.panel {
padding: 18px;
}
}
@container workspace (max-width: 540px) {
.usage-data-management-heading,
.usage-data-management-action,
.usage-data-management-result {
align-items: stretch;
flex-direction: column;
}
.usage-data-management-action .primary-button {
width: 100%;
}
.usage-custom-range {
align-items: stretch;
flex-direction: column;
}
.usage-column-options {
grid-template-columns: 1fr;
}
.usage-column-dialog-footer {
align-items: stretch;
flex-direction: column;
}
.usage-column-dialog-actions button {
flex: 1;
}
}
/* Configuration form and explicit write actions. */
.agent-auth-method { display: grid; gap: 6px; flex: 1; min-width: 0; font-size: var(--font-size-meta); }
.agent-auth-method select { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid var(--theme-e3e1db); border-radius: 8px; color: var(--theme-2d2a26); background: var(--theme-fffdf8); }
.agent-model-section .agent-codex-options { margin-top: 16px; align-items: end; }
.agent-model-section .agent-codex-catalog-button { min-height: 38px; height: 38px; padding: 8px 10px; }
.agent-write-state { margin: 0; font-size: var(--font-size-meta); color: var(--theme-7a746c); }
.agent-signin-hint { grid-column: 1 / -1; margin: 0; color: var(--theme-7a746c); font-size: var(--font-size-meta); line-height: 1.6; }
/* Agent settings: one form and one explicit save action. */
.agent-settings-tools { display: flex; align-items: flex-start; gap: 8px; flex-wrap: wrap; }
.agent-model-section { grid-column: 1 / -1; }
.agent-save-bar { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 0 0; border-top: 1px solid var(--theme-e3e1db); }
.agent-save-feedback { display: grid; gap: 6px; min-width: 0; }
.agent-save-feedback small { color: var(--theme-7a746c); font-size: var(--font-size-meta); }
.agent-save-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-left: auto; min-width: 0; }
.agent-save-actions button { min-width: 128px; min-height: 40px; }
.agent-shared-feedback { min-width: 0; }
.agent-run-controls { display: grid; gap: 12px; min-width: 0; padding-top: 16px; border-top: 1px solid var(--theme-e3e1db); }
.agent-run-controls .agent-launch-actions { justify-content: flex-end; flex-wrap: wrap; }
.agent-run-controls .agent-launch-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; }
.agent-management-sections { display: grid; min-width: 0; }
.agent-management-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; min-width: 0; border-bottom: 1px solid var(--theme-e3e1db); }
.agent-management-row:first-child { padding-top: 6px; }
.agent-management-row:last-child { border-bottom: 0; }
.agent-management-row > div:first-child { min-width: 0; flex: 1; }
.agent-management-row h3 { margin: 0 0 6px; color: var(--theme-2d2a26); font-size: var(--font-size-section); }
.agent-management-row p { margin: 0; color: var(--theme-7a746c); font-size: var(--font-size-label); line-height: var(--line-height-body); overflow-wrap: anywhere; }
.agent-management-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; max-width: 50%; }
.agent-management-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; }
.agents-page-embedded .agent-config-panel { display: grid; gap: 16px; max-height: none; overflow: visible; padding: 20px; }
.agents-page-embedded .agent-minimal-config { padding: 0; }
.agents-page-embedded .agent-minimal-actions { grid-template-columns: minmax(0, 1fr); }
.agent-subpage-tabs button:focus-visible { outline: 2px solid var(--theme-2d2a26); outline-offset: -2px; }
@container agent-panel (max-width: 640px) {
.agent-management-row { flex-direction: column; align-items: stretch; gap: 12px; }
.agent-management-actions { max-width: 100%; justify-content: flex-start; }
.agent-run-controls .agent-launch-actions { display: flex; }
.agent-run-controls .agent-launch-button { flex: 0 1 auto; width: auto; min-width: 0; max-width: 100%; }
}
.agent-signin-label { display: flex; align-items: center; gap: 8px; }
.agent-signin-help-toggle { display: inline-flex; align-items: center; gap: 4px; min-height: 30px; padding: 3px 6px; border: 0; border-radius: 4px; background: transparent; color: var(--theme-7a746c); font: inherit; cursor: pointer; }
.agent-signin-help-toggle:hover { color: var(--theme-2d2a26); background: var(--theme-fffdf8); }
.agent-signin-help-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.agent-signin-explanation { grid-column: 1 / -1; padding: 12px 0 0; border-top: 1px solid var(--theme-e3e1db); font-size: var(--font-size-meta); color: var(--theme-7a746c); overflow-wrap: anywhere; }
.agent-signin-explanation[hidden] { display: none; }
.agent-signin-explanation dl { display: grid; gap: 10px; margin: 0; }
.agent-signin-explanation dl > div { display: grid; grid-template-columns: minmax(110px, 150px) minmax(0, 1fr); gap: 12px; }
.agent-signin-explanation dt { color: var(--theme-2d2a26); font-weight: 600; }
.agent-signin-explanation dd { margin: 0; }
.agent-signin-explanation p { margin: 12px 0 0; }
@media (max-width: 540px) { .agent-signin-explanation dl > div { grid-template-columns: 1fr; gap: 3px; } }
@media (max-width: 760px) {
.agent-save-bar { flex-wrap: wrap; gap: 12px; }
.agent-save-actions { margin-left: auto; }
}
.thinking-alias-page > .management-header {
align-items: center;
flex-direction: row;
}
.thinking-alias-page > .management-header .management-heading-actions {
width: auto;
flex-wrap: nowrap;
}
.thinking-alias-page > .management-header .muted-summary {
width: auto;
}
.thinking-alias-page > .management-header .management-heading-actions button {
width: 42px;
flex: 0 0 42px;
padding: 0;
}
.harness-catalog-dialog .codex-catalog-sidebar { grid-template-rows: auto auto minmax(0,1fr) auto; }
.harness-editor-fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.harness-provider-button { flex-shrink: 0; justify-content: flex-start; }
.harness-provider-button.active { border-color: var(--theme-bd5e31); }
.harness-catalog-form > label > span { display: flex; flex-wrap: wrap; gap: 6px; overflow-wrap: anywhere; }
.harness-catalog-form small, .harness-reasoning small { color: var(--theme-716b61); font-size: 12px; line-height: 1.6; }
.harness-override { font-weight: 400; }
.harness-catalog-group { grid-column: 1 / -1; border-top: 1px solid var(--theme-d5d2cb); padding-top: 14px; min-width: 0; }
.harness-catalog-group > summary { cursor: pointer; font-size: 13px; font-weight: 600; padding: 4px 0; }
.harness-catalog-group > button { margin-top: 12px; }
.harness-reasoning { grid-column: 1 / -1; display: grid; gap: 10px; font-size: var(--font-size-label); }
.harness-reasoning > label { display: grid; gap: 7px; color: var(--theme-5f5a53); font-size: inherit; font-weight: 650; }
.harness-reasoning-levels { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 16px; }
.harness-reasoning-levels > div { display: flex; align-items: center; gap: 8px; min-width: 0; }
.harness-reasoning-levels label { display: flex; align-items: center; gap: 6px; flex: 0 0 75px; color: var(--theme-5f5a53); font-size: inherit; font-weight: 500; }
.harness-reasoning-levels input:not([type=checkbox]) { min-width: 0; width: 100%; }
.harness-catalog-form textarea { font-family: var(--font-mono, monospace); }
@media (max-width: 640px) { .harness-reasoning-levels { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
.harness-catalog-dialog .codex-catalog-body { grid-template-rows: 210px minmax(0,1fr); }
.harness-catalog-dialog .codex-catalog-sidebar { grid-template-rows: auto auto minmax(0,1fr); }
.harness-catalog-dialog .harness-provider-button { grid-column: 1 / -1; }
.harness-catalog-dialog .codex-catalog-search { grid-column: 1; grid-row: 2; }
.harness-catalog-dialog .codex-catalog-reload { grid-column: 2; grid-row: 2; }
.harness-catalog-dialog .codex-catalog-models { grid-row: 3; }
}
.harness-catalog-dialog .secondary-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.harness-catalog-form small { font-weight: 400; }
.harness-catalog-form { margin-top: 12px; }
.harness-context-window { display: grid; align-content: start; gap: 8px; min-width: 0; }
.harness-context-window > label { display: grid; gap: 8px; font-size: var(--font-size-label); font-weight: 600; }
.harness-context-window > label > span { display: flex; flex-wrap: wrap; gap: 6px; }
.harness-context-source { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.harness-context-source > button { padding: 4px 8px; font-size: 12px; }