:root { color-scheme: light; --ink: var(--tima-ink); --accent: var(--tima-accent); --border: var(--tima-border); }
* { box-sizing: border-box; } body { margin: 0; font: 16px/1.5 system-ui, sans-serif; color: var(--tima-ink); background: var(--tima-surface); }
a { color: var(--tima-accent); text-underline-offset: .2em; } header { padding: 1rem 2rem; display:flex; align-items:center; justify-content:space-between; background:white; } header img { max-width: min(550px, 65vw); max-height:100px; } header span { font-size: 1.2rem; }
nav { background:var(--tima-subtle); border-block:1px solid var(--border); display:flex; flex-wrap:wrap; align-items:center; gap:.3rem 1.2rem; padding:.65rem 2rem; } nav a { color:var(--tima-ink); text-decoration:none; } nav form { margin-left:auto; } nav button { color:var(--tima-accent); padding:.35rem .65rem; background:transparent; border-color:var(--tima-control); }
main { max-width: 1400px; min-height:70vh; margin:auto; padding:2rem; } h1,h2,h3 { color:var(--ink); line-height:1.25; } h1 { font-size:1.85rem; margin-top:0; } h2 { font-size:1.35rem; margin-top:1.7rem; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1rem; } .cards>a { background:white; border:1px solid var(--border); border-radius:6px; padding:1.2rem; text-decoration:none; } .cards h2 { margin:0; } .cards p { color:var(--tima-muted); margin-bottom:0; }
form { margin-bottom:1rem; } form.inline, .inline-form, .actions form, td form { display:inline; } label { display:block; font-weight:600; margin:.7rem 0 .2rem; } input,select,textarea,button { font:inherit; } input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea { padding:.5rem .6rem; border:1px solid var(--tima-control); border-radius:4px; background:white; max-width:100%; } input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea { width:100%; } textarea { min-height:5rem; } select[multiple] { min-height:9rem; width:100%; } input[type=checkbox],input[type=radio] { accent-color:var(--accent); margin-right:.4rem; } button,.button { background:var(--accent); color:white; border:1px solid var(--accent); border-radius:4px; padding:.55rem 1rem; cursor:pointer; display:inline-block; text-decoration:none; margin-top:.7rem; } button.danger,.danger { background:var(--tima-accent); border-color:var(--tima-accent); } .actions { margin:1rem 0; display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; }
fieldset { background:white; border:1px solid var(--border); border-radius:4px; padding:1rem; margin:1rem 0; min-width:0; } legend { font-weight:700; padding:0 .5rem; } .form-grid,.grid,.columns { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1rem; } .form-row { margin-bottom:.6rem; } .help,.muted,small { color:var(--tima-muted); } .validation-summary-errors,.field-validation-error,.error { color:var(--tima-accent); } .validation-summary-valid { display:none; } .notice,.success,.alert { padding:.8rem 1rem; border-left:4px solid var(--tima-control); background:var(--tima-subtle); margin-bottom:1rem; } .login { max-width:450px; margin:2rem auto; padding:1.5rem; background:white; border:1px solid var(--border); }
table { width:100%; border-collapse:collapse; background:white; margin:1rem 0; font-size:.94rem; } th,td { text-align:left; padding:.6rem .75rem; border-bottom:1px solid var(--border); vertical-align:top; overflow-wrap:anywhere; } th { background:var(--tima-subtle); } .table-container,.table-responsive { overflow:auto; } .toolbar,.filters { display:flex; gap:.75rem; align-items:end; flex-wrap:wrap; margin-bottom:1rem; } .toolbar input,.filters input { width:auto !important; } .menu-list { columns:2; } .menu-list li { margin:.6rem; } footer { padding:1rem 2rem; color:var(--tima-muted); text-align:center; border-top:1px solid var(--border); } .skip-link { position:absolute; top:-100px; background:white; padding:1rem; } .skip-link:focus { top:0; } :focus-visible { outline:3px solid var(--tima-accent); outline-offset:3px; } .check { display:flex; gap:.4rem; align-items:center; } dl { display:grid; grid-template-columns:minmax(140px,1fr) 3fr; gap:.5rem; } dt { font-weight:600; } dd { margin:0; white-space:pre-wrap; }
@media(max-width:700px) { header,nav,main { padding:1rem; } header span { display:none; } nav form { margin-left:0; } main { overflow-x:auto; } .menu-list { columns:1; } th,td { padding:.4rem; } }

a:hover { color:var(--tima-accent-hover); }
nav a:hover { color:var(--tima-accent); text-decoration:underline; }
button:hover,.button:hover { background:var(--tima-accent-hover); color:white; }
nav button:hover { background:white; color:var(--tima-accent-hover); border-color:var(--tima-accent); }
.cards>a:hover { border-color:var(--tima-accent); }
.cards>a:hover h2 { color:var(--tima-accent); }

/* User and password forms follow the shared TIMA theme. */
.account-form{max-width:720px}.user-role-options .check{align-items:flex-start}.user-role-options .check input{margin-top:.4rem;flex-shrink:0}.user-role-options .help{margin-top:.2rem;margin-left:1.7rem}.user-role-options>p:first-of-type{margin-left:0}.user-row-actions{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.account-form .actions button{margin-top:0}

.users-table-container{max-width:100%}.users-table{min-width:640px}.users-table th,.users-table td:nth-child(2),.users-table .user-row-actions a{white-space:nowrap}.users-table .user-row-actions{min-width:128px}.users-table-scroll-hint{display:none}
@media(max-width:700px){.users-table-scroll-hint{display:block}}
