/* Order pages. Built on the site's own main.css and its colour tokens, so
   both themes and the type follow the site without restating them. */

.ord{--ord-ok:#3ddc97;--ord-ok-wash:rgb(61 220 151/.14);--ord-ok-edge:rgb(61 220 151/.45);
  --ord-warn:#ffb020;--ord-warn-wash:rgb(255 176 32/.12);--ord-err:#ff6b6b;--ord-err-wash:rgb(255 107 107/.12)}
@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .ord{--ord-ok:#0f8a5f;
  --ord-ok-wash:rgb(15 138 95/.10);--ord-ok-edge:rgb(15 138 95/.40);--ord-warn:#9a5b00;
  --ord-warn-wash:rgb(154 91 0/.08);--ord-err:#c0362c;--ord-err-wash:rgb(192 54 44/.08)}}
:root[data-theme=light] .ord{--ord-ok:#0f8a5f;--ord-ok-wash:rgb(15 138 95/.10);
  --ord-ok-edge:rgb(15 138 95/.40);--ord-warn:#9a5b00;--ord-warn-wash:rgb(154 91 0/.08);
  --ord-err:#c0362c;--ord-err-wash:rgb(192 54 44/.08)}

/* The site's header slides up by the height of its top bar, which these
   pages do not have. */
.ord-head{top:0}
.ord-head .hdr{min-height:64px;justify-content:space-between}
.ord-brand{gap:10px;color:var(--ink);font-family:Grotesk,Inter,sans-serif;font-weight:700;
  font-size:1.05rem;letter-spacing:-.01em;text-decoration:none}
.ord-brand small{font-weight:500;color:var(--muted);font-size:.8rem;margin-left:2px}
.ord-brand .lg-mark{color:var(--ink);flex:none}
.ord-nav a{color:var(--muted);font-size:.9rem;text-decoration:none}
.ord-nav a:hover{color:var(--cyan)}

.ord-main{max-width:min(100%,920px);padding-top:clamp(26px,4vw,48px);padding-bottom:40px}
.ord-intro{margin-bottom:26px}
.ord-intro h1,.ord-top h1,.ord-box h1{font-size:clamp(1.7rem,4vw,2.4rem);margin-bottom:12px}
.ord-box h2,.ord-step h2{font-size:1.2rem;margin-bottom:14px}

.ord-step,.ord-box{border:1px solid var(--line);border-radius:18px;padding:clamp(18px,3vw,28px);
  margin-bottom:18px;background:linear-gradient(160deg,rgb(var(--ink-rgb)/.045),rgb(var(--ink-rgb)/.012))}
.ord-step h2{display:flex;align-items:center;gap:12px}
.ord-step h2 b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;
  font-size:.9rem;color:var(--cyan);border:1px solid var(--accent-edge);background:var(--accent-wash)}
.ord-step > * + *{margin-top:14px}
.ord-form label.f{margin-top:12px}
.ord-form .row2{margin-top:12px}
.ord-form .row2 label.f{margin-top:0}
.ord-label{color:var(--muted);font-size:.86rem;margin:16px 0 8px}
.ord-opt{font-size:.78rem;color:var(--muted);opacity:.85;margin-left:4px}
.ord-muted{color:var(--muted);font-size:.86rem}
.ord-hint{color:var(--ord-warn);font-size:.88rem}
.ord-hint button{margin-left:8px;background:none;border:0;color:var(--cyan);cursor:pointer;
  font:inherit;text-decoration:underline;padding:0}
.ord-err{display:block;color:var(--ord-err);font-size:.84rem;margin-top:2px}
.ord-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ord-pre{white-space:pre-wrap;overflow-wrap:anywhere}
[hidden]{display:none !important}
/* The site lays every form out as a grid, which would stretch each button to
   the full width of its card. */
.ord form .btn{justify-self:start}
.ord-box p,.ord-step p{margin:0 0 12px}
.ord-box p:last-child{margin-bottom:0}
.ord-box h1 + p,.ord-box .lead{margin-bottom:14px}
.ord-details.ord-box{padding:0}
.ord-details > :not(summary){margin:16px 20px}
.ord-details > :last-child{margin-bottom:20px}
/* The site pads paragraphs inside its FAQ details; these boxes space their own. */
.ord-contract p,.ord-details p,.ord-contract[open] p,.ord-details[open] p{padding:0}

.ord-alert{border-radius:12px;padding:12px 16px;margin:0 0 16px;border:1px solid var(--line);
  font-size:.94rem;background:rgb(var(--ink-rgb)/.04)}
.ord-alert.ok{border-color:var(--ord-ok-edge);background:var(--ord-ok-wash)}
.ord-alert.err{border-color:var(--ord-err);background:var(--ord-err-wash)}
.ord-alert.warn{border-color:var(--ord-warn);background:var(--ord-warn-wash)}
.ord-alert a{color:var(--cyan)}

/* --------------------------------------------------------------- the form */
.ord-calcs .seg + .ord-calc{margin-top:16px}
.ord-calc{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(16px,3vw,30px);align-items:start;
  margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.ord-calc .calc-form{display:grid;gap:16px}
.ord-calc .field{display:grid;gap:8px;color:var(--muted);font-size:.9rem}
.ord-calc .field .stepper{justify-self:start}
.ord-est{position:sticky;top:90px;border:1px solid var(--line);border-radius:14px;padding:16px;
  background:rgb(var(--ink-rgb)/.03);display:grid;gap:8px}
.ord-est > span{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}
.ord-est .calc-sum{font-family:Grotesk,Inter,sans-serif;font-size:1.5rem;font-weight:700;color:var(--ink)}
.ord-est small{font-size:.8rem;color:var(--muted)}
.calc-lines,.ord-lines{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.88rem}
.calc-lines li,.ord-lines li{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}
.calc-lines b,.ord-lines b{color:var(--ink);font-weight:600;white-space:nowrap}
.ord-custom{margin-top:14px}
.ord-parts{margin-top:18px}
.ord-stepper{display:inline-flex}
.ord-stepper input{width:76px;text-align:center;border:0;background:none;padding:6px 4px;
  font-family:Grotesk,Inter,sans-serif;font-size:1.05rem;-moz-appearance:textfield;appearance:textfield}
.ord-stepper input::-webkit-outer-spin-button,.ord-stepper input::-webkit-inner-spin-button{
  -webkit-appearance:none;margin:0}
.ord-check{display:flex;gap:12px;align-items:flex-start;margin-top:12px;color:var(--ink);
  font-size:.94rem;cursor:pointer}
.ord-check input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--blue);padding:0}
.ord-check a{color:var(--cyan)}
.ord-optional{border:1px solid var(--line);border-radius:14px;padding:6px 16px 16px;margin:16px 0 0;
  min-width:0}
.ord-optional legend{padding:0 6px;font-size:.86rem;font-weight:600;color:var(--muted)}
.ord-withdraw-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}
.ord-summary{border:1px dashed var(--line-strong);border-radius:14px;padding:14px 16px;font-size:.92rem}
.ord-summary:empty{display:none}
.ord-summary dl{margin:0;display:grid;gap:6px}
.ord-summary div{display:grid;grid-template-columns:150px 1fr;gap:10px}
.ord-summary dt{color:var(--muted)}
.ord-summary dd{margin:0}
.ord-contract{border:1px solid var(--line);border-radius:14px;padding:12px 16px}
.ord-contract summary{cursor:pointer;font-weight:600}
.ord-contract .prose{max-height:420px;overflow:auto;margin-top:12px;padding-right:6px}
.ord-contract .prose h3{font-size:.98rem;margin:16px 0 6px}
.ord-contract .prose p{font-size:.9rem}
.ord-send{margin-top:18px}

