/* Use native Fomantic/Gitea elements; preserve functional state and semantic colors. */
.ui.button { border-radius: var(--radius-md); font-weight: 500; box-shadow: none; transition: background-color .12s ease, border-color .12s ease; }
.ui.basic.button { background: var(--surface-secondary); box-shadow: 0 0 0 1px var(--border-default) inset; color: var(--text-primary); }
.ui.basic.button:hover { background: var(--surface-hover); box-shadow: 0 0 0 1px #394657 inset; }
.ui.primary.button, .ui.primary.buttons .button { background: var(--accent-primary); color: #fff; border-color: var(--accent-primary); }
.ui.primary.button:hover, .ui.primary.buttons .button:hover { background: var(--accent-hover); color: #fff; }
.ui.primary.basic.button { background: var(--accent-subtle); color: #93c5fd; box-shadow: 0 0 0 1px #244d85 inset; }
.ui.red.basic.button { color: #fca5a5; background: #2a1419; box-shadow: 0 0 0 1px #79343b inset; }
.ui.button:disabled, .ui.disabled.button { opacity: .45 !important; cursor: not-allowed; }
.ui.input > input, .ui.form input:not([type]), .ui.form input[type="text"], .ui.form input[type="password"], .ui.form input[type="email"], .ui.form input[type="url"], .ui.form input[type="number"], .ui.form input[type="search"], .ui.form textarea, .ui.form select, .ui.selection.dropdown { background: var(--color-input-background); color: var(--text-primary); border: 1px solid var(--border-default); border-radius: var(--radius-md); }
.ui.input > input:focus, .ui.form input:focus, .ui.form textarea:focus, .ui.selection.dropdown:focus { border-color: var(--accent-hover); box-shadow: 0 0 0 2px #2563eb20; }
.ui.form .field > label { color: var(--text-primary); font-weight: 500; }
.ui.form .help { color: var(--text-secondary); }
.ui.dropdown .menu { background: var(--surface-primary); border-color: var(--border-default); border-radius: var(--radius-md); box-shadow: 0 8px 24px #0005; padding: 4px; }
.ui.dropdown .menu > .item { border-radius: var(--radius-sm); }
.ui.dropdown .menu > .item:hover, .ui.dropdown .menu > .selected.item { background: var(--surface-hover); }
.ui.modal { background: var(--surface-primary); border: 1px solid var(--border-default); border-radius: var(--radius-lg); }
.ui.modal > .header, .ui.modal > .content, .ui.modal > .actions { background: var(--surface-primary); border-color: var(--border-default); }
.ui.modal > .header { color: var(--text-primary); }
.ui.segment, .ui.segments, .ui.card, .ui.cards > .card { background: var(--surface-primary); border-color: var(--border-default); border-radius: var(--radius-lg); box-shadow: none; }
.ui.attached.segment { border-radius: 0; }
.ui.bottom.attached.segment { border-radius: 0 0 var(--radius-lg) var(--radius-lg); }
.ui.top.attached.header { background: var(--surface-secondary); border-radius: var(--radius-lg) var(--radius-lg) 0 0; border-color: var(--border-default); font-size: 14px; padding: 14px 16px; }
.ui.table { background: var(--surface-primary); border-color: var(--border-default); }
.ui.table thead th { background: var(--surface-secondary); color: var(--text-secondary); border-color: var(--border-default); }
.ui.table td { border-color: var(--border-subtle); }
.ui.table tbody tr:hover { background: #171d2580; }
.ui.label { border-radius: var(--radius-sm); font-weight: 500; }
.ui.basic.label { border-color: var(--border-default); background: var(--surface-secondary); color: var(--text-secondary); }
.ui.secondary.pointing.menu .item { color: var(--text-secondary); padding: 16px 12px; border-bottom-width: 2px; font-size: 13px; }
.ui.secondary.pointing.menu .active.item { border-color: var(--accent-hover); color: var(--text-primary); font-weight: 600; }
.ui.secondary.pointing.menu .item:hover { color: var(--text-primary); background: #171d2550; }
.ui.vertical.menu { background: var(--surface-primary); border: 1px solid var(--border-default); border-radius: var(--radius-lg); padding: 8px; box-shadow: none; }
.ui.vertical.menu > .item { border: 0; border-radius: var(--radius-md); margin: 3px 0; }
.ui.vertical.menu > .item::before { display: none; }
.ui.vertical.menu .active.item { background: var(--surface-hover); color: var(--text-primary); }
.ui.vertical.menu > .item:hover { background: var(--surface-secondary); }
.ui.checkbox label { color: var(--text-secondary); }
.ui.checkbox input:checked ~ label { color: var(--text-primary); }
.ui.checkbox:not(.toggle) label::before { border-color: #626f81; background: var(--sidebar-background); }
.ui.checkbox:not(.toggle) input:checked ~ label::before { background: var(--accent-primary); border-color: var(--accent-primary); }
.ui.checkbox input:checked ~ label::after { color: #fff; }
.ui.toggle.checkbox input:checked ~ label::before { background: var(--accent-primary) !important; }
.avatar { border-radius: 50%; }
.ui.pagination.menu { background: transparent; border-color: var(--border-default); border-radius: var(--radius-md); box-shadow: none; }
.ui.pagination.menu .active.item { background: var(--accent-primary); color: white; border-radius: var(--radius-sm); }
.ui.message { border-radius: var(--radius-md); box-shadow: none; border: 1px solid var(--border-default); }
.tippy-box { border: 1px solid var(--border-default); border-radius: var(--radius-md); }
.toastify { border: 1px solid var(--border-default); border-radius: var(--radius-md); background: var(--surface-secondary); color: var(--text-primary); box-shadow: 0 4px 16px #0005; }
.CodeMirror, .cm-editor { background: var(--color-code-bg); color: var(--text-primary); border-radius: var(--radius-md); }
.ui.form .field .ui.input { max-width: 100%; }
@media (prefers-reduced-motion: reduce) { .ui.button { transition: none; } }
