:root {
  color-scheme: light;
  --cw-admin-green: #176b4f;
  --cw-admin-ink: #172033;
  --cw-admin-muted: #687387;
  --cw-admin-line: rgba(40, 54, 82, .14);
}

html, body { min-height: 100%; }
body.admin-app {
  margin: 0;
  color: var(--cw-admin-ink);
  background:
    radial-gradient(circle at 10% 0, rgba(34, 129, 91, .12), transparent 34rem),
    #f3f6f4;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
a { color: var(--cw-admin-green); }
:focus-visible { outline: 3px solid rgba(23, 107, 79, .45); outline-offset: 3px; }
.admin-skip {
  position: fixed; top: -100px; left: 1rem; z-index: 1100; padding: .7rem 1rem;
  color: #fff; background: #172033; border-radius: .6rem;
}
.admin-skip:focus { top: 1rem; }
.admin-header {
  position: sticky; top: 0; z-index: 1000; display: flex; align-items: center;
  justify-content: space-between; gap: 1rem; min-height: 72px; padding: .75rem clamp(1rem, 4vw, 3rem);
  color: #fff; background: rgba(16, 23, 29, .97); border-bottom: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 10px 30px rgba(16, 23, 29, .13);
}
.admin-brand { display: inline-flex; align-items: center; gap: .9rem; color: #fff; text-decoration: none; }
.admin-brand img { display: block; width: min(190px, 42vw); height: auto; }
.admin-brand span { padding-left: .9rem; border-left: 1px solid rgba(255,255,255,.22); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }
.admin-session { display: flex; align-items: center; justify-content: flex-end; gap: .8rem; }
.admin-session-copy { min-width: 0; text-align: right; }
.admin-session-copy strong, .admin-session-copy small { display: block; }
.admin-session-copy small { max-width: 290px; color: rgba(255,255,255,.66); font-size: .72rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-main { width: min(1500px, calc(100% - 2rem)); margin: 0 auto; padding: 1.2rem 0 3rem; }
.admin-footer { padding: 1.5rem; color: var(--cw-admin-muted); font-size: .78rem; text-align: center; }
.admin-footer a { margin-left: .5rem; }
.admin-login-page { display: grid; min-height: 100vh; place-items: center; padding: 1.5rem; }
.admin-login {
  width: min(100%, 440px); padding: clamp(1.4rem, 5vw, 2.4rem); background: #fff;
  border: 1px solid var(--cw-admin-line); border-radius: 1.25rem; box-shadow: 0 24px 70px rgba(23,32,51,.14);
}
.admin-login-logo { display: block; width: min(240px, 70%); height: auto; margin: 0 auto 1.8rem; padding: .7rem 1rem; background: #12171d; border-radius: .7rem; }
.admin-login h1 { margin: 0 0 .45rem; color: var(--cw-admin-ink); font-size: 1.65rem; }
.admin-login > p { color: var(--cw-admin-muted); }
.admin-login .form-label { color: var(--cw-admin-ink); font-weight: 700; }
.admin-login-note { margin: 1.1rem 0 0; font-size: .78rem; }
.jw-icon { width: 20px; height: 20px; }
.jw-icon-button { display: inline-grid; min-width: 40px; min-height: 40px; padding: .45rem; place-items: center; border: 1px solid var(--cw-admin-line); border-radius: .7rem; color: var(--cw-admin-ink); background: transparent; }
.modal-content { border: 0; border-radius: 1rem; box-shadow: 0 24px 80px rgba(17,27,37,.25); }
.modal-header, .modal-footer { border-color: var(--cw-admin-line); }
.section { width: 100%; }
.btn { display: inline-flex; align-items: center; justify-content: center; }
.table { --bs-table-bg: transparent; }

@media (max-width: 700px) {
  .admin-header { align-items: flex-start; }
  .admin-brand span, .admin-session-copy { display: none; }
  .admin-main { width: min(100% - 1rem, 1500px); padding-top: .5rem; }
}

