/* Additions for the ASP.NET site (sign-in, data room, admin, layer tree). Base styles live in site.css. */
.contacts .signin { border:2px solid var(--gold); padding:6px 12px; border-radius:4px; }
.contacts .who { color:var(--muted); font-size:14px; }
form.inline { display:inline; margin:0; }
.linkbtn { background:none; border:0; padding:0; color:var(--gold-d); font:inherit; font-size:15px; cursor:pointer; text-decoration:underline; }
.mainnav li.dr a { color:var(--gold); }
.narrow { max-width:520px; }
.form { display:flex; flex-direction:column; gap:14px; margin:20px 0 40px; }
.form label { display:flex; flex-direction:column; gap:4px; font-weight:500; font-size:15px; }
.form input, .form select, .form textarea { font:inherit; padding:10px 12px; border:1px solid var(--line); border-radius:4px; background:#fff; }
.form textarea { min-height:140px; }
.form label.check { flex-direction:row; align-items:center; gap:8px; font-weight:400; }
.form .btn { align-self:flex-start; border:0; cursor:pointer; }
.err { color:#b3261e; margin:0; } .err:empty { display:none; } .err ul { margin:0; padding-left:18px; }
.ok { background:#e7f4ea; border-left:4px solid #2e7d32; padding:12px 16px; }
/* admin */
.admin details { background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:4px 18px 14px; margin:18px 0; }
.admin summary { cursor:pointer; list-style:none; } .admin summary h3 { display:inline-block; margin:14px 0 6px; }
.admin summary::before { content:"▸ "; color:var(--gold-d); } .admin details[open] > summary::before { content:"▾ "; }
.tablewrap { overflow-x:auto; }
table.grid { border-collapse:collapse; width:100%; font-size:14px; }
table.grid th, table.grid td { text-align:left; padding:7px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
table.grid th { font:500 13px Oswald, sans-serif; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
tr.off td, .enq.off { opacity:.55; }
td.actions { white-space:nowrap; } td.actions form { display:inline; margin-right:10px; }
.rowform { display:flex; gap:10px; align-items:center; } .rowform select { font:inherit; font-size:14px; padding:3px 6px; }
.inline-form { border-top:1px solid var(--line); padding-top:6px; max-width:520px; }
.tag { display:inline-block; font-size:11px; padding:1px 7px; border-radius:10px; background:#FFF4DC; color:#7a5200; margin-left:4px; vertical-align:1px; }
.tag.red { background:#fde7e7; color:#8a1c1c; }
.sw { display:inline-block; width:12px; height:9px; border-radius:2px; margin-right:6px; vertical-align:0; outline:1px solid rgba(0,0,0,.2); }
.enq { border-bottom:1px solid var(--line); padding:10px 0; } .enq p { margin:6px 0; white-space:pre-wrap; }
/* data room */
.doclist { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr)); gap:14px; margin:12px 0 28px; }
.doc { background:var(--panel); border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:4px; padding:12px 16px; }
.doc a { font-weight:500; } .doc p { margin:4px 0 0; color:var(--muted); font-size:14px; }
.confidential { background:#1e2a35; color:#e8edf2; font-size:14px; padding:8px 0; }
.dr-start { display:flex; flex-wrap:wrap; gap:4px; margin:22px 0 6px; }
.toc { display:flex; flex-wrap:wrap; gap:6px 16px; padding:12px 0; border-bottom:1px solid var(--line); font-size:15px; }
.toc a { text-decoration:none; font-weight:500; }
section.wrap h2[id] { scroll-margin-top:70px; }
.video16x9 { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; background:#000; margin:12px 0 10px; }
.video16x9 iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.chapters { display:flex; flex-wrap:wrap; gap:6px; }

/* data room: 3D viewer / area map cards (Drilling section) */
.cards.two.viewers { margin:18px 0 30px; }
.viewers .card .pic img { aspect-ratio:16/9; object-fit:cover; }

/* Explore page intro */
.wrap > p.lead { font-size:19px; margin-top:28px; }

/* history timeline */
.timeline { list-style:none; padding:0; margin:16px 0 28px; border-left:3px solid var(--gold); }
.timeline li { position:relative; padding:0 0 14px 18px; }
.timeline li::before { content:""; position:absolute; left:-8px; top:6px; width:13px; height:13px; border-radius:50%; background:var(--gold); }
/* Explore page: the one property map (2D + 3D) */
.card.onemap { margin:24px 0 34px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:0 28px; align-items:start; }
.card.onemap .pic img { aspect-ratio:16/10; object-fit:cover; }
.card.onemap .txt { padding-top:6px; } .card.onemap ul { margin:4px 0 12px; }
@media (max-width:860px) { .card.onemap { grid-template-columns:1fr; } }

/* admin portal (owner 2026-10-22): side menu + "needs attention" tiles – Pages/Admin/_AdminLayout.cshtml */
/* (main .adm, not .adm: the menu bar's owner gear is also .adm – unscoped, this grid made it 266 px wide and pushed the menu
   onto two lines, 2026-10-22) */
/* (owner 2026-10-23: "left bar hug left – use most of the screen – you can stop at my 42 inch": full width from the left edge, capped at 2560 px) */
main .adm { display:grid; grid-template-columns:220px minmax(0,1fr); gap:28px; max-width:2560px; margin:0; padding:24px 32px 0 16px; }
.adm-main > .wrap { max-width:none; margin:0; padding:0; }
/* no site footer on admin pages (owner 2026-10-23: "Drop footer on admin"); sign out stays in the gear drop-down */
body:has(main .adm) footer.foot { display:none; }
main .adm { padding-bottom:32px; }
.adm-main > .wrap > h2:first-child, .adm-main > .wrap > h1:first-child { margin-top:0; }
/* the side menu as a backend panel, grouped with icons (owner 2026-10-23) */
.adm-nav { display:flex; flex-direction:column; gap:1px; position:sticky; top:72px; align-self:start; max-height:calc(100vh - 96px); overflow-y:auto;
           background:var(--ink4, var(--panel)); border:1px solid var(--line); border-radius:6px; padding:10px 8px 12px; }
.adm-title { font:500 14px Oswald, sans-serif; text-transform:uppercase; letter-spacing:.08em; color:var(--ink); margin:2px 10px 8px; padding-bottom:10px;
             border-bottom:1px solid var(--line); display:flex; align-items:center; gap:8px; }
.adm-title .fa { color:var(--gold); }
.adm-group { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.09em; color:var(--muted); opacity:.7; margin:14px 10px 4px; }
.adm-nav a { display:flex; align-items:center; gap:10px; padding:6px 10px; border-radius:4px; color:var(--ink); text-decoration:none; font-size:14px; }
.adm-nav a .fa { width:16px; text-align:center; color:var(--muted); font-size:14px; }
.adm-nav a:hover { background:var(--panel); } .adm-nav a:hover .fa { color:var(--ink); }
.adm-nav a[aria-current] { background:var(--panel); font-weight:500; box-shadow:inset 3px 0 0 var(--gold); }
.adm-nav a[aria-current] .fa { color:var(--gold); }
.adm-out { margin:10px 0 0; padding-top:8px; border-top:1px solid var(--line, #ddd); }
.adm-out button { display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; width:100%; padding:6px 10px; border:0; border-radius:4px; background:none; color:inherit; font:inherit; font-size:14px; text-align:left; cursor:pointer; }
.adm-out button .fa { width:16px; text-align:center; color:var(--muted); }
.adm-out button small { flex-basis:100%; padding-left:26px; color:var(--muted); font-size:12px; overflow:hidden; text-overflow:ellipsis; }
.adm-out button:hover { background:var(--panel); }
.adm-b { margin-left:auto; font-size:11px; background:#FFF4DC; color:#7a5200; padding:1px 7px; border-radius:10px; }
.adm-tiles { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:12px; margin:12px 0 28px; }
.adm-tile { display:flex; flex-direction:column; background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:12px 14px; color:var(--ink); text-decoration:none; }
.adm-tile:hover { border-color:var(--gold); }
.adm-tile span { font-size:14px; color:var(--muted); } .adm-tile b { font:500 28px/1.2 Oswald, sans-serif; } .adm-tile small { font-size:13px; color:var(--muted); }
.adm-tile.hot { border-top:4px solid var(--gold); } .adm-tile.hot small { color:#7a5200; }
.adm-recent { list-style:none; padding:0; margin:0; } .adm-recent li { border-top:1px solid var(--line); padding:8px 0; display:flex; gap:12px; justify-content:space-between; }
.adm-recent a { color:var(--ink); text-decoration:none; } .adm-recent a:hover { color:var(--gold-d); }
.adm-list { display:flex; flex-direction:column; gap:10px; margin-top:12px; }
.adm-list > a, .adm-list > div { display:block; background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:12px 16px; color:var(--ink); text-decoration:none; }
.adm-list > a:hover { border-color:var(--gold); } .adm-list span:not(.tag) { display:block; color:var(--muted); font-size:14px; } .adm-list .off { opacity:.65; }
.admin h3[id] { scroll-margin-top:80px; margin-top:28px; }
.admin details.adm-card { margin-top:28px; }
@media (max-width:800px) {
  main .adm { grid-template-columns:minmax(0,1fr); gap:12px; padding:12px 16px 0; }
  .adm-nav { position:static; flex-direction:row; overflow-x:auto; gap:4px; padding:6px; max-height:none; }
  .adm-title, .adm-group { display:none; } .adm-nav a { white-space:nowrap; font-size:14px; }
  .adm-out { margin:0; padding:0; border:0; } .adm-out button { white-space:nowrap; } .adm-out button small { display:none; }
  .adm-nav a[aria-current] { box-shadow:inset 0 -3px 0 var(--gold); }
}
/* partners' offer page (owner 2026-10-22) – Pages/DataRoom/Offer.cshtml */
.offer-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin:18px 0; }
.offer-facts div { background:var(--panel); border:1px solid var(--line); border-top:4px solid var(--gold); border-radius:4px; padding:12px 16px; display:flex; flex-direction:column; }
.offer-facts span, .offer-facts small { color:var(--muted); font-size:14px; } .offer-facts b { font:600 26px/1.3 Oswald, sans-serif; }
.offer-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); gap:10px 18px; }
.offer-form label { display:flex; flex-direction:column; gap:4px; font-size:15px; }
.offer-form input:not([type=file]), .offer-form select, .offer-form textarea { font:inherit; font-size:15px; padding:7px 10px; }
.offer-form h3 { margin-top:26px; }
.offer-buttons { display:flex; gap:12px; flex-wrap:wrap; margin-top:10px; }
