/* Unified Admin action system: semantic variants own their interaction contrast. */
:root { --aitp-button-blue:#2563eb; --aitp-button-green:#15803d; --aitp-button-warn:#c66a0a; --aitp-button-red:#c2414b; --aitp-button-slate:#475569; }
.button,.delete-confirm>summary { --button-color:var(--aitp-button-slate); --button-tint:#f8fafc; --button-line:#d8e1ed; appearance:none; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:38px; padding:8px 13px; border:1px solid var(--button-line); border-radius:12px; background:linear-gradient(180deg,#fff,var(--button-tint)); box-shadow:0 2px 7px rgba(30,41,59,.055); color:var(--button-color); font:750 .76rem/1.15 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; text-decoration:none; cursor:pointer; white-space:nowrap; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease; }
.button:hover:not(:disabled):not(.disabled),.delete-confirm>summary:hover { border-color:color-mix(in srgb,var(--button-color) 32%,var(--button-line)); box-shadow:0 5px 13px rgba(30,41,59,.10); transform:translateY(-1px); text-decoration:none; }
.button:active:not(:disabled):not(.disabled),.delete-confirm>summary:active { transform:translateY(0); box-shadow:0 1px 4px rgba(30,41,59,.08); }
.button:focus-visible,.delete-confirm>summary:focus-visible { outline:3px solid color-mix(in srgb,var(--button-color) 25%,transparent); outline-offset:2px; }
.button.disabled,.button:disabled { opacity:.46; pointer-events:none; cursor:not-allowed; box-shadow:none; }

/* Normal states explicitly override the older Admin button variants. */
.button-primary,.button-info { --button-color:var(--aitp-button-blue); --button-tint:#f6f9ff; --button-line:#cbdcff; background:linear-gradient(180deg,#fff,#f6f9ff); border-color:#cbdcff; color:var(--aitp-button-blue); }
.button-secondary,.button-quiet { --button-color:var(--aitp-button-slate); --button-tint:#fafbfd; --button-line:#d8e1ed; background:linear-gradient(180deg,#fff,#fafbfd); border-color:#d8e1ed; color:var(--aitp-button-slate); }
.button-danger,.button-danger-quiet { --button-color:var(--aitp-button-red); --button-tint:#fff7f7; --button-line:#f1c9ce; background:linear-gradient(180deg,#fff,#fff7f7); border-color:#f1c9ce; color:var(--aitp-button-red); }
.button-success { --button-color:var(--aitp-button-green); --button-tint:#f5fcf7; --button-line:#c8e8d1; background:#15803d; border-color:#15803d; color:#fff; }
.button-warning { --button-color:var(--aitp-button-warn); --button-tint:#fffbf4; --button-line:#f2d6a8; background:#a94800; border-color:#a94800; color:#fff; }

/* Light variants retain semantic foregrounds; dark variants always use white. */
.button:is(.button-primary,.button-info,.button-secondary,.button-quiet):is(:hover,:focus,:focus-visible,:active):not(:disabled):not(.disabled) { background:linear-gradient(180deg,#fff,var(--button-tint)); color:var(--button-color); }
.button:is(.button-danger,.button-danger-quiet):is(:hover,:focus,:focus-visible,:active):not(:disabled):not(.disabled),.delete-confirm>summary.button-danger:is(:hover,:focus,:focus-visible,:active) { background:var(--aitp-button-red); border-color:var(--aitp-button-red); color:#fff; }
.button-success:is(:hover,:focus,:focus-visible,:active):not(:disabled):not(.disabled) { background:#116b33; border-color:#116b33; color:#fff; }
.button-warning:is(:hover,:focus,:focus-visible,:active):not(:disabled):not(.disabled) { background:#873900; border-color:#873900; color:#fff; }

/* The shared transcript-copy runtime states retain paired backgrounds and foregrounds. */
.button.transcript-copy-button.is-copied { background:#15803d; border-color:#15803d; color:#fff; }
.button.transcript-copy-button.is-copied:is(:hover,:focus,:focus-visible,:active):not(:disabled):not(.disabled) { background:#116b33; border-color:#116b33; color:#fff; }
.button.transcript-copy-button.is-copy-error,.button.transcript-copy-button.is-copy-error:is(:hover,:focus,:focus-visible,:active):not(:disabled):not(.disabled) { background:#fff5f5; border-color:#fecdd3; color:#b42332; }

/* Icons, arrows, and label wrappers always inherit the actual button foreground. */
.button :is(.button-icon,.button-arrow,svg,span),.delete-confirm>summary :is(.button-icon,.button-arrow,svg,span) { color:inherit; stroke:currentColor; }
.button:is(.button-success,.button-warning) .button-icon,.button:is(.button-success,.button-warning,.button-danger,.button-danger-quiet):is(:hover,:focus,:focus-visible,:active):not(:disabled):not(.disabled) .button-icon,.button.transcript-copy-button.is-copied .button-icon,.delete-confirm>summary.button-danger:is(:hover,:focus,:focus-visible,:active) .button-icon { background:transparent; }

.button-small { min-height:32px; padding:6px 10px; border-radius:10px; font-size:.69rem; gap:6px; }
.button-large { min-height:44px; padding:10px 16px; border-radius:13px; font-size:.82rem; }
.button-icon { width:18px; height:18px; flex:0 0 18px; padding:4px; border-radius:50%; background:color-mix(in srgb,var(--button-color) 10%,white); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.button-small .button-icon { width:15px; height:15px; flex-basis:15px; padding:0; background:transparent; }
.button-large .button-icon { width:20px; height:20px; flex-basis:20px; padding:4px; }
.button .button-arrow { margin-left:1px; background:transparent; padding:0; }
.page-actions,.workflow-actions,.form-actions,.review-actions,.kb-actions,.pagination-bar,.transcript-copy-actions { gap:8px; }
.section-heading-actions>a:not(.button),.premium-table a.row-open { display:inline-flex; align-items:center; gap:6px; color:var(--aitp-button-blue); font-weight:750; }
.section-heading-actions>a:not(.button)::after,.premium-table a.row-open::after { content:"→"; font-size:1em; }
.sidebar-user .button-quiet { --button-color:#475569; --button-tint:#f8fafc; --button-line:#d8e0eb; width:100%; }
@media(max-width:780px) { .page-actions,.workflow-actions,.form-actions,.review-actions,.kb-actions { gap:8px; } .button { min-height:40px; } .button-small { min-height:34px; } }
