.admin{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;background:linear-gradient(to right,var(--ink) 248px,var(--paper) 248px)}.spine{background:var(--ink);color:var(--champagne);padding:26px 0 20px;position:-webkit-sticky;position:sticky;top:0;height:100vh;border-right:1px solid #000}.spine,.spine-brand{display:flex;flex-direction:column}.spine-brand{align-items:flex-start;gap:10px;padding:0 22px 24px;border-bottom:1px solid var(--ink-line);text-decoration:none;color:inherit}.spine-brand img{width:132px;height:auto;filter:drop-shadow(0 0 12px rgba(236,188,98,.3))}.spine-brand b{display:block;font:500 19px/1.05 var(--display);letter-spacing:.06em}.spine-brand small{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--champagne-dim)}.spine nav{display:grid;padding:16px 0;flex:1 1;align-content:start}.spine nav a{display:grid;grid-template-columns:28px 1fr auto;align-items:baseline;padding:11px 22px;text-decoration:none;color:var(--champagne-dim);font-size:14px;letter-spacing:.03em;position:relative;transition:color .12s,background .12s}.spine nav a i{font:italic 500 14px/1 var(--display);font-style:italic;color:rgba(169,158,134,.6)}.spine nav a:hover{color:var(--champagne);background:rgba(255,255,255,.03)}.spine nav a.on{color:#f6ecd6}.spine nav a.on:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:var(--accent-bright)}.spine nav a.on i{color:var(--accent-bright)}.spine nav .count{font-size:11px;background:var(--accent-bright);color:var(--ink);padding:1px 7px;border-radius:10px;font-weight:500}.spine-foot{padding:16px 22px 0;border-top:1px solid var(--ink-line);font-size:12px;color:var(--champagne-dim);display:grid;grid-gap:8px;gap:8px}.spine-foot a,.spine-foot button{color:var(--champagne-dim);font:inherit;background:none;border:0;padding:0;text-align:left;cursor:pointer;text-decoration:none}.spine-foot a:hover,.spine-foot button:hover{color:var(--champagne)}@media (max-width:900px){.admin{grid-template-columns:1fr;background:var(--paper)}.spine{position:-webkit-sticky;position:sticky;top:0;z-index:30;height:auto;padding:0;position:static;flex-direction:row;flex-wrap:wrap;align-items:stretch}.spine-brand{padding:10px 14px;border-bottom:0;border-right:1px solid var(--ink-line);flex:none}.spine-brand div{display:none}.spine-brand img{width:58px;filter:none}.spine-brand{justify-content:center}.spine nav{order:2;display:flex;flex-wrap:wrap;padding:0 4px;flex:1 1 100%;border-top:1px solid var(--ink-line)}.spine nav a{display:flex;gap:6px;min-height:44px;padding:0 10px;align-items:center;white-space:nowrap;font-size:13px}.spine nav a i{display:none}.spine nav a.on:before{top:auto;bottom:0;left:10px;right:10px;width:auto;height:2px}.spine-foot{order:1;margin-left:auto;border-top:0;padding:0 14px;display:flex;gap:18px;align-items:center;white-space:nowrap;flex:none}.spine-foot a,.spine-foot button{min-height:44px;display:inline-flex;align-items:center}.spine-foot span{display:none}}.desk{padding:clamp(20px,3.5vw,44px) clamp(16px,3.5vw,48px) 80px;min-width:0}.desk-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 24px;flex-wrap:wrap;padding-bottom:18px;margin-bottom:28px;border-bottom:1px solid var(--text);position:relative}.desk-head:after{content:"";position:absolute;left:22px;bottom:-12px;width:1px;height:23px;background:var(--accent)}.desk-head h1{font-size:clamp(34px,4.4vw,52px);font-weight:500}.desk-head h1 em{color:var(--accent)}.desk-head .eyebrow{color:var(--muted);display:block;margin-bottom:8px}.flash{margin:-10px 0 22px}.figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:36px}.figure{border-right:1px solid var(--rule);padding:18px 18px 16px}.figure:first-child{padding-left:0}.figure:last-child{border-right:0}.figure .eyebrow{color:var(--muted);font-size:10px}.figure b{display:block;font:500 clamp(28px,3vw,38px)/1.1 var(--display);margin:8px 0 2px;font-feature-settings:lining-nums tabular-nums;font-variant-numeric:lining-nums tabular-nums}.figure small{font-size:12px;color:var(--muted)}@media (max-width:760px){.figures{grid-template-columns:repeat(2,minmax(0,1fr))}.figure:nth-child(2){border-right:0}.figure:nth-child(3){padding-left:0}.figure:nth-child(-n+2){border-bottom:1px solid var(--rule)}}.cols{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);grid-gap:clamp(24px,3vw,44px);gap:clamp(24px,3vw,44px);align-items:start}@media (max-width:1100px){.cols{grid-template-columns:minmax(0,1fr)}}.panel+.panel{margin-top:36px}.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}.panel-head h2{font-size:26px;font-style:italic;font-weight:500}.panel-head a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);text-decoration:none}.box{background:#fbf8f1;border:1px solid var(--rule);padding:20px}.ledger-wrap{overflow-x:auto;border-top:1px solid var(--text)}.ledger{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}.ledger.compact{min-width:0}.ledger th{font:500 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-align:left;padding:12px 10px 10px 0;border-bottom:1px solid var(--rule-strong);white-space:nowrap}.ledger td{padding:12px 10px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top}.ledger tbody tr{transition:background .1s}.ledger tbody tr:hover{background:rgba(196,151,62,.07)}.ledger .right{text-align:right;padding-right:0}.ledger td.right+td,.ledger th.right+th{padding-left:16px}.ledger a.rowlink{text-decoration:none;font-weight:500}.ledger a.rowlink:hover{color:var(--accent-deep)}.ledger .sub{display:block;font-size:12px;color:var(--muted);margin-top:2px}.ledger tfoot td{border-top:1px solid var(--text);border-bottom:0;font-weight:600}.ref{font-size:12px;letter-spacing:.06em}.empty,.ref{color:var(--muted)}.empty{padding:28px 0;font-style:italic;font-family:var(--display);font-size:20px}.filters{display:flex;flex-wrap:nowrap;gap:0;margin-bottom:18px;border:1px solid var(--rule-strong);width:-moz-fit-content;width:fit-content;max-width:100%;overflow-x:auto}.filters a{flex:none;display:inline-flex;align-items:center;min-height:38px;padding:0 14px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--muted);border-right:1px solid var(--rule);white-space:nowrap}.filters a:last-child{border-right:0}.filters a.on{background:var(--text);color:var(--paper)}.filter-stack{display:grid;grid-gap:10px;gap:10px;margin-bottom:14px}.filter-stack .filters{margin-bottom:0}.pager{display:flex;align-items:center;gap:8px}.pager .btn{min-height:38px;padding:0 12px;letter-spacing:.08em}.pager .btn.arrow{width:38px;padding:0;font-size:18px;line-height:1}.pager .label{min-width:0;font-size:14px;font-weight:600;text-align:center}@media (pointer:coarse){.filters a,.pager .btn{min-height:44px}.pager .btn.arrow{width:44px}}@media (max-width:600px){.pager{flex-wrap:wrap}.pager .label{flex:1 1}}.searchbar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:18px}.searchbar .field{min-width:160px}.detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);grid-gap:clamp(24px,3vw,44px);gap:clamp(24px,3vw,44px);align-items:start}@media (max-width:1000px){.detail{grid-template-columns:minmax(0,1fr);row-gap:0}.detail-main{display:contents}.detail>aside{order:1;margin-bottom:36px}.detail-main>.panel{order:2}}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--text)}.facts>div{padding:12px 12px 12px 0;border-bottom:1px solid var(--rule)}.facts dt{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.facts dd{margin:4px 0 0;font-weight:500;overflow-wrap:anywhere}@media (max-width:600px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.money{display:grid;grid-template-columns:1fr auto;font-size:14px}.money>*{padding:8px 0;border-bottom:1px solid var(--rule)}.money .r{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.money .grand{font:500 24px/1.2 var(--display);border-bottom:0;padding-top:12px}.actions{display:flex;flex-wrap:wrap;gap:10px}.actions form{display:contents}details.fold{border-top:1px solid var(--rule)}details.fold>summary{cursor:pointer;list-style:none;padding:14px 0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;display:flex;justify-content:space-between}details.fold>summary:after{content:"+";font-size:18px;line-height:.8;color:var(--accent)}details.fold[open]>summary:after{content:"–"}details.fold>summary::-webkit-details-marker{display:none}details.fold>div{padding-bottom:20px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px 20px}.grid2,.grid3{display:grid;gap:18px 20px}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px 20px}.grid2 .span,.grid3 .span{grid-column:1/-1}.grid2.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid3.grid6{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end}.cols.halves{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:760px){.grid2.grid4,.grid3.grid6{grid-template-columns:repeat(2,minmax(0,1fr))}.cols.halves{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.grid2,.grid3{grid-template-columns:minmax(0,1fr)}}.trail{list-style:none;padding:0;margin:0;font-size:13px;color:var(--muted)}.trail li{padding:6px 0 6px 18px;position:relative}.trail li:before{content:"";position:absolute;left:3px;top:13px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.admin .almanac-day{min-height:78px}.admin .half.booked{background:var(--ink)}.day-panel{position:-webkit-sticky;position:sticky;top:24px}.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,480px);background:var(--paper)}.login-art{background:var(--marble) 0 0 /100% 100% no-repeat,radial-gradient(closest-side,rgba(240,196,110,.3),transparent 70%) 50% /80% 60% no-repeat,var(--paper-2);display:grid;place-items:center;position:relative;overflow:hidden}.login-art img{width:min(64%,440px);height:auto;filter:drop-shadow(0 0 10px rgba(236,188,98,.85)) drop-shadow(0 0 28px rgba(236,188,98,.45))}.login-form{padding:clamp(32px,6vw,72px);display:grid;align-content:center;grid-gap:22px;gap:22px}.login-form h1{font-size:44px}@media (max-width:760px){.login{grid-template-columns:1fr}.login-art{min-height:200px}.login-art img{width:200px}}.chart{width:100%;height:auto;display:block;overflow:visible}.chart text{font-family:var(--sans);font-size:11px;fill:var(--muted)}.chart .bar{fill:var(--accent)}.chart .bar:hover{fill:var(--accent-deep)}.chart .grid{stroke:var(--rule);stroke-width:1}.chart .base{stroke:var(--text);stroke-width:1}.chart .val{fill:var(--text);font-size:11px;font-weight:500}.split-bar{display:flex;height:10px;margin:10px 0 6px;gap:2px}.split-bar span{background:var(--accent);min-width:2px}.split-bar span:nth-child(2){background:var(--accent-deep)}.split-bar span:nth-child(3){background:var(--text)}.split-bar span:nth-child(4){background:var(--muted)}.split-bar span:nth-child(5){background:var(--rule-strong)}.swatch{display:inline-block;width:10px;height:10px;margin-right:8px;vertical-align:0}@media print{.no-print,.spine{display:none!important}.admin{display:block}}.mod-list{display:grid;grid-gap:18px;gap:18px;max-width:860px}.mod-card{background:#fbf8f1;border:1px solid var(--rule);padding:20px;min-width:0}.mod-card header{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.mod-card h3{font:500 22px/1.2 var(--display);margin:12px 0 0}.mod-comment{margin:10px 0 0;line-height:1.65;white-space:pre-line;overflow-wrap:anywhere}.mod-meta{margin:12px 0 14px;font-size:13px;color:var(--muted);line-height:1.6}.mod-meta b{color:var(--text);font-weight:500}.tag.pinned{color:var(--accent-deep)}.scanner{display:grid;grid-gap:12px;gap:12px;justify-items:start;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--rule)}.scanner-view{position:relative;width:min(100%,360px);aspect-ratio:1;background:#000;border:1px solid var(--rule-strong);overflow:hidden}.scanner-view video{width:100%;height:100%;object-fit:cover}.scanner-frame{position:absolute;inset:18%;border:2px solid var(--accent-bright);box-shadow:0 0 0 999px rgba(0,0,0,.35);pointer-events:none}.scanner-hint,.scanner-note{margin:0;font-size:14px}.scanner-note{color:var(--bad)}