/* MAPEXA 1.5 — workspace ergonomics. All fonts and images remain local. */
.header { align-items:center; }
.header-actions { gap:12px; }
.global-search-open {
  display:flex;align-items:center;gap:9px;border:1px solid var(--line);
  background:white;color:var(--muted);padding:10px 13px;border-radius:10px;font-size:11px;
}
kbd { font-family:inherit;font-size:10px;border:1px solid #e0e6dc;border-radius:5px;padding:1px 5px;color:#889582; }
.daily-welcome { min-height:190px;gap:25px; }
.daily-welcome h2 { font-size:27px; }
.welcome-actions { display:flex;flex-wrap:wrap;gap:9px; }
.button.ghost { background:#ffffff0a;border-color:#ffffff30;color:#e4eddb; }
.button.ghost:hover { background:#ffffff1a; }
.daily-focus { flex-shrink:0;border-right:1px solid #ffffff26;padding:0 32px 0 6px;min-width:160px;text-align:center; }
.daily-focus>span { font-size:11px;color:#b8cbb9;display:block; }
.daily-focus>b { font-size:43px;line-height:1.6;font-weight:550;display:block;color:#dce9bb; }
.daily-focus>button { background:none;border:0;color:#e3eddb;font-size:10px;padding:5px; }
.start-checklist { margin:16px 0;background:#fff;border:1px solid var(--line);border-radius:11px; }
.start-checklist summary { cursor:pointer;padding:12px 18px;font-size:12px;color:var(--green); }
.start-checklist summary small { float:left;color:var(--muted);font-size:10px; }
#startSteps { display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 14px 14px; }
.start-step { display:grid;grid-template-columns:24px 1fr;gap:2px 6px;border:1px solid var(--line);border-radius:9px;padding:12px;background:#fafcf7;text-align:right;color:var(--ink); }
.start-step>span { grid-row:1/3;color:#9eac92;font-size:16px; }
.start-step strong { font-size:11px;font-weight:500; }
.start-step small { font-size:9px;color:var(--muted); }
.start-step.is-complete>span { color:var(--green); }
.property-secondary-filters { display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:13px 2px 0; }
.property-secondary-filters>label { font-size:10px;color:var(--muted);display:flex;align-items:center;gap:7px; }
.property-secondary-filters select { background:transparent;border-color:#dce5d5;padding:6px 9px;font-size:11px; }
.property-secondary-filters>.text-button { margin-right:auto; }
.task-quick-filters { display:flex;gap:8px;margin-top:18px;flex-wrap:wrap; }
.task-quick-filters button { border:1px solid var(--line);background:white;border-radius:20px;padding:7px 15px;font-size:11px;color:var(--muted); }
.task-quick-filters [aria-pressed=true] { background:#eaf2e3;color:var(--green);border-color:#c2d2b3; }
.compare-check { display:inline-flex;gap:7px;align-items:center;color:var(--muted);font-size:10px;cursor:pointer;padding:7px 0;margin-right:8px; }
.compare-check input { accent-color:var(--green);margin:0;width:14px;height:14px; }
.property-card-body .compare-check { margin:7px 0 0; }
.compare-dock {
  position:fixed;bottom:20px;left:calc(50% - 100px);transform:translateX(-50%);
  z-index:15;width:min(760px,calc(100vw - 270px));padding:15px 20px;display:flex;
  justify-content:space-between;align-items:center;gap:20px;background:white;border:1px solid #cedbc2;
  border-radius:13px;box-shadow:0 10px 40px #23412c22;
}
.compare-dock strong { font-size:11px;font-weight:600; }
#compareSelection { display:flex;gap:7px;flex-wrap:wrap;margin-top:7px; }
.compare-chip { display:flex;align-items:center;gap:5px;border-radius:6px;background:#f0f5e9;padding:3px 7px;font-size:10px; }
.compare-chip>span { max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.chip-remove { background:none;border:0;padding:0 3px;font-size:16px;color:var(--muted);line-height:1.2; }
.compare-dock>.actions { flex-shrink:0; }
.compare-dock:not([hidden])~.toast { bottom:120px; }
body.comparing .main { padding-bottom:120px; }
.property-wizard { width:760px;overflow:hidden; }
.property-wizard form { max-height:calc(90dvh - 2px); }
.wizard-steps { display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:15px 24px;border-bottom:1px solid var(--line);flex-shrink:0;background:#fbfcf8; }
.wizard-steps button { display:flex;align-items:center;justify-content:center;gap:8px;border:0;padding:9px 3px;border-radius:8px;background:transparent;color:#86947a;font-size:12px; }
.wizard-steps b { width:23px;height:23px;border-radius:50%;background:#edf1e7;display:grid;place-items:center;font-size:11px;font-weight:500; }
.wizard-steps [aria-current=step] { color:var(--green);background:#edf4e5; }
.wizard-steps [aria-current=step] b { background:var(--green);color:white; }
.wizard-steps .complete b { background:#dce8cd;color:#526e3e; }
.wizard-help { font-size:12px;color:var(--muted);margin:7px 0 20px;line-height:2; }
.property-wizard .form-grid input,.property-wizard .form-grid textarea,.property-wizard .form-grid select { font-size:14px;padding:10px 12px; }
.property-wizard .form-grid label { font-size:12px; }
.property-wizard h3 { font-size:17px; }
.wizard-footer { gap:9px;flex-wrap:wrap; }
.wizard-footer>.footer-spacer { flex:1; }
.wizard-footer .button { font-size:12px; }
.money-hint { display:block;margin:6px 0;color:#7d8e71;font-size:10px; }
.photo-dropzone {
  display:flex;align-items:center;flex-direction:column;gap:12px;padding:28px 20px;border:1px dashed #b9c9a7;
  background:#f7faf2;border-radius:12px;cursor:pointer;text-align:center;
}
.photo-dropzone>svg { width:32px;height:32px;color:#97ab7e; }
.photo-dropzone strong { font-size:14px;font-weight:500; }
.photo-dropzone span { font-size:11px;color:var(--muted); }
.photo-dropzone input { max-width:100%;font-size:11px;background:#fff; }
.wizard-photos { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px; }
.wizard-photo { border:1px solid var(--line);border-radius:10px;overflow:hidden; }
.wizard-photo img { width:100%;height:135px;object-fit:cover;display:block; }
.wizard-photo .actions { padding:8px;gap:5px; }
.photo-label { display:block;padding:7px 9px 0;font-size:10px;overflow-wrap:anywhere;color:var(--muted); }
.completion-note { font-size:11px;padding:13px;background:#f2f7eb;border-radius:8px;line-height:2;color:#61774d; }
.property-fact-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin:17px 0; }
.property-fact-grid>div { padding:12px 0;border-bottom:1px solid #edf0e8;min-width:0; }
.property-fact-grid dt { color:var(--muted);font-size:10px;margin-bottom:4px; }
.property-fact-grid dd { font-size:13px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere; }
.property-detail-summary { display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px; }
.detail-price { font-weight:600;color:var(--green);font-size:16px; }
.detail-gallery { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.detail-gallery>img { width:100%;height:140px;object-fit:cover;border-radius:10px; }
.detail-gallery>img:first-child { grid-column:1/-1;height:230px; }
.global-search-dialog { width:690px;margin:10vh auto auto; }
.global-search-dialog .dialog-head { padding:18px 22px; }
.global-search-dialog h2 { font-size:18px; }
.global-query-row { display:flex;align-items:center;gap:12px;margin:18px 22px 0;padding:0 12px;border:1px solid #cedbc1;border-radius:10px;background:#f8fbf4; }
.global-query-row>input { border:0;flex:1;background:none;padding:14px 0;font-size:15px;min-width:0; }
.global-query-row:focus-within { outline:2px solid #91aa6d; }
.global-query-row>input:focus { outline:none; }
#globalResultCount { font-size:10px;color:var(--muted);margin:11px 24px; }
#globalResults { max-height:48dvh;overflow:auto;padding:0 16px 16px; }
.search-group-label { font-size:12px;color:var(--muted);margin:10px; }
.search-group-head { display:flex;justify-content:space-between;align-items:center;padding:13px 10px 7px;font-size:11px;color:#849276; }
.command-row { width:100%;display:block;text-align:right;border:0;background:#fff;border-radius:8px;padding:12px;color:var(--ink);font-size:13px; }
.command-row:hover,.command-row:focus-visible { background:#f0f5e8; }
.command-row strong { display:block;font-size:13px;font-weight:550;overflow-wrap:anywhere; }
.command-row small { display:block;font-size:10px;color:var(--muted);margin-top:4px; }
.search-key-hint { padding:12px 24px;border-top:1px solid var(--line);font-size:10px;color:#8e9b83; }
.compare-dialog { width:1000px; }
.comparison-table { white-space:normal;table-layout:fixed;min-width:620px; }
.comparison-table th:first-child { width:115px; }
.comparison-table th { vertical-align:top; }
.comparison-table th img { width:100%;height:110px;object-fit:cover;border-radius:8px;display:block;margin-bottom:10px; }
.comparison-table th .text-button { font-size:13px;overflow-wrap:anywhere; }
.comparison-table td { font-size:12px;vertical-align:top;overflow-wrap:anywhere; }
.compare-dialog .dialog-body { overflow-x:auto; }
#propertyPrintSheet { display:none; }
@media(max-width:1250px) {
 .global-search-open>span { display:none; }
 .header-actions .today { display:none; }
 .daily-focus { min-width:140px;padding-right:25px; }
 #startSteps { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:960px) {
 .daily-welcome { align-items:flex-start; }
 .daily-focus { min-width:112px;padding-right:16px; }
 .daily-welcome h2 { font-size:24px; }
 .welcome-actions .button { font-size:10px;padding:8px 10px; }
 .compare-dock { gap:10px;left:calc(50% - 90px);width:calc(100vw - 250px); }
 .compare-dock>.actions { flex-direction:column;gap:3px; }
}
@media(max-width:700px) {
 .header { flex-wrap:wrap;gap:16px; }
 .header-actions { width:100%; }
 .global-search-open { flex:1;justify-content:flex-start;font-size:11px;padding:10px; }
 .global-search-open>span { display:inline; }
 .global-search-open kbd { display:none; }
 .header-actions .button { padding:10px 14px;font-size:12px; }
 .daily-welcome { display:block;padding:22px; }
 .daily-welcome h2 { font-size:23px; }
 .daily-focus { display:flex;align-items:center;gap:12px;border-right:0;border-top:1px solid #ffffff25;padding:12px 0 0;margin-top:20px; }
 .daily-focus>b { font-size:24px;line-height:1; }
 .daily-focus>button { margin-right:auto;font-size:9px; }
 .start-checklist summary { padding:11px 13px;font-size:11px; }
 .start-checklist summary small { font-size:9px; }
 #startSteps { padding:0 10px 10px;gap:6px; }
 .start-step { padding:10px 7px;grid-template-columns:18px 1fr; }
 .start-step strong { font-size:10px; }
 .property-secondary-filters { gap:8px; }
 .property-secondary-filters>label { flex:1 1 100%;justify-content:space-between; }
 .property-secondary-filters select { max-width:70%;font-size:11px; }
 .compare-dock { width:calc(100vw - 24px);left:50%;bottom:12px;padding:12px; }
 .compare-dock .button { font-size:11px;padding:9px 12px; }
 .compare-chip>span { max-width:85px; }
 #compareSelection { max-width:210px;gap:4px; }
 .wizard-steps { padding:11px 9px;gap:3px; }
 .wizard-steps button { gap:4px;font-size:10px;padding:8px 0; }
 .wizard-steps b { width:20px;height:20px;font-size:10px; }
 .property-wizard .dialog-head { padding:17px 19px; }
 .property-wizard .dialog-head h2 { font-size:19px; }
 .property-wizard .dialog-body { padding:18px; }
 .wizard-footer { padding:13px;gap:7px; }
 .wizard-footer .button { font-size:11px;padding:9px 10px; }
 .wizard-footer>.footer-spacer { display:none; }
 #wizardNext,#wizardSave { margin-right:auto; }
 #wizardSaveMap { width:100%; }
 .photo-dropzone { padding:23px 13px; }
 .photo-dropzone strong { font-size:12px; }
 .photo-dropzone span { font-size:10px; }
 .property-detail-summary { flex-wrap:wrap; }
 .detail-price { font-size:13px; }
 .property-fact-grid { gap:0 14px; }
 .property-fact-grid dd { font-size:12px; }
 .detail-gallery>img:first-child { height:180px; }
 .global-search-dialog { margin:6vh auto auto; }
 .global-query-row { margin:15px 16px 0;gap:7px; }
 .global-query-row>input { font-size:13px; }
 .comparison-table { min-width:590px; }
 .compare-dialog .dialog-body { padding:10px; }
}
@media print {
 @page { size:A4;margin:14mm; }
 body.printing-introduction { background:white;color:#142d23; }
 body.printing-introduction>* { display:none!important; }
 body.printing-introduction>#propertyPrintSheet { display:block!important; }
 #propertyPrintSheet h1 { margin:15px 0;font-size:25px; }
 #propertyPrintSheet .print-brand { font-size:12px;letter-spacing:2px; }
 #propertyPrintSheet .property-fact-grid>div { break-inside:avoid; }
 #propertyPrintSheet .print-gallery { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0; }
 #propertyPrintSheet .print-gallery img { width:100%;height:160px;object-fit:cover; }
}
