/* Shared administration conventions: grouped menu, light forms, compact tables. */
:root {
    color-scheme: light;
    --ink: #25313b;
    --muted: #626b73;
    --line: #d6dce0;
    --surface: #fff;
    --canvas: #f3f5f6;
    --brand: #c09b00;
    --brand-dark: #8c7000;
    --danger: #a32121;
    --shadow: 0 2px 8px #25313b0d;
}
body { background: var(--canvas); font-family: Arial, Helvetica, sans-serif; }
.admin-header { display: flex; align-items: center; flex-wrap: wrap; gap: 1.5rem; padding: .8rem 1.5rem; background: #fff; border-bottom: 3px solid #e7bd17; }
.admin-header .brand { margin: 0; white-space: nowrap; }
.admin-menu { display: flex; flex-wrap: wrap; gap: .25rem; }
.admin-menu details { position: relative; }
.admin-menu summary { padding: .7rem 1rem; cursor: pointer; border-radius: 4px; }
.admin-menu details[open] summary { background: #eef1f3; }
.menu-items { position: absolute; z-index: 20; min-width: 200px; background: #fff; border: 1px solid var(--line); border-radius: 4px; box-shadow: 0 6px 20px #0002; }
.menu-items a { display: block; padding: .8rem 1rem; color: var(--ink); }
.menu-items a:hover { background: #fff8d8; }
.account { margin-left: auto; display: flex; align-items: center; gap: 1rem; }
.account form { margin: 0; }
.app-main { max-width: 1440px; padding: 1.5rem; }
.app-main h1 { font-size: 1.8rem; letter-spacing: 0; }
.app-main a:not(.button) { color: #275b7b; }
input, textarea, select, .ui.form input:not([type]), .ui.form input[type], .ui.form textarea { background: #fff; color: var(--ink); border-color: #b8c1c8; }
.ui.form { font-size: 1rem; }
.ui.form label { color: var(--ink); }
.ui.form input[type=checkbox] { width: auto; }
.button-quiet { color: var(--ink); background: #e9edef; border-color: var(--line); }
.button-primary { background: #f2c824; color: #202020; }
.data-table th, .ui.table thead th { background: #e9eef1; color: var(--ink); }
.data-table td { border-color: var(--line); }
.data-table tbody tr:hover { background: #fff9de; }
.login-card { margin: 8vh auto; }
.public-header { background: #263744; height: auto; padding: 1rem 1.5rem; text-shadow: none; }
.flash { background: #e8f5ea; color: #245c31; border-color: #afd2b6; }
.alert-error, .error { color: #a32121; }
.terminal { max-width: 560px; margin: auto; }
.terminal fieldset { display: grid; gap: 1rem; border: 0; padding: 0; }
.terminal input, .terminal select, .terminal button { min-height: 48px; font-size: 16px; }
#request-message { position: fixed; bottom: 1rem; left: 1rem; right: 1rem; background: #fff0dc; border: 1px solid #a86c20; padding: 1rem; z-index: 30; }
[aria-busy=true] { opacity: .65; }
@media (max-width: 700px) {
    .admin-header { gap: .5rem; padding: .75rem; }
    .admin-menu { order: 3; width: 100%; }
    .admin-menu summary { padding: .7rem; }
    .account { font-size: .85rem; }
    .app-main { padding: 1rem; }
    input, select, button, .button { min-height: 44px; }
}

body, h1, h2, h3, h4, h5, button, input, select, textarea, .ui.button { font-family: Arial, Helvetica, sans-serif; }
[hidden] { display: none !important; }
.terminal form.card { width: 100%; padding: 1rem; display: block; }
.button { background: #e9edef; color: var(--ink); }
.button-primary { background: #f2c824; color: #202020; }
