:root{--navy:#123349;--ink:#203746;--muted:#60717a;--paper:#f6f5f0;--line:#dce2e3;--gold:#ad873f;--green:#246345;--red:#9a3e30;--white:#fff;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{border:1px solid var(--line);background:white;border-radius:9px;padding:10px 15px;color:var(--navy);font-weight:600;cursor:pointer;min-height:44px}button:hover{background:#edf2f3}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--navy);color:white;border-color:var(--navy)}.primary:hover{background:#204b64}.quiet{background:transparent}.danger{color:var(--red)}a{color:var(--navy)}:focus-visible{outline:3px solid #ba933f;outline-offset:3px}.top{background:var(--navy);color:white;padding:15px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:3px solid var(--gold)}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-size:11px;letter-spacing:1.8px;white-space:nowrap}.brand img{width:46px;height:46px;object-fit:contain;background:white;border-radius:50%;padding:4px}.brand small{display:block;font-size:17px;letter-spacing:2.5px;font-weight:600}nav{display:flex;gap:8px;align-items:center}nav button{border-color:#ffffff30;background:transparent;color:white}nav button:hover{background:#ffffff20}nav span{font-size:12px;max-width:180px}main{max-width:1180px;margin:0 auto;padding:44px 24px 70px}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--gold);margin-bottom:8px}h1{font-family:Georgia,serif;font-size:clamp(32px,4.5vw,49px);font-weight:400;line-height:1.13;margin:8px 0 16px}h2{font-size:22px;line-height:1.3;margin:25px 0 16px}h3{font-size:18px;margin:0 0 8px}.lead{color:var(--muted);max-width:630px;font-size:18px;margin-bottom:28px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin:18px 0;box-shadow:0 5px 22px #17324605}.intake{max-width:790px;margin:26px auto}.intake .drop{border:1.5px dashed #9dacb3;border-radius:12px;padding:18px;background:#f9faf8}.dragover{outline:3px solid var(--gold)}label{display:block;font-size:13px;font-weight:600;color:var(--ink)}input:not([type=checkbox]),select,textarea{border:1px solid #b9c6cc;border-radius:8px;background:white;padding:11px 12px;width:100%;margin:6px 0 12px;color:var(--ink)}textarea{min-height:105px;resize:vertical}#input{min-height:190px;font-size:16px;margin:0 0 12px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.muted{color:var(--muted)}.small{font-size:12px}.hint{font-size:13px;color:var(--muted);margin:6px 0 14px}.banner{border-radius:10px;background:#eaf2ed;border:1px solid #cadcd0;padding:14px 18px;margin:15px 0;color:#285a3e}.warn{background:#fff5e5;color:#775420;border-color:#e8d6b4}.error{background:#faebe8;color:var(--red);border-color:#edc9c1}.pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;border-radius:25px;background:#edf2f2;padding:5px 10px;color:#536b75}.pill.yes{background:#e6f2e9;color:var(--green)}.pill.attention{background:#fff0d8;color:#855f24}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:20px 0}.toolbar input{margin:0;max-width:300px}.section-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.home{scroll-margin-top:20px}.home-top{display:grid;grid-template-columns:235px 1fr;gap:24px;align-items:start}.photo{aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#e5ebe8,#f5f4ef);display:grid;place-items:center;color:#677d7f;text-align:center;font-size:13px}.photo img{width:100%;height:100%;object-fit:cover}.address{font-size:26px;font-family:Georgia,serif;line-height:1.2;margin:6px 0}.price{font-size:25px;font-weight:650;margin:8px 0}.specs{color:var(--muted);font-size:14px}.stop{color:var(--gold);text-transform:uppercase;letter-spacing:1.1px;font-weight:700;font-size:12px}.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0;border-top:1px solid var(--line);padding-top:18px}.facts div span{font-size:11px;display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.facts div strong{font-size:15px;font-weight:600}.notes{padding:15px 18px;background:#f3f6f4;border-radius:10px;margin:16px 0}.private{background:#173b50;color:white}.private label{color:white}.private textarea{background:#24495f;color:white;border-color:#537082}.private .hint{color:#d0dce0}details{border-top:1px solid var(--line);padding:14px 0 0;margin-top:18px}summary{cursor:pointer;font-weight:600;min-height:32px}.feedback{border-top:1px solid var(--line);padding-top:18px;margin-top:16px}.reactions{display:flex;gap:8px}.reactions button{flex:1;max-width:145px}.reactions button.selected{background:var(--navy);color:white;border-color:var(--navy)}.check{display:flex;gap:9px;align-items:center;font-size:14px;padding:7px 0}.check input{width:20px;height:20px;accent-color:var(--navy)}.save-status{font-size:12px;color:var(--muted);min-height:20px}.itinerary{display:flex;gap:8px;overflow-x:auto;padding:10px 0;margin:18px 0}.itinerary a{border:1px solid var(--line);background:white;border-radius:10px;min-width:150px;padding:12px;text-decoration:none;font-size:13px}.itinerary a b{display:block}.scroll{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:14px;background:white}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px;vertical-align:top;min-width:105px}th{background:#eef2f1;font-weight:600}th:first-child,td:first-child{min-width:170px}.table-select{padding:10px;display:flex;flex-wrap:wrap;gap:12px}.saved{display:flex;justify-content:space-between;align-items:center;gap:15px}.saved button{text-align:left;flex:1;border:0;background:none;padding:0}.saved .name{font-size:21px;font-family:Georgia,serif}.empty{padding:45px;text-align:center;background:white;border-radius:16px;border:1px dashed var(--line);color:var(--muted)}.loading{padding:55px;text-align:center;color:var(--muted)}.progress{height:5px;background:#e3e8e7;border-radius:5px;overflow:hidden;margin:14px 0}.progress span{display:block;background:var(--gold);height:100%;transition:width .25s}.agent-badge{display:flex;gap:12px;align-items:center;margin:20px 0}.agent-badge img{width:52px;height:52px;object-fit:cover;border-radius:50%}.agent-badge a{text-decoration:none}.change{font-size:13px;color:var(--green);margin:6px 0}.print-only{display:none}.linklike{border:0;text-decoration:underline;padding:4px;background:none;min-height:36px}.tight{padding:15px 20px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;border-radius:12px;padding:12px 20px;box-shadow:0 5px 30px #0003;z-index:30;max-width:90vw;display:none}#toast.on{display:block}dialog{border:1px solid var(--line);border-radius:18px;padding:28px;width:min(650px,94vw);max-height:90vh;color:var(--ink);box-shadow:0 20px 100px #0003}dialog::backdrop{background:#102e426b}dialog h2{margin-top:0}footer{max-width:1180px;margin:auto;border-top:1px solid var(--line);padding:20px 24px 35px;color:var(--muted);font-size:11px}footer span{display:block;margin-top:8px}.current-stop{border:2px solid var(--gold)}.print-lines{height:80px;background:repeating-linear-gradient(white,white 25px,#ddd 26px)}.chips{display:flex;flex-wrap:wrap;gap:7px}.logo-credit{max-width:100px;max-height:40px;object-fit:contain}
@media(max-width:700px){main{padding:26px 16px 60px}.top{padding:12px 16px}.brand{font-size:8px;letter-spacing:1px}.brand small{font-size:14px}.brand img{width:38px;height:38px}nav span{display:none}nav button{font-size:12px;padding:8px}.card{padding:18px;border-radius:14px}.home-top{grid-template-columns:1fr;gap:16px}.photo{aspect-ratio:16/9}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:1fr}.address{font-size:25px}.lead{font-size:16px}.toolbar button{flex-grow:1}.intake{margin:10px auto}.row .small{width:100%}.saved .name{font-size:19px}}
@media print{@page{size:letter;margin:15mm}body{background:white;font-size:10pt;line-height:1.4}.top,nav,.no-print,button,dialog,#toast,footer,.toolbar,.feedback, .table-select{display:none!important}main{padding:0;max-width:none}.card{box-shadow:none;border-color:#cbd2d4;padding:14px;margin:15px 0}.home{break-before:page}.home-top{grid-template-columns:165px 1fr}.photo{width:165px;height:124px}.address{font-size:23pt}.price{font-size:18pt}h1{font-size:32pt}.facts{grid-template-columns:repeat(4,1fr)}.print-only{display:block}.print-cover{padding:30px 0;min-height:180px}details{display:block}details>*{display:block}summary{display:none}textarea,input,select{display:none!important}.private{background:white;color:#203746;border:1px solid #aaa}.private label{color:inherit}.private .hint{color:#555}.print-note{white-space:pre-wrap}a{color:inherit;text-decoration:none}table{font-size:9pt}th,td{padding:7px;min-width:0}.scroll{overflow:visible}.agent-badge,.home-top,.facts, .notes{break-inside:avoid}.itinerary{display:block}.itinerary a{display:inline-block;min-width:0;margin:3px}.saved{display:none}body.buyer-print .agent-only{display:none!important}}

/* The covering-agent picker hides YOU, because you cannot be your own covering
   agent. Aimee Pafford read that absence as "I am not an approved agent" and
   stopped, while in fact she was signed in and had already built two tours.
   Naming the owner on the row above the list answers the question the list
   was accidentally raising. */
.owner-row{margin:0 0 10px;padding:8px 11px;border:1px solid var(--line,#E3E8ED);
  border-left:3px solid var(--gold,#C9A227);border-radius:0 8px 8px 0;
  background:var(--subtle,#F5F7F9);font-size:13.5px}

/* Homes holding up a share. Named, with what changed, so the agent can act
   instead of guessing which of six homes the banner meant. */
.blocked{list-style:none;margin:12px 0;padding:0}
.blocked li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:9px 11px;border:1px solid var(--line,#E3E8ED);border-left:3px solid var(--above,#B45309);
  border-radius:0 8px 8px 0;margin-bottom:7px;font-size:14px}
.blocked li span{color:var(--muted,#7B8794);font-size:12.5px;text-align:right;flex:none}

/* Dealbreakers first. A buyer should learn a home is 55+ or carries a $3,000
   fee at closing from the page, not from the listing agent at the door. */
.flags{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 2px}
.flag{font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid currentColor;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.flag.stop{color:#B91C1C}.flag.warn{color:#B45309}.flag.ok{color:#0B5D57}

/* What the home actually is, grouped by the question it answers. */
.features{margin-top:12px;border:1px solid var(--line,#E3E8ED);border-radius:12px;padding:11px 14px}
.features>summary{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2,#4A5A6A);
  font-weight:700;cursor:pointer}
.features .remarks{font-size:14px;line-height:1.6;color:var(--ink2,#4A5A6A);margin:10px 0 4px}
.fgroup{display:flex;gap:12px;align-items:baseline;padding:7px 0;border-top:1px solid var(--line,#E3E8ED)}
.flabel{flex:none;width:118px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#7B8794)}
.chip{display:inline-block;font-size:12.5px;padding:2px 9px;margin:0 5px 5px 0;border-radius:7px;
  background:var(--subtle,#F5F7F9);border:1px solid var(--line,#E3E8ED)}

/* The agent's half. Dashed navy so it reads as "yours, not theirs" at a glance,
   matching the private-note convention already used elsewhere. */
.agent-brief{margin-top:12px;border:1px dashed var(--navy,#0F2A47);border-radius:12px;padding:11px 14px}
.agent-brief>summary{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy,#0F2A47);
  font-weight:700;cursor:pointer}
.agent-brief .notes.priv{margin-top:10px;padding:9px 11px;border-left:3px solid var(--gold,#C9A227);
  background:var(--subtle,#F5F7F9);border-radius:0 8px 8px 0;font-size:13.5px}
@media print{.features[open]>summary{margin-bottom:6px}.chip{background:#fff}}

/* The buyer link, permanently on the page once shared. It used to live only
   inside the publish dialog — dismiss it and there was no way back to it. */
.sharebox{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 4px;
  padding:10px 13px;border:1px solid var(--line,#E3E8ED);border-radius:12px;background:var(--subtle,#F5F7F9)}
.sharebox .slabel{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#7B8794);font-weight:700}
.sharebox input{flex:1;min-width:210px;font:inherit;font-size:13px;padding:7px 10px;
  border:1px solid var(--line,#E3E8ED);border-radius:8px;background:#fff}
@media print{.sharebox{display:none}}

/* Tour editions: shared book and both printed copies use the same hierarchy. */
.book-brand{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:30px}
.book-brand img{width:44px;height:44px;border-radius:50%;background:white;padding:4px}
.print-cover{border-top:4px solid var(--gold);border-radius:4px 4px 20px 20px;padding:32px 36px;background:var(--navy);color:white}
.print-cover h1{max-width:850px;overflow-wrap:anywhere}.print-cover .eyebrow{color:#dcc18b}
.print-cover .pill{background:#ffffff18;color:white;border:1px solid #ffffff40}.print-cover a{color:inherit}
.print-cover .agent-badge{padding-top:18px;border-top:1px solid #ffffff30;margin-bottom:0}
.edition{font-size:9pt;margin-top:16px;overflow-wrap:anywhere}
.itinerary-heading{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:32px 0 8px}
.itinerary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:10px;margin-top:0}
.itinerary a{min-width:0;border-left:3px solid var(--gold);padding:14px 16px;overflow-wrap:anywhere}
.itinerary a b{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:5px}
.buyer-view .home{padding:30px;margin:28px 0;border-radius:20px;box-shadow:0 10px 35px #12334908}
.buyer-view .home-top{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:30px}
.buyer-view .address{font-size:clamp(27px,3vw,38px)}.buyer-view .photo{aspect-ratio:4/3}
.home-top>div,.facts>div,.fgroup>div{min-width:0}.home{overflow-wrap:anywhere}
.home>.facts{background:#f3f5f3;border:0;border-radius:12px;padding:20px;gap:18px}
.home details{padding:16px 0;margin-top:12px}.home details.features,.home details.agent-brief{padding:16px 18px}
.home summary{color:var(--navy);font-size:13px;letter-spacing:.04em}
.feedback{background:#f5f6f2;border:1px solid var(--line);border-radius:12px;padding:22px}
.feedback h3{font-family:Georgia,serif;font-size:25px;font-weight:400}.feedback textarea{background:white}
.listing-credit{font-size:11px;line-height:1.6}.book-disclaimer{border:0;background:transparent;padding:18px 0}
@media screen and (max-width:700px){
 .print-cover{padding:25px 22px}.book-brand{font-size:8px;letter-spacing:1px;margin-bottom:24px}
 .itinerary{grid-template-columns:1fr 1fr}.itinerary a{font-size:12px;padding:11px}
 .buyer-view .home{padding:18px}.buyer-view .home-top{grid-template-columns:1fr;gap:18px}
 .buyer-view .photo{aspect-ratio:16/10}.home>.facts{padding:16px;gap:14px}
 .fgroup{display:block}.flabel{display:block;width:auto;margin-bottom:6px}.feedback{padding:16px}
}
@media print{
 @page{size:letter;margin:14mm 14mm 16mm;@bottom-right{content:counter(page);font:9pt sans-serif;color:#60717a}}
 body{font-size:9pt;line-height:1.45;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .print-cover{padding:22px 26px;min-height:0;border-radius:0 0 12px 12px;break-inside:avoid}
 .book-brand{margin-bottom:18px;font-size:8pt}.book-brand img{width:36px;height:36px}
 .print-cover h1{font-size:29pt;margin:8px 0 14px}.print-cover .agent-badge{padding-top:12px;margin-top:14px}
 .edition{font-size:8pt}.itinerary-heading{font-size:18pt;margin:22px 0 10px;break-after:avoid}
 .itinerary{display:block;margin:0;padding:0}.itinerary a{display:block;margin:0;padding:7px 10px;border:0;border-bottom:1px solid var(--line);border-left:2px solid var(--gold);border-radius:0;font-size:9pt;break-inside:avoid}
 .itinerary a b{display:inline-block;min-width:115px;margin:0 10px 0 0;font-size:8pt}
 #app>.banner{display:none}.comparison-print{margin-top:20px}.comparison-print h2{font:18pt Georgia,serif}
 table{table-layout:fixed;font-size:8pt}thead{display:table-header-group}tr{break-inside:avoid}th,td{padding:8px 6px;overflow-wrap:anywhere}th:first-child,td:first-child{width:27%}
 .home,.buyer-view .home{break-before:page;border:0;border-radius:0;box-shadow:none;padding:0;margin:0}
 .home-top,.buyer-view .home-top{display:grid;grid-template-columns:205px minmax(0,1fr);gap:22px;align-items:center;border-top:3px solid var(--gold);padding-top:16px;break-inside:avoid}
 .photo,.buyer-view .photo{width:205px;height:154px;aspect-ratio:auto;border-radius:9px}
 .address,.buyer-view .address{font-size:23pt}.price{font-size:19pt}.specs{font-size:9pt}.stop{font-size:9pt}
 .home>.facts{padding:12px 15px;gap:10px 15px;margin:15px 0;grid-template-columns:repeat(3,minmax(0,1fr))}
 .facts div span{font-size:7pt}.facts div strong{font-size:9pt}.facts{gap:12px;margin:10px 0;padding-top:10px}
 .home details,.home details.features,.home details.agent-brief{display:block;padding:11px 0;margin:10px 0;border:0;border-top:1px solid var(--line);border-radius:0;break-inside:avoid}
 /* Keep complete sections together. Oversized sections can still flow at group boundaries. */
 .home details.features,.home details.market,.home details.agent-brief{break-inside:avoid}
 .home details>summary{display:block!important;list-style:none;min-height:0;margin:0 0 8px;font-size:9pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase;break-after:avoid}
 summary::-webkit-details-marker{display:none}.features .remarks{font-size:9pt;line-height:1.5;margin:8px 0;orphans:3;widows:3}
 .fgroup{display:flex;gap:10px;padding:6px 0;break-inside:avoid}.flabel{width:100px;font-size:7pt}.chip{font-size:8pt;margin:0 4px 3px 0;padding:2px 6px}
 h2,h3,label{break-after:avoid}p,li{orphans:3;widows:3}p{margin:8px 0}li,.market p,.listing-credit,.banner,.reflection{break-inside:avoid}
 .home .grid.agent-only{display:block;margin-top:10px!important}.notes{padding:11px 14px;margin:10px 0;break-inside:avoid}
 .private{border:1px solid #bac6cd;background:#f3f5f6;color:var(--ink)}.private .hint{color:var(--muted)}
 .agent-brief .notes.priv{font-size:9pt;line-height:1.45}.hint,.listing-credit{font-size:8pt;line-height:1.45}.print-note{font-size:9pt;white-space:pre-wrap}
 .reflection{margin-top:18px;border:1px solid var(--line);border-radius:8px;padding:12px 14px}
 .reflection h3{font-size:10pt;margin:0 0 6px}.print-lines{height:65px;background:repeating-linear-gradient(white,white 20px,#dce2e3 21px)}
 .book-disclaimer{break-inside:avoid;font-size:7pt;margin:18px 0 0;padding:12px 0;border-top:1px solid var(--line)}
}
@media print{
 body:not(.buyer-view) .reflection{margin-top:10px;padding:8px 12px}
 body:not(.buyer-view) .print-lines{height:36px;background:repeating-linear-gradient(white,white 16px,#dce2e3 17px)}
}
