/* soco crawler additions. app.css is the dry-run's file, copied unchanged (colours, fonts, both themes). */
main{max-width:1500px}
.topbar-in{max-width:1500px}
.flash{max-width:1500px}
.filters label{display:flex;gap:6px;align-items:center;font-weight:700}
.filters select{width:auto}
.filters input[type=search],.filters input[type=date]{width:auto}
.search-box input{min-width:260px}
.btn{white-space:nowrap}
.lbl[title],h2[title],.tile[title]{cursor:help}
.lbl[title]{text-decoration:underline dotted var(--muted)}

/* Review notes point 1: each link takes two lines - line 1 what you decide, line 2 what the crawler found */
.link-list{display:grid;gap:10px}
.link-item{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:12px 14px;display:grid;gap:10px}
.link-item.section-row{margin-left:32px;background:var(--stripe)}
.link-item.archive-red{border-left:6px solid var(--bad)}
.link-item.archive-amber{border-left:6px solid var(--warn)}
.link-item.archive-grey{border-left:6px solid var(--muted)}
.line1{display:grid;grid-template-columns:110px minmax(230px,1.1fr) minmax(220px,1.5fr) 175px minmax(180px,1fr);gap:12px;align-items:start}
.line2{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,1fr) minmax(170px,1fr) minmax(200px,1.3fr) minmax(150px,1fr);gap:12px;align-items:start;border-top:1px dashed var(--line);padding-top:8px;font-size:13.5px}
.f,.c{display:grid;gap:4px;align-content:start;min-width:0}
.link-item .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}
.link-item select,.link-item input[type=text],.link-item input[type=date]{padding:6px 8px;font-size:14px}
.c .addr{overflow-wrap:anywhere}
.points{font-family:var(--mono);font-size:11.5px}
details.more summary{cursor:pointer;font-size:12px;color:var(--purple);font-weight:700}
.archive-badge{display:grid;gap:4px;margin-top:4px}
.archive-badge .pill{white-space:normal}
.mini-form{display:grid;gap:6px;margin-top:6px}
.mini-form label{display:grid;gap:2px;font-weight:700}
@media (max-width:1100px){.line1,.line2{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.line1,.line2{grid-template-columns:1fr}.link-item.section-row{margin-left:12px}}

.part-of-page{font-style:italic;color:var(--muted);padding:6px 0}

/* Review notes point 2: page type picker with search */
.type-picker{position:relative}
.tp-button{width:100%;display:flex;justify-content:space-between;gap:8px;align-items:center;text-align:left;background:var(--field);
  border:1px solid var(--line);border-radius:9px;padding:6px 10px;cursor:pointer;font-size:14px}
.tp-button:disabled{cursor:not-allowed;opacity:.7}
.tp-panel{position:absolute;z-index:30;top:calc(100% + 4px);left:0;width:min(440px,90vw);background:var(--card);border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--shadow);padding:8px;display:grid;gap:6px}
.tp-list{max-height:340px;overflow:auto;display:grid;gap:1px}
.tp-group{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800;padding:8px 8px 2px}
.tp-option{border:0;background:none;text-align:left;padding:6px 8px;border-radius:8px;cursor:pointer;display:grid;gap:1px;color:var(--ink)}
.tp-option .m{font-size:12px;color:var(--muted)}
.tp-option:hover,.tp-option.active{background:var(--purple-soft)}
.tp-option[aria-selected="true"] b{color:var(--purple)}

/* Review notes point 4: help */
.help-box > summary{cursor:pointer}
.help-steps{display:grid;gap:6px;margin:6px 0 0;padding-left:22px}

/* Review notes point 6: website box */
.facts{display:grid;grid-template-columns:130px 1fr;gap:8px 16px;margin:0}
.facts dt{font-weight:800}
.facts dd{margin:0;display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}
.steps{display:grid;gap:12px;margin:4px 0 0;padding-left:22px}
.steps li{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.steps li::marker{font-weight:800;color:var(--purple)}
.one-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.one-line input[type=url]{width:auto;min-width:320px}
details.change > summary{cursor:pointer;color:var(--purple);font-weight:800;margin-top:4px}

/* Review notes point 8 and the bottom bar */
.sticky-actions{position:sticky;bottom:0;background:var(--page);padding:12px 0;border-top:1px solid var(--line);z-index:4;display:grid;gap:8px}
.confirm-box{display:grid;gap:8px}

/* Review notes point 9: import */
.import-tools{gap:10px}
#import-table.only-flagged tr.not-flagged{display:none}
tr.flagged td{background:var(--warn-soft)}

tr.total td{font-weight:800;background:var(--stripe)}
.short-input{max-width:220px}
.cleaned.tall{max-height:none}
.saved-note.ok{color:var(--ok)}
.saved-note.bad{color:var(--bad)}
