/* LevelQuote design system — "the reviewer's desk".
   One stylesheet for every page. Paper grounds, a drafting-grid blotter, one deep spruce band; documents sit on top.
   The brand marks are the reviewer's tools: red pen (verdicts), yellow highlighter (key numbers), stamp, seal. */

:root{
  --paper:#F0EFE7; --paper2:#E8E8DA; --sheet:#FCFBF4;
  --ink:#1F231D; --faint:#575D52; --line:#D1D3C4; --grid:#DDDFCF; --rule:#B9BCAB;
  --pine:#164832; --pine-deep:#0D2A1E; --pine-ink:#EFF3EC; --pine-text:#14523A; --pine-soft:#DCE8DF;
  --pen:#C23A11; --pen-deep:#A33008; --tape:#F2CD4E; --tape-ink:#2A2408; --ok:#2E6B4F; --okbg:#E3EFE7;
  --shadow:0 1px 0 rgba(31,35,29,.05), 0 22px 48px -30px rgba(23,28,20,.5);
  --shadow-sm:0 1px 0 rgba(31,35,29,.05), 0 10px 24px -18px rgba(23,28,20,.5);
  --r-sheet:4px; --r-ui:8px;
  --measure:64ch;
  --ease:cubic-bezier(.2,.7,.2,1);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#181B16; --paper2:#1D211A; --sheet:#242820;
    --ink:#E9EBE2; --faint:#A6AC9C; --line:#3A3F34; --grid:#262A22; --rule:#4A5044;
    --pine:#2C5F48; --pine-deep:#0E2B20; --pine-ink:#EAF2EC; --pine-text:#8CC6A8; --pine-soft:#20352A;
    --pen:#F26A3E; --pen-deep:#F08A5F; --tape:#D9BD4B; --tape-ink:#231E06; --ok:#7CBD97; --okbg:#1E3328;
    --shadow:0 1px 0 rgba(0,0,0,.2), 0 22px 48px -28px rgba(0,0,0,.7);
    --shadow-sm:0 1px 0 rgba(0,0,0,.2), 0 10px 24px -16px rgba(0,0,0,.7);
    color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --paper:#181B16; --paper2:#1D211A; --sheet:#242820;
  --ink:#E9EBE2; --faint:#A6AC9C; --line:#3A3F34; --grid:#262A22; --rule:#4A5044;
  --pine:#2C5F48; --pine-deep:#0E2B20; --pine-ink:#EAF2EC; --pine-text:#8CC6A8; --pine-soft:#20352A;
  --pen:#F26A3E; --pen-deep:#F08A5F; --tape:#D9BD4B; --tape-ink:#231E06; --ok:#7CBD97; --okbg:#1E3328;
  --shadow:0 1px 0 rgba(0,0,0,.2), 0 22px 48px -28px rgba(0,0,0,.7);
  --shadow-sm:0 1px 0 rgba(0,0,0,.2), 0 10px 24px -16px rgba(0,0,0,.7);
  color-scheme: dark;
}

