@font-face{font-family:Hauler Sora;src:url("/static/platform_api/fonts/hauler-sora-latin.woff2") format("woff2");font-style:normal;font-weight:600 800;font-display:swap}
@font-face{font-family:Hauler Inter;src:url("/static/platform_api/fonts/hauler-inter-latin.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:Hauler Mono;src:url("/static/platform_api/fonts/hauler-dm-mono-400-latin.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Hauler Mono;src:url("/static/platform_api/fonts/hauler-dm-mono-500-latin.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
:root {
  --ht-navy: #11243c;
  --ht-blue: #1767c7;
  --ht-green: #1daa73;
  --ht-ink: #1c3048;
  --ht-muted: #687b91;
  --ht-line: #dce6f0;
  --ht-bg: #f3f6fb;
}

html, body { background: var(--ht-bg); color: var(--ht-ink); font-family: "Segoe UI", Arial, sans-serif; }
body { font-size: 15px; }
a { color: #1768bd; }
a:hover { color: #0b8d68; }
#header { min-height: 82px; padding: 12px 28px; background: linear-gradient(105deg, #10233b, #183b5b); color: #fff; box-shadow: 0 5px 20px #0a1d3322; }
#branding { display: flex; align-items: center; min-height: 56px; }
#branding h1, #branding h1 a, #branding a:link, #branding a:visited { color: #fff; }
.ht-admin-brand { display: flex; align-items: center; gap: 15px; }
.ht-admin-brand a { display: flex; align-items: center; width: 222px; min-height: 58px; padding: 5px 10px; border-radius: 10px; background: white; }
.ht-admin-brand img { display: block; width: 100%; height: auto; }
.ht-admin-brand-tag { color: #c4d4e5; font-size: 11px; font-weight: 800; letter-spacing: 1.6px; }
#user-tools { padding-top: 8px; color: #d7e4f0; font-size: 13px; font-weight: 600; }
#user-tools a { color: #8be1b8; border-bottom: 1px solid #8be1b855; }
#user-tools a:hover { color: white; }
.ht-admin-nav-note { display: flex; align-items: center; gap: 8px; color: #b7c9db; font-size: 12px; font-weight: 700; }
.ht-admin-nav-note span { width: 8px; height: 8px; border-radius: 50%; background: #3ad08f; box-shadow: 0 0 0 4px #3ad08f24; }
.breadcrumbs { padding: 13px 28px; border-bottom: 1px solid var(--ht-line); background: #fff; color: #75869a; font-size: 12px; }
.breadcrumbs a { color: #1768bd; }
#content { width: min(1440px, 100%); margin: 0 auto; padding: 28px; }
#content h1 { color: var(--ht-ink); font-size: 28px; font-weight: 800; letter-spacing: -.5px; }
#content-main { width: 100%; }
#content-related { width: 24%; }
.module, .inline-group, .submit-row { border: 1px solid var(--ht-line); border-radius: 12px; background: white; box-shadow: 0 5px 18px #1c3a5709; overflow: hidden; }
.module h2, .module caption, .inline-group h2 { padding: 13px 16px; background: #edf4fb; color: #24445f; font-size: 13px; font-weight: 800; letter-spacing: .3px; }
.module table th, .module table td { padding: 12px 15px; border-color: #e8eef4; font-size: 13px; }
.module table th { color: #52677f; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.module table tr:hover td { background: #f5faff; }
.button, input[type=submit], input[type=button], .submit-row input, a.button { min-height: 39px; padding: 9px 15px; border: 0; border-radius: 8px; background: linear-gradient(100deg, var(--ht-blue), #168f83); color: white; font-size: 13px; font-weight: 800; transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.button:hover, input[type=submit]:hover, input[type=button]:hover, .submit-row input:hover, a.button:hover { transform: translateY(-2px); box-shadow: 0 8px 18px #1767c733; filter: saturate(1.12); color: white; }
input, select, textarea { border: 1px solid #cad8e6 !important; border-radius: 7px !important; padding: 8px 10px !important; color: #20354d !important; font-size: 14px !important; }
select { min-height: 38px; background: white !important; cursor: pointer; }
input[type=file] { padding: 6px 10px !important; background: #f7fafd !important; }
input:focus, select:focus, textarea:focus { outline: 3px solid #2d94df30 !important; border-color: #3286c5 !important; }
.form-row { padding: 14px 16px; border-bottom: 1px solid #edf1f5; }
.form-row label { color: #3d536b; font-size: 13px; font-weight: 700; }
.help, p.help, form .help { color: #718198; font-size: 12px; }
.messagelist li { padding: 12px 16px; border-radius: 9px; font-size: 14px; }
.messagelist li.success { background: #e9f8f0; color: #176746; }
.messagelist li.error { background: #fff0ef; color: #a22f2a; }
#nav-sidebar { border-right: 1px solid var(--ht-line); background: #fff; }
#nav-sidebar .current-model { background: #eaf3ff; }
#nav-sidebar a { color: #334c66; font-size: 13px; }
#nav-sidebar a:hover { color: #0b8d68; }
.paginator { padding: 12px; border-radius: 8px; background: #f6f9fc; font-size: 13px; }
.ht-dashboard { display: grid; gap: 30px; }
.ht-welcome { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 205px; padding: 32px 36px; overflow: hidden; border: 1px solid #22486c; border-radius: 18px; background: linear-gradient(112deg, #112743 4%, #17456b 60%, #176a7b 100%); color: white; box-shadow: 0 18px 42px #17345120; }
.ht-welcome-copy { position: relative; z-index: 1; max-width: 660px; }
.ht-eyebrow, .ht-section-kicker { display: block; color: #61dda5; font-size: 10px; font-weight: 900; letter-spacing: 1.5px; }
.ht-eyebrow { display: flex; align-items: center; gap: 9px; }
.ht-eyebrow i { width: 8px; height: 8px; border-radius: 50%; background: #63e2a8; box-shadow: 0 0 13px #63e2a8; }
.ht-welcome h1 { margin: 13px 0 9px; color: white !important; font-size: clamp(27px, 3vw, 38px) !important; letter-spacing: -1.1px; }
.ht-welcome p { max-width: 590px; margin: 0; color: #d1dfeb; font-size: 15px; line-height: 1.65; }
.ht-welcome-actions { position: relative; z-index: 1; display: grid; gap: 10px; min-width: 195px; }
.ht-primary-action, .ht-secondary-action { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 0 15px; border-radius: 9px; font-size: 13px; font-weight: 800; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.ht-primary-action { background: linear-gradient(100deg, #24b980, #27cb91); color: #092e2b; box-shadow: 0 8px 18px #0b17283c; }
.ht-secondary-action { border: 1px solid #ffffff45; background: #ffffff13; color: white; }
.ht-primary-action:hover, .ht-secondary-action:hover { transform: translateY(-2px); box-shadow: 0 10px 22px #071b303d; color: white; }
.ht-welcome-decoration { position: absolute; top: -95px; right: 13%; width: 330px; height: 330px; border: 1px solid #ffffff17; border-radius: 50%; }
.ht-welcome-decoration span { position: absolute; inset: 32px; border: 1px solid #ffffff10; border-radius: 50%; }
.ht-welcome-decoration span:nth-child(2) { inset: 67px; }
.ht-welcome-decoration span:nth-child(3) { inset: 102px; }
.ht-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.ht-section-kicker { color: #148467; }
.ht-section-heading h2 { margin: 5px 0 0; color: #1b3048; font-size: 22px; font-weight: 850; letter-spacing: -.4px; }
.ht-section-heading p { margin: 0 0 2px; color: #6e8095; font-size: 13px; }
.ht-quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.ht-quick-card { display: flex; align-items: center; gap: 12px; min-height: 86px; padding: 13px; border: 1px solid var(--ht-line); border-radius: 12px; background: white; box-shadow: 0 4px 13px #142f4a08; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.ht-quick-card:hover { transform: translateY(-4px); border-color: #a9c7e0; box-shadow: 0 12px 24px #163a5917; }
.ht-card-icon { display: grid; place-items: center; flex: none; width: 43px; height: 43px; border-radius: 12px; font-size: 20px; font-weight: 900; }
.ht-quick-card > span:nth-child(2) { display: grid; gap: 5px; min-width: 0; }
.ht-quick-card b { color: #20364e; font-size: 13px; }
.ht-quick-card small { color: #6a7e94; font-size: 11px; line-height: 1.35; }
.ht-quick-card > i { margin-left: auto; color: #8ba0b5; font-size: 19px; font-style: normal; transition: transform .18s ease; }
.ht-quick-card:hover > i { transform: translateX(4px); color: #168c76; }
.ht-tone-blue .ht-card-icon { background: #e7f1ff; color: #2269c2; }
.ht-tone-violet .ht-card-icon { background: #f0eaff; color: #7553c8; }
.ht-tone-green .ht-card-icon { background: #e5f7ed; color: #158656; }
.ht-tone-amber .ht-card-icon { background: #fff3d9; color: #aa740c; }
.ht-tone-cyan .ht-card-icon { background: #e3f8fc; color: #087e97; }
.ht-tone-red .ht-card-icon { background: #fff0ed; color: #c94c45; }
.ht-tone-slate .ht-card-icon { background: #eaf0f5; color: #526d86; }
.ht-tone-pink .ht-card-icon { background: #ffedf4; color: #bc4e7a; }
.ht-app-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ht-app-card { overflow: hidden; border: 1px solid var(--ht-line); border-radius: 13px; background: white; box-shadow: 0 4px 15px #18385509; }
.ht-app-card > header { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-bottom: 1px solid #edf1f5; background: linear-gradient(110deg, #f8fbff, white); }
.ht-app-mark { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 11px; background: #e8f3ff; color: #1768bd; font-weight: 900; }
.ht-app-card h3 { margin: 0; color: #253a52; font-size: 15px; font-weight: 850; }
.ht-app-card header small { display: block; margin-top: 3px; color: #78899c; font-size: 11px; }
.ht-model-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 51px; padding: 8px 17px; border-bottom: 1px solid #eff3f7; transition: background .15s ease; }
.ht-model-row:last-child { border-bottom: 0; }
.ht-model-row:hover { background: #f5faff; }
.ht-model-name { color: #2a415c; font-size: 13px; font-weight: 750; }
.ht-model-actions { display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.ht-add-link { padding: 6px 9px; border: 1px solid #bce6d3; border-radius: 7px; background: #effaf4; color: #16744d; font-size: 11px; font-weight: 800; }
.ht-open-link { color: #206bb5; font-size: 11px; font-weight: 800; }
.ht-open-link span { margin-left: 3px; }
.ht-empty { grid-column: 1/-1; padding: 28px; border: 1px dashed #bccddd; border-radius: 12px; background: #fff; color: #6c7f93; text-align: center; }
.ht-admin-footer { display: flex; justify-content: space-between; gap: 15px; padding: 15px 3px 2px; border-top: 1px solid #dbe5ef; color: #6d8095; font-size: 11px; }
.ht-admin-footer span:first-child { color: #167d67; font-weight: 900; letter-spacing: 1px; }
body.ht-admin-home .main { display: block; }
body.ht-admin-home #nav-sidebar { display: none; }
body.ht-admin-home #content { width: 100%; max-width: none; }
body.ht-admin-home #content-start { padding: 0; }
@keyframes ht-rise { from { opacity: 1; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.ht-welcome { animation: ht-rise .45s ease both; }
.ht-quick-card { animation: ht-rise .4s ease both; }
.ht-quick-card:nth-child(2) { animation-delay: .04s; }.ht-quick-card:nth-child(3) { animation-delay: .08s; }.ht-quick-card:nth-child(4) { animation-delay: .12s; }
.ht-quick-card:nth-child(5) { animation-delay: .16s; }.ht-quick-card:nth-child(6) { animation-delay: .2s; }.ht-quick-card:nth-child(7) { animation-delay: .24s; }.ht-quick-card:nth-child(8) { animation-delay: .28s; }
@media (max-width: 1050px) { .ht-quick-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 767px) {
  #header { padding: 10px 14px; }
  .ht-admin-brand { gap: 8px; }
  .ht-admin-brand a { width: 172px; min-height: 48px; }
  .ht-admin-brand-tag, .ht-admin-nav-note { display: none; }
  #user-tools { float: none; padding: 10px 0 2px; font-size: 11px; }
  .breadcrumbs { padding: 10px 15px; }
  #content { padding: 17px 13px; }
  .ht-dashboard { gap: 22px; }
  .ht-welcome { display: grid; gap: 20px; padding: 23px 19px; }
  .ht-welcome-actions { grid-template-columns: 1fr 1fr; min-width: 0; }
  .ht-primary-action, .ht-secondary-action { min-height: 43px; padding: 0 11px; font-size: 11px; }
  .ht-section-heading { display: block; }
  .ht-section-heading p { margin-top: 6px; }
  .ht-quick-grid, .ht-app-grid { grid-template-columns: 1fr; gap: 9px; }
  .ht-quick-card { min-height: 74px; }
  .ht-admin-footer { display: grid; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Clear, responsive Django admin account controls */
#header{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:88px;flex-wrap:wrap}
#branding{flex:0 0 auto}
#user-tools.ht-user-tools{display:flex;align-items:center;justify-content:center;gap:16px;flex:1 1 auto;margin:0;padding:0;text-align:center;white-space:normal}
.ht-admin-greeting{color:#d7e4f0;font-size:13px;letter-spacing:.2px}
.ht-admin-greeting strong{color:#fff;font-weight:800}
.ht-admin-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
#user-tools .ht-admin-actions a.ht-admin-action,#user-tools .ht-admin-actions button.ht-admin-action{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:1px solid #ffffff35;border-radius:8px;background:#ffffff0d;color:#eef6ff;text-decoration:none;font:700 11px "Segoe UI",Arial,sans-serif;white-space:nowrap;transition:background .16s,border-color .16s,transform .16s}
#user-tools .ht-admin-actions a.ht-admin-action:hover,#user-tools .ht-admin-actions button.ht-admin-action:hover{border-color:#57c9d8;background:#ffffff18;color:#fff;transform:translateY(-1px)}
#user-tools .ht-admin-actions form{display:inline-flex;margin:0}
#user-tools .ht-admin-actions button.ht-admin-logout{border-color:#ee899055;background:#e65e5e18;color:#ffdada;cursor:pointer}
#user-tools .theme-toggle{flex:none;margin-left:0}
#header .ht-admin-nav-note{flex:0 0 auto;white-space:nowrap}
@media(max-width:1050px){#header{justify-content:flex-start;gap:14px}#user-tools.ht-user-tools{flex:1 1 430px;justify-content:flex-start;text-align:left}.ht-admin-actions{justify-content:flex-start}}
@media(max-width:680px){#header{padding:12px 16px;gap:12px}.ht-admin-brand{gap:9px}.ht-admin-brand a{width:170px;min-height:48px}.ht-admin-brand-tag{font-size:9px}#user-tools.ht-user-tools{flex-basis:100%;gap:10px;justify-content:flex-start;flex-wrap:wrap}.ht-admin-greeting{width:100%;text-align:left}#header .ht-admin-nav-note{font-size:10px;margin-left:auto}.ht-admin-actions{gap:6px}#user-tools .ht-admin-actions a.ht-admin-action,#user-tools .ht-admin-actions button.ht-admin-action{min-height:33px;padding:0 9px;font-size:10px}}

/* Django Admin typography and coordinated light/dark workspaces */
:root{--ad-page:#f3f6fa;--ad-surface:#fff;--ad-surface-2:#edf3f8;--ad-ink:#1b2d42;--ad-muted:#62758b;--ad-line:#d9e3ec;--ad-accent:#2672c7;--ad-shadow:0 12px 28px rgba(26,53,80,.08)}
html[data-theme="dark"]{color-scheme:dark;--ad-page:#0c1522;--ad-surface:#121f2e;--ad-surface-2:#192a3c;--ad-ink:#edf4fb;--ad-muted:#a6b7ca;--ad-line:#2c4055;--ad-accent:#68b8ff;--ad-shadow:0 12px 28px rgba(0,0,0,.24)}
body{background:var(--ad-page)!important;color:var(--ad-ink);font-family:"Hauler Inter","Segoe UI",Arial,sans-serif}
#container,#main,#content-start{background:var(--ad-page);color:var(--ad-ink)}
#content h1,#content h2,#content h3,.ht-dashboard h1,.ht-dashboard h2,.ht-dashboard h3{font-family:"Hauler Sora","Hauler Inter",sans-serif;color:var(--ad-ink)}
#content h1{font-size:26px;letter-spacing:-.45px}
.breadcrumbs{background:var(--ad-surface-2);border-color:var(--ad-line);color:var(--ad-muted)}
.breadcrumbs a,#content a:not(.button),.ht-open-link{color:var(--ad-accent)}
.module,.inline-group,.submit-row,.ht-app-card,.ht-quick-card,.ht-empty{background:var(--ad-surface);border-color:var(--ad-line);box-shadow:var(--ad-shadow)}
.module h2,.module caption,.inline-group h2,.ht-app-card>header{background:var(--ad-surface-2);border-color:var(--ad-line);color:var(--ad-ink)}
.module table th,.module table td,.results td,.results th,#result_list td,#result_list th{border-color:var(--ad-line);color:var(--ad-ink)}
.module table th,.results th,#result_list th{background:var(--ad-surface-2);color:var(--ad-muted)}
.module table tr:hover td,#result_list tr:hover td,.ht-model-row:hover{background:var(--ad-surface-2)}
#nav-sidebar{background:var(--ad-surface);border-color:var(--ad-line)}
#nav-sidebar a,.ht-model-name{color:var(--ad-ink)}
#nav-sidebar .current-model,#nav-sidebar .current-app .section:link{background:var(--ad-surface-2)}
#changelist-filter{background:var(--ad-surface);border-color:var(--ad-line)}
#changelist-filter h2,#changelist-filter h3{background:var(--ad-surface-2);color:var(--ad-ink)}
input,select,textarea,.vTextField,.vLargeTextField{background:var(--ad-surface)!important;border-color:var(--ad-line)!important;color:var(--ad-ink)!important;font-family:"Hauler Inter","Segoe UI",sans-serif!important}
input::placeholder,textarea::placeholder{color:var(--ad-muted);opacity:1}
.form-row{border-color:var(--ad-line)}
.form-row label,.aligned label{color:var(--ad-ink)}
.help,p.help,form .help{color:var(--ad-muted)}
.paginator,.ht-admin-footer{background:var(--ad-surface-2);border-color:var(--ad-line);color:var(--ad-muted)}
.messagelist li.success{background:#e6f7ed;color:#17653e}.messagelist li.warning{background:#fff4dc;color:#795500}.messagelist li.error{background:#ffeded;color:#8a2828}
html[data-theme="dark"] .messagelist li.success{background:#143729;color:#9be6b9}html[data-theme="dark"] .messagelist li.warning{background:#3b3017;color:#ffdc8c}html[data-theme="dark"] .messagelist li.error{background:#452326;color:#ffb7b7}
.ht-welcome{box-shadow:var(--ad-shadow)}
.ht-section-heading h2,.ht-quick-card b,.ht-app-card h3{color:var(--ad-ink)}
.ht-quick-card small,.ht-app-card header small{color:var(--ad-muted)}
.ht-model-row{border-color:var(--ad-line)}
.ht-add-link{background:#e9f7ef;border-color:#b8e1c9;color:#176746}
.ht-admin-footer{border-color:var(--ad-line)}
.ht-admin-actions a:focus-visible,.ht-admin-actions button:focus-visible,#user-tools .theme-toggle:focus-visible{outline:3px solid #67c8f5;outline-offset:3px}
.login #content-main{max-width:460px;margin:28px auto;padding:26px;border:1px solid var(--ad-line);border-radius:14px;background:var(--ad-surface);box-shadow:var(--ad-shadow)}
.login #content-main h1{margin-top:0}
.login #content-main .form-row{padding:13px 0}
.login #content-main .submit-row{padding:15px 0 0;border:0;box-shadow:none}
#content a:focus-visible,#content button:focus-visible,#content input:focus-visible,#content select:focus-visible,#content textarea:focus-visible,#nav-sidebar a:focus-visible{outline:3px solid #53aee8;outline-offset:2px}
@media(max-width:767px){#content h1{font-size:23px}.login #content-main{margin:12px;padding:19px}.ht-section-heading h2{font-size:20px}.ht-admin-actions{flex-wrap:wrap}}
