/* OfferLak admin: brand touches and the few layout helpers the custom pages need (Unfold supplies the rest). */
:root { --ol-orange: #F04400; --ol-cream: #FFF0E6; --ol-ink: #1A1A1A; --ol-muted: #757575; }
.ol-page { display: flex; flex-direction: column; gap: 24px; }
.ol-hero { background: linear-gradient(180deg, #000 0%, #2a0c00 55%, var(--ol-orange) 160%); color: #fff; border-radius: 14px;
  padding: 22px 26px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.ol-hero h1 { font-size: 22px; font-weight: 800; margin: 0; letter-spacing: -.01em; }
.ol-hero p { margin: 4px 0 0; color: #ffd9c7; font-size: 13px; }
.ol-hero .ol-pill { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.25); padding: 6px 12px; border-radius: 999px; font-size: 12px; }
.ol-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.ol-grid-2 { display: grid; gap: 16px; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
@media (max-width: 1000px) { .ol-grid-2 { grid-template-columns: 1fr; } }
.ol-kpi { display: flex; flex-direction: column; gap: 6px; }
.ol-kpi .ol-kpi-label { font-size: 12px; color: var(--ol-muted); display: flex; align-items: center; gap: 6px; }
.ol-kpi .ol-kpi-value { font-size: 28px; font-weight: 800; font-family: Roboto, Inter, system-ui, sans-serif; color: var(--ol-ink); }
.dark .ol-kpi .ol-kpi-value { color: #fff; }
.ol-queue { display: flex; align-items: center; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,.06); text-decoration: none; }
.ol-queue:last-child { border-bottom: 0; }
.ol-queue span.ol-count { min-width: 34px; text-align: center; font-weight: 800; border-radius: 999px; padding: 2px 10px; background: var(--ol-cream); color: #C43800; }
.ol-queue span.ol-count.ol-zero { background: transparent; color: var(--ol-muted); }
.ol-map { height: 70vh; min-height: 420px; border-radius: 12px; overflow: hidden; border: 1px solid #e5e5e5; }
.ol-legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12px; color: var(--ol-muted); }
.ol-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; margin-inline-end: 6px; vertical-align: middle; }
.ol-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.ol-tabs a { padding: 7px 12px; border-radius: 999px; border: 1px solid #e5e5e5; font-size: 13px; text-decoration: none; color: inherit; }
.ol-tabs a.ol-active { background: var(--ol-orange); border-color: var(--ol-orange); color: #fff; }
.ol-setting { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(260px, 1.4fr) auto; gap: 14px; align-items: start; padding: 14px 0;
  border-bottom: 1px solid rgba(0,0,0,.06); }
@media (max-width: 900px) { .ol-setting { grid-template-columns: 1fr; } }
.ol-setting .ol-label { font-weight: 600; font-size: 14px; }
.ol-setting .ol-help { font-size: 12px; color: var(--ol-muted); margin-top: 3px; }
.ol-setting .ol-key { font-family: ui-monospace, monospace; font-size: 11px; color: #b0b0b0; }
.ol-setting input[type=text], .ol-setting input[type=number], .ol-setting select, .ol-setting textarea, .ol-form input, .ol-form select {
  width: 100%; border: 1px solid #d4d4d4; border-radius: 8px; padding: 8px 10px; font-size: 14px; background: #fff; color: #1a1a1a; }
.ol-setting textarea { min-height: 84px; font-family: ui-monospace, monospace; font-size: 12px; }
.ol-badge { display: inline-block; font-size: 11px; padding: 2px 8px; border-radius: 999px; background: var(--ol-cream); color: #C43800; }
.ol-btn { background: var(--ol-orange); color: #fff !important; border: 0; border-radius: 999px; padding: 10px 20px; font-weight: 700; cursor: pointer; }
.ol-btn:hover { background: #FF7A3D; }
.ol-form { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ol-form .ol-full { grid-column: 1 / -1; }
.ol-form label { font-size: 13px; font-weight: 600; display: block; margin-bottom: 4px; }
.ol-form .ol-section { grid-column: 1 / -1; font-size: 13px; font-weight: 800; color: var(--ol-orange); text-transform: uppercase; letter-spacing: .06em; margin-top: 8px; }
@media (max-width: 800px) { .ol-form { grid-template-columns: 1fr; } }
.ol-pin-map { height: 340px; border-radius: 12px; border: 1px solid #e5e5e5; }
.ol-errors { color: #D32F2F; font-size: 13px; }
