  .overlay{
    position:fixed;inset:0;background:rgba(0,0,0,.55);
    display:flex;align-items:flex-end;justify-content:center;z-index:1000;
    opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease;
  }
  .overlay[data-open="true"]{opacity:1;visibility:visible;pointer-events:auto;}
  .overlay:not([data-open="true"]){display:none;}
  /* Keep the sign-in dialog above account menus and make the interactive
     surface explicit.  This prevents a transparent, higher-level panel from
     swallowing clicks after the landing-page header was redesigned. */
  #loginOverlay[data-open="true"]{z-index:5000;}
  .overlay[data-open="true"] .modal, .overlay[data-open="true"] .modal button, .overlay[data-open="true"] .modal input, .overlay[data-open="true"] .modal select, .overlay[data-open="true"] .modal textarea { pointer-events:auto !important; }
  .modal{
    background:var(--surface);border-top:1px solid var(--border);border-radius:16px 16px 0 0;
    width:100%;max-width:520px;max-height:88vh;overflow-y:auto;padding:18px 16px 26px 16px;
    transform:translateY(16px);transition:transform .2s ease;
  }
  .overlay[data-open="true"] .modal{transform:translateY(0);}
  .modal h2{font-family:'Oswald',sans-serif;text-transform:uppercase;font-size:16px;margin-bottom:16px;letter-spacing:.02em;}
  .field{margin-bottom:13px;}
  .field label{
    display:block;font-size:11px;color:var(--text-muted);font-family:'JetBrains Mono',monospace;
    text-transform:uppercase;margin-bottom:5px;letter-spacing:.03em;
  }
  .field input, .field textarea{
    width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;
    color:var(--text);padding:12px 10px;font-size:16px;font-family:'Inter',sans-serif;
  }
  .field textarea{min-height:60px;resize:vertical;}
  .field select, #directionsStartSelect, #directionsOrderSelect{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:12px 10px;font-size:16px;font-family:'Inter',sans-serif;}
  .autocomplete-suggestions{
    position:absolute;top:calc(100% - 38px);left:0;right:0;z-index:1050;
    background:#1e2429;border:1px solid var(--accent);border-radius:8px;
    max-height:190px;overflow-y:auto;box-shadow:0 12px 32px rgba(0,0,0,0.7);
    display:none;margin-top:2px;
  }
  .autocomplete-suggestions[data-show="true"]{display:block;}
  .suggestion-item{
    padding:10px 12px;font-size:12.5px;color:var(--text);border-bottom:1px solid rgba(255,255,255,0.06);
    cursor:pointer;line-height:1.4;transition:background .15s,color .15s;
  }
  .suggestion-item:last-child{border-bottom:none;}
  .suggestion-item:hover, .suggestion-item:active{background:var(--surface-2);color:var(--accent);}
  .modal-actions{display:flex;gap:10px;margin-top:18px;}

  /* Redesigned module form system (frm-*): sectioned dark layout used inside .modal */
  .frm-header{padding:0 0 18px;border-bottom:1px solid var(--border);margin-bottom:4px;}
  .frm-eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;color:var(--accent);font-weight:600;margin:0 0 10px;display:flex;align-items:center;gap:7px;}
  .frm-eyebrow svg{width:13px;height:13px;flex:none;}
  .frm-title-input{width:100%;border:none;padding:0;font-family:'Inter',sans-serif;font-size:20px;font-weight:650;color:var(--text);background:transparent;outline:none;}
  .frm-title-input::placeholder{color:var(--text-faint,var(--text-muted));font-weight:600;}
  .frm-meta-row{margin-top:14px;display:flex;gap:10px;}
  .frm-meta-field{flex:1;display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:9px 10px;}
  .frm-meta-field svg{width:14px;height:14px;color:var(--text-muted);flex:none;}
  .frm-meta-field input{border:none;background:transparent;outline:none;font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--text);width:100%;}

  .frm-section{padding:16px 0;border-bottom:1px solid var(--border);}
  .frm-section:last-of-type{border-bottom:none;padding-bottom:0;}
  .frm-section-head{display:flex;align-items:center;gap:7px;margin:0 0 14px;}
  .frm-section-head svg{width:15px;height:15px;color:var(--accent);flex:none;}
  .frm-section-label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.07em;font-weight:600;color:var(--text-muted);text-transform:uppercase;}

  .frm-field{margin-bottom:14px;}
  .frm-field:last-child{margin-bottom:0;}
  .frm-field-label{display:block;font-size:12.5px;color:var(--text-muted);margin-bottom:6px;font-weight:500;}
  .frm-input, .frm-select, .frm-textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:10px 11px;font-family:'Inter',sans-serif;font-size:15px;color:var(--text);outline:none;}
  .frm-input:focus, .frm-select:focus, .frm-textarea:focus{border-color:var(--accent);}
  .frm-textarea{min-height:70px;resize:vertical;line-height:1.5;}

  .frm-unit-field{position:relative;}
  .frm-unit-field .frm-input{padding-right:40px;}
  .frm-unit-suffix{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--text-muted);pointer-events:none;}
  .frm-prefix-field{position:relative;}
  .frm-prefix-field .frm-input{padding-left:24px;}
  .frm-prefix-symbol{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--text-muted);pointer-events:none;}

  .frm-chip-group{display:flex;flex-wrap:wrap;gap:7px;}
  .frm-chip{font-family:'JetBrains Mono',monospace;font-size:12.5px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);padding:7px 13px;border-radius:999px;cursor:pointer;}
  .frm-chip:hover{border-color:var(--accent);color:var(--text);}
  .frm-chip.is-active{background:var(--accent);border-color:var(--accent);color:#1a1409;font-weight:600;}

  .frm-crew-tags{display:flex;flex-wrap:wrap;gap:7px;align-items:center;}
  .frm-crew-tag{display:inline-flex;align-items:center;gap:7px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:6px 8px 6px 13px;font-size:13px;color:var(--text);}
  .frm-crew-remove{border:none;background:transparent;color:var(--text-muted);width:16px;height:16px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;padding:0;}
  .frm-crew-remove:hover{background:var(--surface-3,var(--surface-2));color:var(--danger);}
  .frm-crew-add{font-family:'JetBrains Mono',monospace;font-size:12px;border:1px dashed var(--border);background:transparent;color:var(--text-muted);padding:7px 13px;border-radius:999px;cursor:pointer;}
  .frm-crew-add:hover{border-color:var(--accent);color:var(--accent);}
  .frm-crew-add-select{font-family:'JetBrains Mono',monospace;font-size:12px;border:1px dashed var(--border);background:var(--surface-2);color:var(--text-muted);padding:7px 10px;border-radius:999px;cursor:pointer;outline:none;max-width:100%;}
  .frm-crew-add-select:hover, .frm-crew-add-select:focus{border-color:var(--accent);color:var(--text);}

  .frm-stepper{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;overflow:hidden;width:132px;}
  .frm-stepper-btn{width:36px;height:40px;border:none;background:var(--surface-2);color:var(--text);font-size:16px;cursor:pointer;line-height:1;}
  .frm-stepper-btn:hover{background:var(--accent);color:#1a1409;}
  .frm-stepper-value{flex:1;text-align:center;border:none;outline:none;font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--text);background:var(--surface-2);height:40px;}

  .frm-sig-field{display:flex;align-items:center;gap:8px;}
  .frm-sig-field svg{width:15px;height:15px;color:var(--text-muted);flex:none;}
  .frm-sig-field .frm-input{border:none;border-bottom:1px solid var(--border);border-radius:0;background:transparent;padding:9px 2px;font-family:'Brush Script MT',cursive;font-size:17px;}
  .frm-sig-field .frm-input:focus{border-bottom-color:var(--accent);}

  .frm-checklist-hint{font-size:11.5px;color:var(--text-muted);margin:0 0 10px;}
  .frm-toggle-group{margin-bottom:14px;}
  .frm-toggle-group:last-child{margin-bottom:0;}
  .frm-toggle-group-label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;}
  .frm-toggle-grid{display:flex;flex-wrap:wrap;gap:7px;}
  .frm-toggle-chip{font-size:13px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:7px 13px;border-radius:999px;cursor:pointer;}
  .frm-toggle-chip:hover{border-color:var(--danger);}
  .frm-toggle-chip.is-issue{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600;}

  .frm-footer{padding:18px 0 4px;display:flex;justify-content:flex-end;gap:10px;}
  .frm-btn{font-family:'Inter',sans-serif;font-size:13.5px;font-weight:600;padding:11px 18px;border-radius:8px;cursor:pointer;border:1px solid transparent;}
  .frm-btn-ghost{background:transparent;border-color:var(--border);color:var(--text-muted);}
  .frm-btn-ghost:hover{border-color:var(--accent-2);color:var(--text);}
  .frm-btn-primary{background:var(--accent);color:#1a1409;}
  .frm-btn-primary:hover{opacity:.92;}
  .menu-list{margin-top:6px;}
  .menu-section-label{
    color:var(--text-muted);font-family:'JetBrains Mono',monospace;font-size:10px;
    text-transform:uppercase;letter-spacing:.05em;padding:18px 4px 5px;
  }
  .menu-section-label:first-child{padding-top:6px;}
  .menu-item{
    width:100%;display:flex;align-items:center;gap:14px;background:none;border:none;
    border-bottom:1px solid var(--border);padding:14px 4px;cursor:pointer;text-align:left;
  }
  .menu-item:last-child{border-bottom:none;}
  .menu-item:active{background:var(--surface-2);}
  .menu-icon{font-size:19px;flex-shrink:0;width:24px;text-align:center;}
  .menu-text{display:flex;flex-direction:column;gap:2px;}
  .menu-label{font-size:14.5px;color:var(--text);font-family:'Inter',sans-serif;font-weight:500;}
  .menu-sub{font-size:11px;color:var(--text-muted);font-family:'JetBrains Mono',monospace;}
  .menu-item.danger .menu-label{color:var(--danger);}
  .position-badge{
    display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:3px 8px;border-radius:100px;
    border:1px solid rgba(216,176,120,.28);background:rgba(216,176,120,.1);color:var(--accent);
    font-family:'JetBrains Mono',monospace;font-size:10px;text-transform:uppercase;
  }
  .account-profile{display:flex;flex-direction:column;gap:4px;min-width:0;}
  .account-profile strong{font-size:13px;overflow-wrap:anywhere;}
  .btn{
    flex:1;padding:14px;border-radius:8px;border:none;font-family:'Oswald',sans-serif;min-height:46px;
    text-transform:uppercase;font-weight:600;font-size:13.5px;letter-spacing:.03em;cursor:pointer;
  }
  .btn.primary{background:var(--accent);color:#161819;}
  .btn.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border);}
  .btn.danger{background:var(--danger);color:#fff;}