/* ---------------------------------------------------------------- the card */
.ord-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.ord-status{display:inline-block;margin:0;padding:4px 12px;border-radius:999px;font-size:.8rem;
  font-weight:600;letter-spacing:.04em;border:1px solid var(--line);color:var(--muted)}
.ord-status.s-active,.ord-status.s-proposed{color:var(--cyan);border-color:var(--accent-edge)}
.ord-status.s-paid{color:var(--ord-ok);border-color:var(--ord-ok-edge)}
.ord-status.s-declined,.ord-status.s-cancelled{color:var(--ord-err);border-color:var(--ord-err)}
.ord-lock,.ord-center{max-width:620px;margin-inline:auto}
.ord-center{text-align:center}
.ord-codeform{margin-top:18px;grid-template-columns:minmax(0,1fr)}
.ord-codeline{display:flex;gap:10px;max-width:320px}
.ord-codeline input{flex:1 1 0;min-width:0;font-size:1.2rem;letter-spacing:.3em;text-align:center;
  font-family:Consolas,Menlo,monospace}
.ord-codeline .btn{flex:none}
.ord-lock form + form{margin-top:16px}
.ord-facts{display:grid;gap:10px;margin:0 0 14px}
.ord-facts div{display:grid;grid-template-columns:170px 1fr;gap:12px}
.ord-facts dt{color:var(--muted);font-size:.9rem}
.ord-facts dd{margin:0}
.ord-note{border-left:3px solid var(--cyan);padding-left:12px}
.ord-proposal{border-color:var(--accent-edge-strong)}
.ord-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0 0 16px}
.ord-sum div{border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.ord-sum dt{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.ord-sum dd{margin:2px 0 0;font-family:Grotesk,Inter,sans-serif;font-size:1.25rem;font-weight:700}
.ord-sum .late dd{color:var(--ord-err)}

.ord-bar{display:flex;gap:4px;margin:4px 0 10px;overflow-x:auto;padding-bottom:4px}
.ord-seg{flex:1 1 0;min-width:84px;border-radius:10px;padding:9px 10px;border:1px solid var(--line);
  background:rgb(var(--ink-rgb)/.04);display:grid;gap:2px;position:relative;
  transition:background .15s ease,border-color .15s ease}
.ord-seg span{font-weight:700;font-size:.92rem}
.ord-seg small{color:var(--muted);font-size:.72rem}
.ord-seg.paid{background:var(--ord-ok-wash);border-color:var(--ord-ok-edge)}
.ord-seg.paid span{color:var(--ord-ok)}
.ord-seg.sel{border-color:var(--cyan);background:var(--accent-wash-3)}
.ord-seg.ask::after{content:"asked";position:absolute;top:-9px;right:8px;font-size:.66rem;
  font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:1px 7px;border-radius:999px;
  background:var(--ord-warn);color:#1a1200}
.ord-ask{font-size:.9rem;color:var(--muted)}
.ord-range{width:100%;accent-color:var(--blue);padding:0;border:0;background:none;margin:6px 0}
.ord-now{margin:8px 0 6px}
.ord-now b{font-family:Grotesk,Inter,sans-serif;font-size:1.1rem}
.ord-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.ord-inline{display:inline-block;margin-left:10px}
.ord-payform label.f,.ord-msgform label.f{margin-top:10px}

.ord-docs{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ord-docs li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);
  padding-bottom:8px}
.ord-docs a{color:var(--cyan)}
.ord-docs small{color:var(--muted)}

.ord-feed{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px;max-height:560px;overflow:auto}
.ord-feed li{border-radius:12px;padding:10px 14px;border:1px solid var(--line)}
.ord-feed li.message.mine{background:var(--accent-wash);border-color:var(--accent-edge);margin-left:12%}
.ord-feed li.message.theirs{background:rgb(var(--ink-rgb)/.05);margin-right:12%}
.ord-feed li.event{border-style:dashed;font-size:.88rem;color:var(--muted)}
.ord-feed small{color:var(--muted);font-size:.74rem}
.ord-feed p{margin:4px 0 0}
.ord-details summary{cursor:pointer;font-weight:700;font-size:1.05rem}
.ord-details[open] summary{margin-bottom:14px}
.ord-withdraw{border-color:var(--line-strong)}

.ord-foot{border-top:1px solid var(--line);padding:22px 0 34px;color:var(--muted);font-size:.85rem}
.ord-foot .wrap{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}
.ord-foot nav{display:flex;flex-wrap:wrap;gap:18px}
.ord-foot a{color:var(--muted)}
.ord-foot a:hover{color:var(--cyan)}

@media (max-width:760px){
  .ord-calc{grid-template-columns:1fr}
  .ord-est{position:static}
  .ord-facts div,.ord-summary div{grid-template-columns:1fr;gap:2px}
  .ord-top{flex-direction:column}
  .ord-feed li.message.mine{margin-left:0}
  .ord-feed li.message.theirs{margin-right:0}
}
