:root{
  --ink:#16202b;--ink-soft:#5a6a78;--paper:#f6f4ee;--panel:#fff;--line:#dcd7c9;
  --brass:#a9762f;--brass-deep:#7c5620;--sky:#233b52;--good:#2f6b46;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --ink:#eee8da;--ink-soft:#b7ada0;--paper:#171410;--panel:#211d17;--line:#3a352b;
  --brass:#d9a44f;--brass-deep:#e8b76a;--sky:#9fb6cc;--good:#7fd39e;}}
:root[data-theme="dark"]{--ink:#eee8da;--ink-soft:#b7ada0;--paper:#171410;--panel:#211d17;--line:#3a352b;
  --brass:#d9a44f;--brass-deep:#e8b76a;--sky:#9fb6cc;--good:#7fd39e;}

.modal.adm{max-width:760px;text-align:left;padding:0;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;}
.adm-top{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 4px;}
.adm-top h3{margin:0;font-size:20px;}
.adm-x{background:none;border:none;font-size:26px;line-height:1;color:var(--ink-soft);cursor:pointer;padding:0 4px;}
.adm-tabs{display:flex;gap:2px;overflow-x:auto;padding:0 12px;border-bottom:1px solid var(--line);scrollbar-width:none;}
.adm-tabs::-webkit-scrollbar{display:none;}
.adm-tab{background:none;border:none;border-bottom:2px solid transparent;padding:10px 10px;font:inherit;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;white-space:nowrap;}
.adm-tab.on{color:var(--brass-deep);border-bottom-color:var(--brass);}
.adm-tab i{font-style:normal;background:var(--brass);color:#fff;border-radius:9px;font-size:10px;padding:1px 6px;margin-left:5px;}
.adm-body{padding:14px 20px 22px;overflow-y:auto;}
.adm-h{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:18px 0 8px;}
.adm-h:first-child{margin-top:4px;}
.adm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;}
.adm-kpi{background:var(--paper);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:2px;}
.adm-kpi b{font-size:20px;color:var(--ink);}
.adm-kpi span{font-size:12px;color:var(--ink-soft);}
.adm-kpi.warn{background:rgba(169,118,47,.15);} .adm-kpi.bad{background:rgba(179,51,51,.12);}
.adm-card{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:8px;font-size:13px;}
.adm-kv{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--line);font-size:13px;}
.adm-kv:last-child{border-bottom:none;} .adm-kv span{color:var(--ink-soft);} .adm-kv b{text-align:right;font-weight:600;}
.adm-tools{display:flex;gap:8px;margin-bottom:8px;}
.adm-search,.adm-select{padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit;font-size:14px;}
.adm-search{flex:1;min-width:0;}
.adm-count{font-size:12px;color:var(--ink-soft);margin-bottom:8px;display:flex;justify-content:space-between;}
.adm-row{display:flex;align-items:center;gap:12px;padding:11px 8px;border-bottom:1px solid var(--line);cursor:pointer;border-radius:6px;}
.adm-row:hover,.adm-row:active{background:var(--paper);}
.adm-av{width:38px;height:38px;border-radius:50%;background:var(--sky);color:var(--panel);display:flex;align-items:center;justify-content:center;font-weight:700;flex:none;}
.adm-av.big{width:52px;height:52px;font-size:20px;}
.adm-main{flex:1;min-width:0;}
.adm-name{font-weight:600;font-size:14px;display:flex;flex-wrap:wrap;gap:4px;align-items:center;}
.adm-sub{font-size:12px;color:var(--ink-soft);overflow-wrap:anywhere;margin-top:1px;}
.adm-chev{color:var(--ink-soft);font-size:22px;}
.adm-pill{font-size:10px;font-weight:700;padding:2px 7px;border-radius:9px;background:rgba(35,59,82,.12);color:var(--sky);text-transform:uppercase;letter-spacing:.03em;}
.adm-pill.good{background:rgba(47,107,70,.15);color:var(--good);} .adm-pill.warn{background:rgba(169,118,47,.2);color:var(--brass-deep);} .adm-pill.bad{background:rgba(179,51,51,.14);color:#b33;}
.adm-back{background:none;border:none;color:var(--brass-deep);font:inherit;font-weight:600;cursor:pointer;padding:0 0 10px;}
.adm-profile{display:flex;gap:14px;align-items:center;margin-bottom:6px;}
.adm-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.adm-empty{color:var(--ink-soft);font-size:13px;margin:6px 0;} .adm-note{color:var(--ink-soft);font-size:12px;margin:10px 0 0;}
.adm-ips{white-space:pre-wrap;font-family:ui-monospace,Menlo,monospace;font-size:12px;margin-bottom:6px;user-select:all;}
*{box-sizing:border-box;}
html{scroll-padding-top:env(safe-area-inset-top,0px);}
html,body{margin:0;height:100%;}
body{background:var(--paper);color:var(--ink);font-family:'Inter',system-ui,sans-serif;font-size:15px;line-height:1.55;}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:500;margin:0;}
.wrap{max-width:880px;margin:0 auto;padding:0 20px 60px;}
header{border-bottom:1px solid var(--line);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;
  position:sticky;top:0;background:var(--paper);z-index:6;padding-top:calc(16px + env(safe-area-inset-top,0px));}
.logo{font-family:'Fraunces',serif;font-size:19px;}
.logo b{color:var(--brass-deep);font-weight:600;}
.authbox{display:flex;align-items:center;gap:8px;font-size:13px;}
.authbox .who{color:var(--ink-soft);}
.authbox .btn{white-space:nowrap;}
.authbox .lbl-short{display:none;}
@media (max-width:520px){.authbox .lbl-long{display:none;}.authbox .lbl-short{display:inline;}}
@media (max-width:340px){header{padding-left:12px;padding-right:12px;}.authbox a[href="/faq"]{display:none;}}
@media (max-width:420px){.authbox{gap:4px;}.authbox .btn-small{padding:6px 8px;font-size:12px;}}
.viewtoggle{display:flex;border:1px solid var(--line);border-radius:20px;overflow:hidden;font-size:12px;}
.viewtoggle button{background:none;border:none;padding:5px 12px;cursor:pointer;color:var(--ink-soft);font:inherit;}
.viewtoggle button.active{background:var(--sky);color:var(--paper);}
.modalbg{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:20;padding:20px;}
.modal{background:var(--panel);border-radius:6px;padding:28px 24px;max-width:360px;width:100%;text-align:center;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
body:has(.modalbg){overflow:hidden;overscroll-behavior:none;}
.modal h3{font-size:20px;margin-bottom:8px;}
.modal p{color:var(--ink-soft);font-size:14px;margin-bottom:20px;}
.modal .opts{display:grid;gap:10px;}
.modal .opts button{padding:12px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;text-align:left;}
.modal .opts button b{font-family:'Fraunces',serif;display:block;font-size:15px;}
.modal .opts button span{color:var(--ink-soft);font-size:12px;}
.flightgraphic{display:flex;align-items:center;gap:0;margin:28px 0;max-width:400px;}
.flightgraphic .dot{width:10px;height:10px;border-radius:50%;background:var(--brass);flex-shrink:0;}
.flightgraphic .route{flex:1;height:1px;border-top:2px dashed var(--line);position:relative;margin:0 6px;}
.flightgraphic .plane{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;color:var(--sky);background:var(--paper);padding:0 4px;}
.landing .howitworks{margin-top:48px;}
.landing .steps3{display:grid;gap:22px;margin-top:20px;}
.landing .step3{display:flex;gap:14px;align-items:flex-start;}
.landing .step3 .n{font-family:'Fraunces',serif;font-size:26px;color:var(--brass);flex-shrink:0;width:32px;}
.landing .step3 h4{font-size:16px;margin-bottom:4px;}
.landing .step3 p{color:var(--ink-soft);font-size:14px;margin:0;}
.demobadge{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.03em;background:var(--brass);color:var(--paper);padding:2px 8px;border-radius:10px;margin-bottom:10px;}
.landing .ctarow{margin-top:40px;text-align:center;}
.modal .opts button:hover{border-color:var(--brass);}
.chatmodal{max-width:520px;width:95vw;text-align:left;display:flex;flex-direction:column;max-height:88vh;}
.chatmodal h3{font-size:17px;}
.chatlog{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin:14px 0;padding:4px;min-height:200px;max-height:65vh;}
.bubble{max-width:80%;padding:8px 12px;border-radius:10px;font-size:14px;}
.bubble.me{align-self:flex-end;background:var(--sky);color:var(--paper);}
.bubble.them{align-self:flex-start;background:var(--paper);border:1px solid var(--line);}
.bubble .meta{font-size:10px;opacity:.7;margin-top:3px;}
.chatform{display:flex;gap:8px;}
.chatform input{flex:1;}
.actrows{display:grid;gap:8px;margin-top:10px;}
.actrows button{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;font:inherit;font-size:15px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);cursor:pointer;}
.actrows button i{font-style:normal;color:var(--ink-soft);font-size:20px;line-height:1;}
.convlist{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.convlist button{font-size:12px;padding:5px 10px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);cursor:pointer;font:inherit;}
.hero{padding:36px 0 8px;}
.hero h1{font-size:28px;max-width:20ch;}
.hero p{color:var(--ink-soft);margin-top:8px;max-width:50ch;}
form.post{background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:20px;margin-top:22px;display:grid;gap:12px;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
label{font-size:12px;color:var(--ink-soft);display:block;margin-bottom:4px;}
input,select,textarea{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);font:inherit;}
textarea{resize:vertical;min-height:46px;}
.acwrap{position:relative;}
.aclist{position:absolute;top:100%;left:0;right:0;background:var(--panel);border:1px solid var(--line);border-top:none;
  border-radius:0 0 4px 4px;max-height:220px;overflow-y:auto;z-index:8;display:none;}
.aclist.show{display:block;}
.acitem{padding:8px 10px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--line);}
.acitem:last-child{border-bottom:none;}
.acitem:hover,.acitem.active{background:var(--paper);}
.acitem b{color:var(--brass-deep);}
.acitem .sub{color:var(--ink-soft);font-size:12px;}
.btn{display:inline-block;padding:10px 18px;border-radius:3px;font-size:14px;font-weight:500;border:1px solid transparent;cursor:pointer;background:none;font-family:inherit;}
.btn-primary{background:var(--sky);color:var(--paper);}
.btn-ghost{border-color:var(--line);color:var(--ink);}
.btn-small{padding:6px 12px;font-size:13px;}
section.board{margin-top:40px;}
.boardhead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;}
.boardhead h2{font-size:20px;}
.count{color:var(--ink-soft);font-size:13px;}
.card{background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:18px;margin-bottom:14px;overflow:visible;}
.card .top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;}
.route{font-family:'Fraunces',serif;font-size:21px;}
.meta{color:var(--ink-soft);font-size:13px;margin-top:2px;}
.status{font-size:11px;font-weight:600;padding:3px 9px;border-radius:12px;white-space:nowrap;}
.status.open{background:rgba(169,118,47,.15);color:var(--brass-deep);}
.status.booked{background:rgba(47,107,70,.15);color:var(--good);}
.notes{font-size:13px;color:var(--ink-soft);margin-top:8px;}
.offers{border-top:1px dashed var(--line);margin-top:12px;padding-top:12px;display:grid;gap:8px;}
.offer{font-size:13px;background:var(--paper);border-radius:3px;padding:10px;}
.offer .row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.offer .fee{color:var(--brass-deep);font-weight:600;}
.offer .who{color:var(--ink-soft);}
.offer .detail{color:var(--ink-soft);font-size:12px;margin-top:4px;}
.toggles{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
form.bid{display:none;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;background:var(--paper);border:1px dashed var(--line);border-radius:4px;padding:12px;}
form.bid.show{display:grid;}
form.bid textarea,form.bid .full{grid-column:1/-1;}
.timegroup{display:flex;border:1px solid var(--line);border-radius:3px;background:var(--paper);overflow:hidden;}
.timegroup select{flex:1;border:none;background:transparent;padding:9px 6px;text-align:center;appearance:none;-webkit-appearance:none;border-radius:0;}
.timegroup select:not(:last-child){border-right:1px solid var(--line);}
.timegroup select:focus{outline:none;background:var(--panel);}
.empty{color:var(--ink-soft);font-size:14px;padding:20px 0;text-align:center;}
footer{color:var(--ink-soft);font-size:12px;text-align:center;margin-top:50px;}
@media (max-width:600px){.row2,.row3{grid-template-columns:1fr;}.hero h1{font-size:24px;}}

/* Links: use the site's gold instead of the browser's default blue (unreadable on the dark theme). */
a{color:var(--brass-deep);}
a:visited{color:var(--brass-deep);}
/* Dark theme: the main button is a clear gold button, not a pale blue-grey one that looks disabled. */
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn-primary{background:var(--brass);color:#171410;}}
:root[data-theme="dark"] .btn-primary{background:var(--brass);color:#171410;}
/* Touch screens only: bigger tap targets. Desktop is unchanged. */
@media (pointer:coarse){
  input[type="checkbox"],input[type="radio"]{width:22px !important;height:22px;min-width:22px;accent-color:var(--brass);flex-shrink:0;}
  label:has(> input[type="checkbox"]),label:has(> input[type="radio"]){padding-top:6px;padding-bottom:6px;}
  .btn-small{padding:10px 14px;min-height:40px;}
  .authbox .btn-small{min-height:36px;}
  .card .meta a{display:inline-block;padding:8px 4px;}
}
