/* Editors HUB palette and type, scoped to the independent Productions application. */
body.eh-app{--ink:var(--eh-ink);--line:var(--eh-line);--muted:var(--eh-muted)}
button,input,select,textarea{font:inherit}p{margin:0 0 16px}a{text-underline-offset:4px}form{margin:0}
.topbar{background:var(--eh-ink);color:#fff;min-height:88px;padding:20px max(32px,calc((100vw - 1280px)/2));display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.brand{display:flex;gap:13px;align-items:center;text-decoration:none;flex-shrink:0}.brand-mark{color:var(--eh-lime);font:800 34px/1 Manrope,Arial,sans-serif;letter-spacing:-6px;padding-right:6px}.brand-name{font:800 20px/1.12 Manrope,Arial,sans-serif;letter-spacing:-.035em}.brand-name small{display:block;margin-top:7px;color:#bdc8b4;font:500 10px/16px Inter,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.navigation{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.navigation>a{font-size:13px;color:#ccd1c5;text-decoration:none;padding:8px 0}.navigation>a:hover,.navigation>a[aria-current=page]{color:var(--eh-lime)}
.page{width:min(1280px,calc(100% - 96px));margin:0 auto;padding:48px 0 64px;min-width:0}.button,button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border:1px solid transparent;border-radius:8px;background:var(--eh-lime);color:var(--eh-ink);font:600 14px/20px Inter,Arial,sans-serif;text-decoration:none;cursor:pointer;transition:background .15s}.button:hover,button:hover{background:#c5ef4c}.button.secondary,button.secondary{background:white;border-color:var(--eh-line);color:var(--eh-ink)}.button.secondary:hover,button.secondary:hover{background:#edf0e7}.topbar button.secondary{min-height:40px;padding:8px 12px;background:transparent;border-color:#58614f;color:#fff;font-size:12px}.topbar button.secondary:hover{background:#30382a}button:disabled{background:#e5e9dc;color:#7a826f;cursor:not-allowed}
h1{font-size:40px;line-height:1.2!important}h2{font-size:24px;line-height:32px!important;margin-bottom:12px!important}h3{font-size:20px}.eyebrow{font-size:12px;line-height:18px;letter-spacing:.06em;text-transform:uppercase;color:var(--eh-muted);margin-bottom:12px}.muted,.helptext{color:var(--eh-muted)}
input:not([type=checkbox]):not([type=hidden]),select,textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--eh-line);border-radius:8px;background:white;color:var(--eh-ink);font:400 14px/22px Inter,Arial,sans-serif}input:focus,select:focus,textarea:focus{border-color:#65851d;outline:2px solid #d6ff6380;outline-offset:1px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--eh-ink)}label{display:block;font:600 14px/20px Inter,Arial,sans-serif;margin:0 0 8px}.helptext{display:block;font-size:12px;line-height:20px;margin:8px 0 12px}.errorlist{color:#b42318;font-size:14px;padding-left:20px}.messages{list-style:none;margin:0 0 24px;padding:16px 20px;border:1px solid #d1e5c0;border-radius:12px;background:#e3f3d1;color:#305421}
.login{max-width:480px;margin:24px auto;background:#fff;border:1px solid var(--eh-line);border-radius:16px;padding:40px}.login h1{margin-bottom:16px}.login>p{color:var(--eh-muted);font-size:14px;line-height:22px;margin-bottom:28px}.login form p{margin-bottom:20px}.login form button{width:100%;margin-top:8px}.login ul{font-size:12px;color:var(--eh-muted);padding-left:20px}.login ul.errorlist{color:#b42318}
.catalog{min-width:0}.catalog header{display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap;margin:0 0 32px}.catalog h1{margin:8px 0 16px}.catalog .intro{max-width:760px}.catalog .intro>p{margin-bottom:0;color:var(--eh-muted);font-size:15px;line-height:24px}.catalog .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px;margin:24px 0}.catalog .metric,.catalog .panel{background:white;border:1px solid var(--eh-line);border-radius:16px;padding:28px}.catalog .metric strong{display:block;font:700 36px/44px Manrope,Arial,sans-serif;letter-spacing:-.035em;color:var(--eh-ink)}.catalog .metric>span{font-size:13px;color:var(--eh-muted)}.catalog .panel{margin:24px 0}.catalog .actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.catalog .actions label{margin:0}.catalog .actions input,.catalog .actions select{margin-top:8px}.catalog .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px 24px;margin:28px 0 20px}.catalog .scroll{overflow-x:auto;max-width:100%}.catalog table{border-collapse:collapse;width:100%;min-width:630px;font-size:14px}.catalog th,.catalog td{text-align:left;padding:16px;border-bottom:1px solid var(--eh-line);vertical-align:top}.catalog th{background:var(--eh-paper);font:600 12px/18px Inter,Arial,sans-serif;color:var(--eh-muted)}.catalog td a{font-weight:500}.catalog tbody tr:hover{background:#fafbf6}.catalog .tag{display:inline-block;background:#e9eddf;color:#435039;padding:6px 10px;border-radius:6px;font-size:12px;white-space:normal}.catalog .notice{padding:16px 20px;border:1px solid #ecd79b;border-radius:12px;background:#fff9e9;font-size:14px;margin:20px 0}.catalog .weeks{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.catalog .week{padding:6px 8px;font-size:12px;border-radius:6px;background:var(--eh-paper)}.catalog .week.complete{background:#e3f3d1;color:#305421}.catalog .week.error{background:#fee9e7;color:#b42318}.catalog details{padding:14px 0;border-bottom:1px solid var(--eh-line)}.catalog details.panel{padding:24px 28px}.catalog summary{cursor:pointer;font-weight:600;font-size:14px}.catalog .sources{font-size:13px}.catalog .sources a,.catalog dd{overflow-wrap:anywhere}.catalog dt{font-weight:600;font-size:13px;color:var(--eh-muted)}.catalog dd{margin:0 0 12px}.catalog nav.pager{display:flex;gap:20px;margin:20px 0 0;font-size:14px}
@media(max-width:760px){.topbar{padding:20px 24px;gap:20px}.page{width:calc(100% - 40px);padding-top:32px}.navigation{gap:18px}h1{font-size:30px!important}.catalog header{gap:18px}.catalog .panel,.catalog .metric{padding:24px}.login{padding:28px;margin:8px auto}.catalog .form-grid{margin-top:24px}.catalog .actions{align-items:flex-start}.catalog .actions form{max-width:100%}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}