/* ---------- base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }
body{background:var(--paper); color:var(--ink); margin:0; font:400 1.0625rem/1.6 Archivo, "Helvetica Neue", Arial, sans-serif; font-stretch:100%; overflow-x:clip}
body::before{content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top,0px); z-index:60; background:var(--paper)}
h1,h2,h3,h4{font-family:Archivo, "Arial Black", Arial, sans-serif; line-height:1.06; text-wrap:balance; margin:0; letter-spacing:-.005em}
h1{font-size:clamp(2.3rem, 1.5rem + 3.6vw, 4rem); font-weight:820; font-stretch:120%; line-height:1.02; letter-spacing:-.012em}
h2{font-size:clamp(1.7rem, 1.2rem + 2vw, 2.45rem); font-weight:790; font-stretch:116%}
h3{font-size:1.22rem; font-weight:700; font-stretch:106%}
h4{font-size:1.02rem; font-weight:700; font-stretch:104%}
p,ul,ol,dl{margin:0}
a{color:inherit}
p a,li a,dd a{color:var(--pine-text); font-weight:620; text-decoration-thickness:1.5px; text-underline-offset:3px}
p a:hover,li a:hover,dd a:hover{color:var(--ink)}
small,.fine{font-size:.875rem}
.fine{color:var(--faint); line-height:1.5}
.faint{color:var(--faint)}
.measure{max-width:var(--measure)}
.kicker{color:var(--faint); max-width:44em; font-size:1.06rem}
.hidden{display:none !important}
:focus-visible{outline:3px solid var(--pen); outline-offset:3px; border-radius:4px}
::selection{background:var(--tape); color:var(--tape-ink)}
img,svg{max-width:100%}

.skip{position:absolute; left:12px; top:-60px; z-index:70; background:var(--ink); color:var(--paper); padding:10px 14px; border-radius:6px; text-decoration:none; font-weight:640}
.skip:focus{top:12px; outline:3px solid var(--pen); outline-offset:2px}

/* ---------- bands and containers ---------- */
.band{width:100%}
.band>.in{max-width:1080px; margin-inline:auto; padding-left:max(18px, env(safe-area-inset-left, 0px)); padding-right:max(18px, env(safe-area-inset-right, 0px))}
.band-alt,.blotter{background:var(--paper2); background-image:linear-gradient(var(--grid) 1px, transparent 1px),linear-gradient(90deg, var(--grid) 1px, transparent 1px); background-size:28px 28px; border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.pine{background:var(--pine-deep); color:var(--pine-ink)}
.pine a{color:var(--pine-ink)}
.sec .in{padding-block:clamp(52px, 7vw, 76px); display:flex; flex-direction:column; gap:28px}
.sec .lead{display:flex; flex-direction:column; gap:12px; max-width:52em}

/* ---------- the reviewer's tools ---------- */
.hl{background:var(--tape); color:var(--tape-ink); padding:.04em .2em; box-decoration-break:clone; -webkit-box-decoration-break:clone}
.pen-note{font-family:Caveat, "Segoe Print", "Bradley Hand", cursive; font-weight:600; color:var(--pen-deep); font-size:1.2rem; line-height:1.15}
.stamp{display:inline-block; border:2.5px solid var(--pen); color:var(--pen); border-radius:7px; font-family:Archivo, Arial, sans-serif; font-stretch:118%; font-weight:780; font-size:1rem; letter-spacing:.05em; padding:5px 12px; background:var(--sheet); white-space:nowrap; transform:rotate(-5deg); box-shadow:0 6px 14px -10px rgba(23,28,20,.5)}
.stamp.ok{border-color:var(--pine); color:var(--pine-text)}
.seal{display:inline-flex; align-items:center; gap:6px; background:var(--okbg); color:var(--ok); border:1.5px solid var(--ok); border-radius:999px; padding:3px 11px 3px 8px; font-size:.84rem; font-weight:700; letter-spacing:.01em; white-space:nowrap}
.seal svg{width:16px; height:16px; flex:none}
.tag{display:inline-block; background:var(--tape); color:var(--tape-ink); font-weight:700; font-size:.8rem; padding:2px 9px; border-radius:999px}
.sheet{background:var(--sheet); border:1px solid var(--line); border-radius:var(--r-sheet); box-shadow:var(--shadow); position:relative}
.sheet.flat{box-shadow:var(--shadow-sm)}
.clip{position:absolute; top:-15px; left:26px; width:22px; height:52px; color:var(--faint)}
.rule{border:none; border-top:2px solid var(--ink); margin:0}
.rule.dashed{border-top:1.5px dashed var(--line)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px;
  font:640 1.02rem/1.1 Archivo, Arial, sans-serif; font-stretch:104%; text-decoration:none; text-align:center;
  background:var(--pine); color:var(--pine-ink); border:1.5px solid var(--pine);
  padding:12px 22px; border-radius:var(--r-ui); cursor:pointer; -webkit-tap-highlight-color:transparent;
  transition:transform .14s var(--ease), box-shadow .14s var(--ease), background-color .14s var(--ease), color .14s var(--ease), border-color .14s var(--ease);
}
.btn:hover{background:#1C5A3F; border-color:#1C5A3F; color:#fff; transform:translateY(-1px); box-shadow:0 10px 20px -12px rgba(16,40,28,.6)}
.btn:active{transform:translateY(0); box-shadow:none; background:var(--pine-deep); border-color:var(--pine-deep)}
.btn:focus-visible{outline:3px solid var(--pen); outline-offset:3px}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.55; cursor:not-allowed; transform:none; box-shadow:none; background:var(--pine); border-color:var(--pine)}
.btn.ghost{background:transparent; color:var(--ink); border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink); color:var(--paper); border-color:var(--ink)}
.btn.ghost:active{background:var(--pine-deep); border-color:var(--pine-deep); color:var(--pine-ink)}
.btn.light{background:var(--pine-ink); color:var(--pine-deep); border-color:var(--pine-ink)}
.btn.light:hover{background:#fff; border-color:#fff; color:var(--pine-deep)}
.btn.light:active{background:var(--tape); border-color:var(--tape); color:var(--tape-ink)}
.btn.pen{background:var(--pen); border-color:var(--pen); color:#fff}
.btn.pen:hover{background:var(--pen-deep); border-color:var(--pen-deep)}
.btn.sm{min-height:40px; padding:8px 14px; font-size:.93rem}
.btn.lg{min-height:56px; font-size:1.1rem; padding:14px 26px}
.btn.wide{width:100%}
.btn svg{width:18px; height:18px}
.textbtn{font:620 .92rem Archivo, sans-serif; color:var(--faint); background:transparent; border:1.5px solid var(--rule); border-radius:999px; padding:8px 16px; min-height:40px; cursor:pointer; transition:color .14s, border-color .14s}
.textbtn:hover{color:var(--ink); border-color:var(--ink)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .btn:hover{background:#3A7A5E; border-color:#3A7A5E} }

/* ---------- header ---------- */
.top{position:sticky; top:env(safe-area-inset-top,0px); z-index:50; background:color-mix(in srgb, var(--paper) 92%, transparent); backdrop-filter:saturate(1.2) blur(10px); -webkit-backdrop-filter:saturate(1.2) blur(10px); border-bottom:1px solid var(--line); transition:box-shadow .2s var(--ease)}
@supports not (background:color-mix(in srgb, red 50%, blue)){ .top{background:var(--paper)} }
.top.scrolled{box-shadow:0 8px 20px -14px rgba(23,28,20,.4)}
.top .in{display:flex; align-items:center; gap:16px; padding-block:11px; flex-wrap:wrap}
.wordmark{display:inline-flex; align-items:center; gap:9px; text-decoration:none; color:inherit}
.wordmark svg{width:34px; height:34px; flex:none}
.wordmark b{font:800 1.28rem/1 Archivo, Arial, sans-serif; font-stretch:122%; letter-spacing:.015em}
.cityline{color:var(--faint); font-size:.9rem; border-left:1.5px solid var(--line); padding-left:14px}
.top nav{margin-left:auto; display:flex; gap:2px 18px; align-items:center; flex-wrap:wrap; font-size:.97rem}
.top nav a{text-decoration:none; color:var(--faint); padding:6px 2px; border-radius:4px}
.top nav a:hover{color:var(--ink)}
.top nav a.btn{color:var(--pine-ink); min-height:42px; padding:9px 16px; font-size:.95rem; border-radius:var(--r-ui)}
.top nav a.btn:hover{color:#fff}
.top nav a.btn.ghost{color:var(--ink)}
.top nav a.btn.ghost:hover{color:var(--paper)}
@media (max-width:640px){ .hide-sm{display:none} .cityline{display:none} .top nav{gap:2px 12px} }
@media (max-width:480px){ .top nav a:not(.btn){display:none} }

/* ---------- footer ---------- */
footer.band{background:var(--pine-deep); color:var(--pine-ink); font-size:.9rem}
footer .in{padding-block:36px 48px; display:flex; flex-direction:column; gap:12px}
footer .fhead{display:flex; align-items:center; gap:10px; font:800 1.1rem Archivo,sans-serif; font-stretch:120%; letter-spacing:.02em}
footer p{opacity:.82; max-width:76em}
footer p a{color:var(--pine-ink); font-weight:600; text-decoration-thickness:1px; text-underline-offset:3px}
footer p a:hover{color:#fff}
footer .flinks{display:flex; flex-wrap:wrap; gap:6px 22px; opacity:1}

/* ---------- forms ---------- */
.card{background:var(--sheet); border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow-sm); padding:clamp(20px,3vw,30px)}
.field{display:flex; flex-direction:column; gap:6px; min-width:0}
.field label,.lbl{font-weight:640; font-size:.95rem}
.field .opt,.lbl .opt{color:var(--faint); font-weight:400}
.field input,.field select,.field textarea{font:inherit; color:var(--ink); background:var(--paper); border:1.5px solid var(--line); border-radius:var(--r-ui); padding:12px 13px; width:100%; min-height:48px; transition:border-color .14s, box-shadow .14s}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--rule)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none; border-color:var(--pine); box-shadow:0 0 0 3px color-mix(in srgb, var(--pine) 22%, transparent)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none}
.field textarea{min-height:92px; resize:vertical}
.field select{appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23575D52' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:18px; padding-right:40px}
.grid2{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:16px}
.err{color:var(--pen-deep); font-weight:640; font-size:.95rem; border-left:3px solid var(--pen); padding:6px 0 6px 12px}
.okbox{background:var(--okbg); border:1px solid var(--ok); border-radius:var(--r-ui); padding:14px 16px}
.okmsg{color:var(--ok); font-weight:640}
.chips{display:flex; flex-wrap:wrap; gap:8px}
.chips label{display:inline-flex; align-items:center; gap:8px; border:1.5px solid var(--line); background:var(--paper); border-radius:999px; padding:8px 14px 8px 10px; font-size:.95rem; cursor:pointer; user-select:none; min-height:42px; transition:border-color .14s, background-color .14s}
.chips label:hover{border-color:var(--rule)}
.chips label:has(input:checked){border-color:var(--pine); background:var(--okbg); color:var(--pine-text); font-weight:620}
.chips label:has(input:focus-visible){outline:3px solid var(--pen); outline-offset:2px}
.chips input{accent-color:var(--pine); width:16px; height:16px; margin:0}
.choice{position:relative; display:grid; grid-template-columns:auto 1fr; gap:4px 14px; align-items:start; border:1.5px solid var(--line); border-radius:9px; padding:14px 16px; background:var(--paper); cursor:pointer; transition:border-color .14s, background-color .14s}
.choice:hover{border-color:var(--rule)}
.choice:has(input:checked){border-color:var(--pine); background:var(--okbg); box-shadow:inset 0 0 0 1px var(--pine)}
.choice:has(input:focus-visible){outline:3px solid var(--pen); outline-offset:2px}
.choice input{margin:5px 0 0; accent-color:var(--pine); width:18px; height:18px}
.choice .ttl{font-weight:680; font-stretch:106%; font-size:1.02rem}
.choice .sub{grid-column:2; color:var(--faint); font-size:.92rem}
.agree{display:flex; gap:12px; align-items:flex-start; font-size:.95rem; cursor:pointer; line-height:1.5}
.agree input{width:20px; height:20px; margin-top:3px; accent-color:var(--pine); flex:none}
.drop{border:2px dashed var(--rule); border-radius:10px; padding:26px 18px; text-align:center; background:var(--paper); cursor:pointer; transition:border-color .15s, background .15s; display:block; position:relative}
.drop.over,.drop:hover{border-color:var(--pine); background:var(--okbg)}
.drop:has(input:focus-visible){outline:3px solid var(--pen); outline-offset:2px}
.drop input{position:absolute; width:1px; height:1px; opacity:0; overflow:hidden}
.drop b{display:block; font-size:1.05rem}
.drop span{color:var(--faint); font-size:.9rem}
.drop svg{width:40px; height:40px; color:var(--pine-text); margin-bottom:6px}
.filelist{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px}
.filelist li{display:flex; align-items:center; gap:10px; background:var(--paper); border:1px solid var(--line); border-radius:7px; padding:8px 12px; font-size:.93rem}
.filelist li .nm{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.filelist li .sz{color:var(--faint); white-space:nowrap}
.filelist li button{background:none; border:1px solid var(--line); border-radius:6px; padding:6px 10px; cursor:pointer; color:var(--ink); font:inherit; font-size:.85rem; min-height:36px}
.filelist li button:hover{border-color:var(--ink)}
.progress{height:8px; background:var(--line); border-radius:999px; overflow:hidden; display:none}
.progress i{display:block; height:100%; width:0; background:var(--pine); transition:width .2s}
.form{display:flex; flex-direction:column; gap:20px}
.fsec{display:flex; flex-direction:column; gap:16px}
.fsec h2{display:flex; align-items:center; gap:12px; font-size:1.3rem}
.fsec h2 .num{flex:none; width:32px; height:32px; border-radius:50%; background:var(--pine); color:var(--pine-ink); display:inline-flex; align-items:center; justify-content:center; font-size:1rem; font-stretch:110%}
.steps{display:flex; gap:6px 22px; flex-wrap:wrap; color:var(--faint); font-size:.92rem; margin-top:6px}
.steps span{display:inline-flex; align-items:center; gap:8px; padding:8px 0; min-height:40px; border-bottom:2px solid transparent; transition:color .2s, border-color .2s}
.steps span b{color:var(--pine-text); font-stretch:112%; display:inline-flex; width:22px; height:22px; border:1.5px solid var(--pine-text); border-radius:50%; align-items:center; justify-content:center; font-size:.82rem}
.steps span.on{color:var(--ink); border-bottom-color:var(--pen)}
.steps span.on b{background:var(--pine); color:var(--pine-ink); border-color:var(--pine)}
.layout{display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr); gap:28px; align-items:start; padding-block:22px 48px}
@media (max-width:860px){ .layout{grid-template-columns:1fr} .side{position:static !important} }
.side{position:sticky; top:84px; display:flex; flex-direction:column; gap:14px}
.side .card{padding:20px 22px}
.side h3{font-size:.86rem; letter-spacing:.06em; color:var(--faint); font-weight:700}
.promise{display:flex; flex-direction:column; gap:10px; font-size:.93rem}
.promise div{display:flex; gap:10px; align-items:flex-start}
.promise svg{flex:none; width:20px; height:20px; color:var(--pine-text); margin-top:2px}
.lines{display:flex; flex-direction:column; gap:6px; font-variant-numeric:tabular-nums; font-size:.98rem}
.lines div{display:flex; justify-content:space-between; gap:12px}
.lines .tot{border-top:2px solid var(--ink); padding-top:8px; margin-top:4px; font-weight:760; font-size:1.15rem}

/* ---------- accordion ---------- */
.faq{display:flex; flex-direction:column; border-top:1.5px solid var(--line); max-width:860px}
.faq details{border-bottom:1.5px solid var(--line)}
.faq summary{cursor:pointer; padding:17px 40px 17px 4px; font-weight:640; font-size:1.05rem; position:relative; list-style:none; border-radius:4px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:""; position:absolute; right:10px; top:50%; width:14px; height:14px; translate:0 -50%; background:linear-gradient(var(--pen),var(--pen)) center/14px 2.5px no-repeat, linear-gradient(var(--pen),var(--pen)) center/2.5px 14px no-repeat; transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--pine-text)}
.faq .body{overflow:hidden}
.faq details p{padding:0 4px 20px; color:var(--faint); max-width:46em}
@media (prefers-reduced-motion: no-preference){ .faq .body.anim{transition:height .28s var(--ease)} }

/* ---------- status and bid cards (Level Bids) ---------- */
.status{display:flex; gap:14px; align-items:flex-start; background:var(--sheet); border:1px solid var(--line); border-left:5px solid var(--pine); border-radius:var(--r-ui); padding:16px 18px}
.status.warn{border-left-color:var(--pen)}
.status b{display:block; font-size:1.08rem}
.status p{color:var(--faint); font-size:.95rem; margin-top:2px}
.bidcard{background:var(--sheet); border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow-sm); padding:clamp(18px,2.6vw,26px); display:flex; flex-direction:column; gap:14px; position:relative}
.bidcard.won{border:2px solid var(--pine)}
.bidcard.lost{opacity:.72}
.bidcard .bhead{display:flex; justify-content:space-between; gap:12px; align-items:flex-start; flex-wrap:wrap}
.bidcard .bhead .who{display:flex; flex-direction:column; gap:6px; min-width:0}
.bidcard .bhead .who b{font-size:1.15rem; font-stretch:110%; font-weight:720}
.bidcard .bhead .who span{color:var(--faint); font-size:.9rem}
.bidcard .total{text-align:right; font-variant-numeric:tabular-nums}
.bidcard .total b{display:block; font-size:1.7rem; font-weight:810; font-stretch:116%; line-height:1.05}
.bidcard .total small{color:var(--faint); font-size:.85rem}
.bidcard table{width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; font-size:.95rem}
.bidcard td{padding:6px 2px; border-bottom:1px dashed var(--line); vertical-align:top}
.bidcard td:last-child{text-align:right; white-space:nowrap}
.bidcard tr.sum td{border-bottom:none; font-weight:680; padding-top:8px}
.bidcard dl{display:grid; grid-template-columns:auto 1fr; gap:4px 14px; margin:0; font-size:.93rem}
.bidcard dt{color:var(--faint); white-space:nowrap}
.bidcard dd{margin:0}
.bidcard .acts{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
.bidcard .stampnote{position:absolute; right:14px; top:-14px; transform:rotate(-4deg); border:2.5px solid var(--pen); color:var(--pen); border-radius:7px; font-stretch:118%; font-weight:780; font-size:.95rem; letter-spacing:.04em; padding:5px 11px; background:var(--sheet)}
.bidcard .stampnote.ok{border-color:var(--pine); color:var(--pine-text)}
.verif{display:flex; flex-wrap:wrap; gap:6px; font-size:.82rem; color:var(--faint)}
.verif span{border:1px solid var(--line); border-radius:999px; padding:2px 9px}
.verif span.y{color:var(--ok); border-color:var(--ok)}
.lines-ed{display:flex; flex-direction:column; gap:8px}
.lines-ed .row{display:grid; grid-template-columns:1fr 150px 40px; gap:8px; align-items:center}
.lines-ed input{font:inherit; color:var(--ink); background:var(--paper); border:1.5px solid var(--line); border-radius:6px; padding:10px 12px; min-height:46px; width:100%}
.lines-ed input:focus{outline:none; border-color:var(--pine); box-shadow:0 0 0 3px color-mix(in srgb, var(--pine) 22%, transparent)}
.lines-ed input.amt{text-align:right; font-variant-numeric:tabular-nums}
.lines-ed button.x{background:none; border:1px solid var(--line); border-radius:6px; min-height:46px; cursor:pointer; color:var(--faint); font:inherit}
.lines-ed .tot{display:grid; grid-template-columns:1fr 150px 40px; gap:8px; font-variant-numeric:tabular-nums; font-size:.98rem}
.lines-ed .tot span:nth-child(2){text-align:right; padding-right:12px}
.lines-ed .tot.grand{font-weight:760; font-size:1.12rem; border-top:2px solid var(--ink); padding-top:8px}
@media (max-width:520px){ .lines-ed .row,.lines-ed .tot{grid-template-columns:1fr 120px 36px} }
.photos{display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:10px}
.photos a{display:block; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--paper); aspect-ratio:4/3; position:relative}
.photos img{width:100%; height:100%; object-fit:cover; display:block}
.photos a span{position:absolute; inset:auto 0 0 0; background:rgba(31,35,29,.78); color:#fff; font-size:.75rem; padding:4px 8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.photos a.doc{display:flex; align-items:center; justify-content:center; color:var(--pine-text); font-weight:640; font-size:.9rem; text-decoration:none; padding:12px; text-align:center}
