/* Project tools styles (builder J). Holds, project tools, scout capture, compare. Screen only; print styles are injected per print job. */
@media screen{
/* Project row control */
.project-row .project-tools-button{font-weight:600;text-decoration:underline;text-underline-offset:4px;min-height:44px}

/* Hold badges on cards */
.hold-badge{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 4px;font-size:15px;line-height:1.3}
.hold-badge .hold-status{display:inline-block;padding:3px 10px;border:1px solid var(--night,var(--bd-0e0b14,#0e0b14));background:var(--bg-fff9ec,#fff9ec);font-weight:600}
.hold-badge[data-status="Confirmed"] .hold-status{background:var(--night,var(--bg-0e0b14,#0e0b14));color:var(--cream,var(--fg-f2e8d6,#f2e8d6))}
.hold-badge[data-status="Released"] .hold-status{border-style:dashed;color:var(--muted,var(--fg-4a4248,#4a4248));font-weight:500}
.hold-badge[data-status$="hold"] .hold-status{box-shadow:inset 4px 0 0 var(--bd-1a7f8c,#1a7f8c)}
.hold-badge .hold-due{color:var(--muted,var(--fg-4a4248,#4a4248))}
.hold-badge .hold-due.is-overdue{color:var(--fg-8a1f0b,#8a1f0b);font-weight:600;border-bottom:2px solid var(--bd-8a1f0b,#8a1f0b)}
.hold-badge .lead-flag{display:inline-block;padding:3px 10px;border:1px solid var(--bd-8a1f0b,#8a1f0b);background:var(--bg-fbe9d6,#fbe9d6);color:var(--fg-5e1405,#5e1405);font-size:15px;line-height:1.3}
.hold-badge .lead-flag b{font-weight:600}

/* Holds and quotes panel in the detail dialog */
.holds-panel .hold-summary{font-size:15px;font-weight:500;margin-left:8px;color:var(--muted,var(--fg-4a4248,#4a4248))}
.holds-panel .holds-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
.holds-panel input[type=date],.holds-panel input:not([type]){display:block;width:100%;padding:10px;margin-top:5px;font-size:16px;min-height:44px;background:var(--bg-ffffff,#fff);border:1px solid var(--line,var(--bd-d8ddd3,#d8ddd3));color:var(--ink,var(--fg-151316,#151316))}
.holds-panel .hold-lead{border-left:4px solid var(--bd-8a1f0b,#8a1f0b);background:var(--bg-fbe9d6,#fbe9d6);padding:8px 12px;margin:8px 0;font-size:16px}
.holds-panel .hold-lead a{display:inline-flex;align-items:center;min-height:44px}
.notes-autosave{display:inline-block;margin:10px 0 0 12px;font-size:15px;color:var(--muted,var(--fg-4a4248,#4a4248))}
.notes-autosave.is-error{color:var(--fg-8a1f0b,#8a1f0b);font-weight:600}

/* Contact and place fields in the add/edit form */
.place-fields{border:1px solid var(--rule,var(--bd-958b85,#958b85));padding:4px 16px 8px;margin:16px 0}
.place-fields legend{font-size:15px;font-weight:600;padding:0 6px}
.place-fields .secondary{margin:6px 0 0}

/* Project tools dialog */
#projectToolsDialog{max-width:min(980px,calc(100vw - 32px));width:100%}
#projectToolsDialog h2{outline:none;font-family:Jost,Arial,sans-serif;font-weight:600;font-size:34px;line-height:1.1}
.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.tool-card{border:1px solid var(--rule,var(--bd-958b85,#958b85));background:var(--bg-fff9ec,#fff9ec);padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;min-width:0}
.tool-card h3{font-size:22px;margin:0}
.tool-card p{margin:0;font-size:16px}
.tool-card .secondary{font-size:15px}
.tool-card label{display:block;font-size:16px}
.tool-card input[type=date]{display:block;margin-top:6px;padding:8px 10px;min-height:44px;font-size:16px;width:100%;max-width:240px}
.tool-card .tool-check{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.tool-card .tool-check input{width:22px;height:22px;margin:0;flex:none}
.tool-card>button{align-self:flex-start}
.tool-actions{display:flex;flex-wrap:wrap;gap:10px}
.route-links{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.route-links li{display:flex;flex-direction:column;gap:2px}
.route-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.tool-status{min-height:24px;margin-top:12px;font-size:15px}
.tool-mode{border:0;padding:0;margin:0}
.tool-mode legend{font-size:16px;font-weight:600;padding:0;margin-bottom:2px}
.tool-route{grid-column:1/-1}
/* Shoot date and lead times (round 4) */
.tool-shoot{margin-top:18px}
.tool-shoot-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 20px}
.tool-shoot-row label{flex:0 1 240px}
.tool-shoot-row .secondary{flex:1 1 260px;min-width:0}
.lead-summary{border-left:4px solid var(--bd-8a1f0b,#8a1f0b);background:var(--bg-fbe9d6,#fbe9d6);padding:10px 14px;min-width:0}
.lead-summary p{margin:0 0 6px}
.lead-summary ul{margin:0 0 8px;padding-left:18px;display:grid;gap:6px}
.lead-summary li{overflow-wrap:anywhere}
.lead-summary li .secondary{display:block;font-size:15px}
.lead-summary a.lead-src{display:flex;align-items:center;min-height:44px;width:max-content}
.tool-card .tool-sub{margin-left:32px}
.tool-backup{font-size:16px}
.tool-backup[data-level="warn"],.tool-backup[data-level="over"]{border-left:4px solid var(--bd-b4560f,#b4560f);background:var(--bg-fbe9d6,#fbe9d6);padding:8px 12px}
.tool-backup[data-level="over"]{border-left-color:var(--bd-8a1f0b,#8a1f0b);font-weight:600}
.route-day-links{border-top:1px solid var(--bd-d9cfc0,#d9cfc0);padding-top:10px;min-width:0}
.route-day-links .route-start{margin-top:6px!important}
.route-nearest label{flex:1 1 220px;min-width:0}
.route-nearest select{width:100%}
.route-nearest button{min-height:44px}
#routeBox,#routeBox label{min-width:0;max-width:100%}
.pin-typed{margin-top:10px;border-top:1px dashed var(--rule,var(--bd-958b85,#958b85));padding-top:6px}
.pin-typed input{display:block;width:100%;max-width:520px;min-height:44px;margin-top:5px;font-size:16px;padding:6px 8px}
.backup-bar{display:block;width:100%;max-width:520px;height:12px;margin-top:6px;accent-color:var(--fg-1a7f8c,#1a7f8c)}
.scout-backup{margin-top:6px}
.shortlist-compact{display:none!important}
.route-stops{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:stop}
.route-stops li{display:flex;justify-content:space-between;align-items:center;gap:10px 16px;flex-wrap:wrap;border:1px solid var(--bd-d9cfc0,#d9cfc0);background:var(--bg-fffdf8,#fffdf8);padding:8px 10px;counter-increment:stop}
.route-stops li::before{content:counter(stop);font-weight:600;font-size:16px;min-width:22px}
.route-stop-main{display:flex;flex-direction:column;gap:2px;flex:1 1 220px;min-width:0}
.route-stop-main .secondary{font-size:15px}
.route-stop-tools{display:flex;align-items:center;gap:8px}
.route-stop-tools button{min-width:44px;min-height:44px;padding:0 10px;font-size:18px}
.route-stop-tools button:disabled{opacity:.35;cursor:default}
.route-day{display:flex!important;align-items:center;gap:6px;font-size:15px!important}
.route-day select{min-height:44px;font-size:16px;padding:0 6px}
.route-start{margin-top:14px!important}
.route-nearest{margin-top:6px}
.route-day-links{margin-top:10px}
.tool-route .route-links .secondary{display:block;margin-bottom:6px}
.route-start input{display:block;width:100%;max-width:520px;min-height:44px;margin-top:6px;padding:8px 10px;font-size:16px}
.route-nearest{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.route-nearest select{display:block;min-height:44px;margin-top:6px;font-size:16px;max-width:100%}
.route-day-links h4{font-size:18px;margin:6px 0 4px}
.route-day-links h4 .secondary{font-size:15px;font-weight:400;margin-left:6px}

/* My scout block in the detail dialog */
.my-scout{border-top:2px solid var(--night,var(--bd-0e0b14,#0e0b14));margin-top:28px;padding-top:16px}
.my-scout-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.my-scout h3{font-size:24px;margin:0}
.my-scout h4{font-size:19px;margin:0}
.scout-private{font-size:14px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--bd-1a7f8c,#1a7f8c);color:var(--fg-0d5560,#0d5560);padding:2px 8px}
.my-scout label{display:block;font-size:16px;margin:12px 0}
.my-scout textarea,.my-scout input[type=date]{display:block;width:100%;padding:10px;margin-top:5px;font-size:16px}
.my-scout input[type=date]{max-width:240px;min-height:44px}
.scout-notes{border:1px solid var(--rule,var(--bd-958b85,#958b85));padding:0 14px;margin:12px 0;background:var(--bg-fff9ec,#fff9ec)}
.scout-notes summary{font-size:17px;padding:10px 0}
.scout-notes summary .secondary{margin-left:6px}
.scout-photos{margin:18px 0}
.scout-photos-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.my-scout .file-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;margin:0;border:1px solid var(--night,var(--bd-0e0b14,#0e0b14));background:var(--neon,var(--bg-46e6f2,#46e6f2));color:var(--night,var(--fg-0e0b14,#0e0b14));font-weight:600;cursor:pointer}
.my-scout .file-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;padding:0}
.my-scout .file-button:focus-within{outline:3px solid var(--bd-086279,#086279);outline-offset:4px}
.my-scout .file-button.is-disabled{background:transparent;opacity:.6;cursor:not-allowed}
.scout-photo-grid{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.scout-photo-grid li{display:flex;flex-direction:column;gap:4px;min-width:0}
.scout-photo-grid li.is-zoomed{grid-column:1/-1}
.scout-photo{padding:0;border:1px solid var(--rule,var(--bd-958b85,#958b85));background:var(--bg-f2ede4,#f2ede4);display:block;width:100%;min-height:44px}
.scout-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.is-zoomed .scout-photo img{aspect-ratio:auto;object-fit:contain;max-height:80vh}
.scout-photo-grid .secondary{font-size:14px}
.scout-photo-actions{display:flex;gap:6px;flex-wrap:wrap}
.scout-photo-actions button{font-size:15px;padding:6px 10px;min-height:44px}
.scout-photo img.media-missing{min-height:80px;background:var(--bg-efe7da,#efe7da)}
.my-scout .photo-caption{margin:2px 0;font-size:14px}
.my-scout .photo-caption input{display:block;width:100%;min-height:44px;padding:6px 8px;font-size:16px;margin-top:2px}
.pin-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}
.pin-list li{border-top:1px solid var(--bd-e0d6c6,#e0d6c6);padding-top:8px}
.pin-list li:first-child{border-top:0;padding-top:0}
.pin-list p{margin:0}
.pin-primary{display:inline-block;margin-left:6px;padding:1px 8px;border:1px solid var(--bd-1a7f8c,#1a7f8c);color:var(--fg-0d5560,#0d5560);font-size:14px}
.pin-map{display:inline-flex;align-items:center;min-height:44px}
.pin-add{margin-top:12px;border-top:1px dashed var(--rule,var(--bd-958b85,#958b85));padding-top:6px}
.pin-add select,.pin-add input{display:block;width:100%;max-width:280px;min-height:44px;margin-top:5px;font-size:16px;padding:6px 8px}
.my-scout .pin-add label{margin:8px 0}
.scout-pin{border:1px solid var(--rule,var(--bd-958b85,#958b85));padding:14px;margin:12px 0;background:var(--bg-fff9ec,#fff9ec)}
.scout-pin p{margin:8px 0 0}
.scout-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.scout-storage{font-size:15px;color:var(--muted,var(--fg-4a4248,#4a4248));margin-top:12px}
.scout-storage[data-level="warn"],.scout-storage[data-level="high"]{border-left:4px solid var(--bd-b4560f,#b4560f);background:var(--bg-fbe9d6,#fbe9d6);color:var(--ink,var(--fg-151316,#151316));padding:8px 12px}
.scout-storage[data-level="high"]{border-left-color:var(--bd-8a1f0b,#8a1f0b);font-weight:600}
.scout-status{min-height:24px;font-size:15px;margin-top:6px}
.scout-status.is-error{color:var(--fg-8a1f0b,#8a1f0b);font-weight:600}
/* Round 5: pin rename in place, errors under their field, cleared lead-time note */
.pin-list li.is-renaming>.scout-actions{display:none}
.pin-rename{margin:8px 0 0;padding:10px 12px;border-left:4px solid var(--bd-1a7f8c,#1a7f8c);background:var(--bg-fffdf8,#fffdf8)}
.my-scout .pin-rename label{margin:0}
.pin-rename input{display:block;width:100%;max-width:320px;min-height:44px;margin-top:5px;font-size:16px;padding:6px 8px}
.pin-error{margin:6px 0 0!important;padding:6px 10px;border-left:4px solid var(--bd-8a1f0b,#8a1f0b);background:var(--bg-fbe9d6,#fbe9d6);color:var(--fg-5e1405,#5e1405);font-size:15px;font-weight:600}
.pin-error[hidden]{display:none}
.pin-typed input[aria-invalid="true"],.pin-rename input[aria-invalid="true"],.import-name input[aria-invalid]{border:2px solid var(--bd-8a1f0b,#8a1f0b)}
.holds-panel .hold-lead-cleared{margin:8px 0;font-size:15px}
/* Import a project (round 5) */
#importProjectDialog{max-width:min(760px,calc(100vw - 32px));width:100%}
#importProjectDialog h2{outline:none;font-family:Jost,Arial,sans-serif;font-weight:600;font-size:28px;line-height:1.15;overflow-wrap:anywhere;margin-right:44px}
#importProjectDialog p{font-size:16px}
#importProjectDialog .secondary{font-size:15px}
#importProjectDialog fieldset{margin:16px 0 0;min-width:0}
#importProjectDialog .tool-check{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:6px 0;cursor:pointer;font-size:16px;overflow-wrap:anywhere}
#importProjectDialog .tool-check input{width:22px;height:22px;margin:2px 0 0;flex:none}
#importProjectDialog .tool-check .secondary{display:block}
.import-name{display:block;margin:16px 0 0;font-size:16px;font-weight:600}
.import-name input{display:block;width:100%;max-width:480px;min-height:44px;margin-top:6px;padding:6px 10px;font-size:16px;font-weight:400}
.import-copy-name{margin:0 0 4px 32px}
.import-collision{border-left:4px solid var(--bd-b4560f,#b4560f);background:var(--bg-fffdf8,#fffdf8);padding:8px 12px;margin:8px 0}
.import-collision p{margin:0 0 4px}
.import-summary{margin:18px 0 12px;padding:12px 16px;border:1px solid var(--rule,var(--bd-958b85,#958b85));background:var(--bg-fff9ec,#fff9ec)}
.import-summary h3{font-size:19px;margin:0 0 6px;overflow-wrap:anywhere}
.import-summary ul{margin:0 0 8px;padding-left:20px;display:grid;gap:4px;font-size:16px}
.import-summary p{margin:6px 0 0}
/* Round 6 (review c7 MJ1): records already here that the import changes, and the private-edits opt-in. */
.import-summary h4.import-shared-title{font-size:17px;margin:16px 0 4px}
.import-summary ul.import-shared{margin:10px 0 8px;gap:8px}
.import-summary .import-shared li{overflow-wrap:anywhere}
.import-edits .tool-check span{overflow-wrap:anywhere}
#importProjectDialog .tool-actions button{min-height:44px}

/* Compare: rows aligned by record type */
#comparisonContent.cmp-v2{display:block}
.cmp-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 10px}
.cmp-toolbar p{margin:0}
.cmp-section{margin:18px 0 26px}
.cmp-section-title{font-size:22px;margin:0 0 8px}
.cmp-section-title .secondary{font-size:15px;margin-left:6px}
.cmp-table{border:1px solid var(--rule,var(--bd-958b85,#958b85));background:var(--bg-fff9ec,#fff9ec)}
.cmp-row{display:grid;grid-template-columns:190px repeat(var(--cmp-cols,2),minmax(0,1fr));border-top:1px solid var(--bd-d9cfc0,#d9cfc0)}
.cmp-row:first-child{border-top:0}
.cmp-label{padding:10px 12px;font-weight:600;font-size:15px;background:var(--bg-f6efe2,#f6efe2)}
.cmp-cell{padding:10px 12px;font-size:16px;min-width:0;overflow-wrap:anywhere;border-left:1px solid var(--bd-e5dccd,#e5dccd)}
.cmp-head .cmp-cell{background:var(--cream2,var(--bg-e7dac2,#e7dac2))}
.cmp-head h4{font-size:21px;margin:4px 0 2px}
.cmp-head .secondary{margin:0 0 8px}
.cmp-head .comparison-actions button{font-size:15px;padding:6px 10px}
.cmp-group{border-top:1px solid var(--night,var(--bd-0e0b14,#0e0b14));background:var(--night,var(--bg-0e0b14,#0e0b14));color:var(--cream,var(--fg-f2e8d6,#f2e8d6))}
.cmp-group-label{padding:6px 12px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.cmp-ask{font-style:italic;color:var(--fg-5b3a2a,#5b3a2a)}
.cmp-none{color:var(--muted,var(--fg-4a4248,#4a4248))}
.cmp-prose{white-space:pre-wrap}
.cmp-overdue{color:var(--fg-8a1f0b,#8a1f0b);font-weight:600}
.cmp-status{display:inline-block;border:1px solid var(--night,var(--bd-0e0b14,#0e0b14));padding:1px 8px;font-weight:600}
.cmp-status[data-status="Confirmed"]{background:var(--night,var(--bg-0e0b14,#0e0b14));color:var(--cream,var(--fg-f2e8d6,#f2e8d6))}
.cmp-status[data-status="Not set"]{border-style:dashed;font-weight:500;color:var(--muted,var(--fg-4a4248,#4a4248))}
.cmp-v2 .eyebrow{font-size:14px;margin-bottom:4px}
.cmp-v2 .cmp-head .secondary{font-size:15px}
.cmp-v2 .cmp-head .comparison-actions button{min-height:44px}
.cmp-link{display:inline-flex;align-items:center;min-height:44px;padding:2px 0}
.cmp-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 4px}
.cmp-photos figure{margin:0;min-width:0}
.cmp-photos img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--bg-efe7da,#efe7da);border:1px solid var(--bd-d9cfc0,#d9cfc0)}
.cmp-photos figcaption{font-size:14px;color:var(--muted,var(--fg-4a4248,#4a4248));margin-top:2px;overflow-wrap:anywhere}
.cmp-unknown-row{display:block!important;background:var(--bg-fbf4e8,#fbf4e8)}
.cmp-unknowns{padding:10px 12px;font-size:15px;font-style:italic;color:var(--fg-5b3a2a,#5b3a2a)}
}
@media screen and (max-width:760px){
.shortlist-compact{display:flex!important;align-items:center;gap:10px;min-height:44px}
.shortlist-compact input{width:22px;height:22px;margin:0}
/* Compact shortlist: name, place, status, lead-time flag and actions. Description and tags step aside. */
.pt-compact-shortlist #cards .hub-row:not(.hub-guide){padding-top:12px;padding-bottom:12px;min-height:0}
.pt-compact-shortlist #cards .hub-row:not(.hub-guide) .description,.pt-compact-shortlist #cards .hub-row:not(.hub-guide) .hub-tags,.pt-compact-shortlist #cards .hub-row:not(.hub-guide) .hub-related{display:none}
.pt-compact-shortlist #cards .hub-row:not(.hub-guide) h3{margin:4px 0 2px}
.pt-compact-shortlist #cards .hub-row:not(.hub-guide) .hold-badge{margin:6px 0 2px}
.pt-compact-shortlist #cards .hub-row:not(.hub-guide) .hub-row-actions{margin-top:6px}
.pt-compact-shortlist #cards .hub-row:not(.hub-guide) .hub-row-actions>span{display:none}
.tool-shoot-row label{flex:1 1 100%}
.tool-card .tool-sub{margin-left:0}
.holds-panel .holds-grid,.tools-grid{grid-template-columns:1fr}
.tool-card{padding:16px}
.import-copy-name{margin-left:0}
#importProjectDialog h2{font-size:24px}
.scout-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cmp-row{grid-template-columns:1fr}
.cmp-label{padding:10px 12px 4px;background:transparent}
.cmp-cell{border-left:0;padding:4px 12px 10px}
.cmp-row:not(.cmp-head) .cmp-cell::before{content:attr(data-name);display:block;font-size:14px;font-weight:600;color:var(--muted,var(--fg-4a4248,#4a4248))}
.cmp-single .cmp-row:not(.cmp-head) .cmp-cell::before{content:none}
.cmp-head .cmp-label{display:none}
.cmp-head .cmp-cell+.cmp-cell{border-top:1px solid var(--bd-d9cfc0,#d9cfc0)}
}
@media screen and (max-width:360px){.scout-photo-grid{grid-template-columns:1fr}}
