  /* ---------- Modals ---------- */
  .modal-overlay{
    position:fixed; inset:0; background:rgba(15,10,25,.45); backdrop-filter:blur(2px);
    display:flex; align-items:center; justify-content:center; z-index:300; opacity:0; pointer-events:none; transition:opacity .18s ease;
    padding:20px;
  }
  .modal-overlay.show{opacity:1; pointer-events:auto;}
  .modal{
    background:var(--card-bg); border-radius:var(--radius-lg); width:100%; max-width:520px; max-height:90vh; overflow-y:auto;
    box-shadow:var(--shadow-lg); border:1px solid var(--purple-500); transform:translateY(14px) scale(.98); transition:transform .18s ease; padding:22px;
  }
  .modal-overlay.show .modal{transform:translateY(0) scale(1);}
  .modal-sm{max-width:400px;}
  .modal-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;}
  .modal-head b{font-size:17px; letter-spacing:-.01em;}
  .modal-close{width:32px;height:32px;border-radius:9px; border:none; background:var(--ink-100); color:var(--ink-700); display:flex; align-items:center; justify-content:center;}
  .modal-close:hover{background:var(--ink-300);}
  .del-copy{font-size:13.3px; color:var(--ink-700); line-height:1.55; margin:0 0 20px;}

  .form-row{margin-bottom:14px;}
  .form-row-2{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  .form-group{display:flex; flex-direction:column; gap:6px;}
  .form-label{font-size:12.6px; font-weight:600; color:var(--ink-700);}
  .form-input{
    border:1px solid var(--border); border-radius:10px; padding:10px 12px; font-size:13.3px; font-family:inherit;
    background:var(--page-bg); color:var(--ink-900); width:100%; resize:vertical;
  }
  .form-input:focus{outline:none; border-color:var(--purple-500); box-shadow:0 0 0 3px var(--purple-100);}
  .form-input.invalid{border-color:var(--red-600);}
  .form-input.invalid:focus{box-shadow:0 0 0 3px var(--red-50);}
  .form-error{font-size:11.3px; color:var(--red-600); min-height:14px; display:block;}
  .modal-actions{display:flex; justify-content:flex-end; gap:10px; margin-top:6px;}
  .btn-secondary {
  background:var(--ink-100);
  color:var(--ink-700);
  border:none;
}
  .btn-secondary:hover{background:var(--ink-300);}
  .btn-danger {
  background:var(--red-600);
  color:#fff;
  border:none;
}
  .btn-danger:hover{background:#b91c1c;}

  /* Account Settings Modal */
  .modal-acct{max-width:660px; padding:0; overflow:hidden; display:flex; flex-direction:column; max-height:86vh;}
  .acct-modal-head{display:flex; align-items:center; justify-content:space-between; padding:20px 22px 0; flex-shrink:0;}
  .acct-tabs{display:flex; gap:16px; overflow-x:auto; padding:16px 22px 0; scrollbar-width:thin; border-bottom:1px solid var(--border); flex-shrink:0;}
  .acct-tab{white-space:nowrap; padding:0 0 12px; border-radius:0; font-size:12.8px; font-weight:600; color:var(--ink-500); background:transparent; border:none; border-bottom:2px solid transparent; transition:color .15s ease, border-color .15s ease; flex-shrink:0;}
  .acct-tab:hover{color:var(--ink-900);}
  .acct-tab.active{color:var(--purple-600); border-color:var(--purple-600);}
  .acct-body{padding:22px; overflow-y:auto;}
  .acct-panel{display:none;}
  .acct-panel.active{display:block; animation:acctFade .16s ease;}
  @keyframes acctFade{from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:translateY(0);}}

  .acct-photo-row{display:flex; align-items:center; gap:16px; margin-bottom:20px;}
  .acct-photo{width:64px;height:64px;border-radius:16px; background:linear-gradient(135deg,var(--purple-100),var(--purple-200)); color:var(--purple-700); display:flex;align-items:center;justify-content:center; font-weight:700; font-size:20px; flex-shrink:0;}
  .acct-photo-btns{display:flex; gap:8px;}

  .acct-row{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 0; border-bottom:1px solid var(--border);}
  .acct-row:last-child{border-bottom:none;}
  .acct-row-text b{font-size:13.2px; font-weight:600; display:block;}
  .acct-row-text p{margin:2px 0 0; font-size:12px; color:var(--ink-500);}

  .acct-pw-form{display:flex; flex-direction:column; gap:12px; padding:2px 0 16px; border-bottom:1px solid var(--border); animation:acctFade .16s ease;}
  .acct-pw-form .modal-actions{margin-left:0; justify-content:flex-end;}

  .acct-provider-row{display:flex; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid var(--border);}
  .acct-provider-row:last-child{border-bottom:none;}
  .acct-provider-ic{width:36px;height:36px;border-radius:10px; background:var(--ink-100); display:flex;align-items:center;justify-content:center; flex-shrink:0; font-weight:700; font-size:13px; color:var(--ink-700);}
  .acct-provider-name{font-size:13.2px; font-weight:600;}
  .acct-provider-status{font-size:11.3px; margin-top:1px;}
  .acct-provider-status.connected{color:var(--green-600);}
  .acct-provider-status.notconnected{color:var(--ink-500);}
  .acct-provider-action{margin-left:auto;}
  .btn-connect { background:var(--purple-50); color:var(--purple-600); border:none; transition:background .15s ease; }
  .btn-connect:hover{background:var(--purple-100);}
  .btn-disconnect { background:var(--ink-100); color:var(--ink-700); border:none; transition:background .15s ease; }
  .btn-disconnect:hover{background:var(--ink-300);}

  .acct-device-row{display:flex; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid var(--border);}
  .acct-device-row:last-child{border-bottom:none;}
  .acct-device-ic{width:36px;height:36px;border-radius:10px; background:var(--ink-100); color:var(--ink-700); display:flex;align-items:center;justify-content:center; flex-shrink:0;}
  .acct-device-ic svg{width:17px;height:17px;}
  .acct-device-name{font-size:13.2px; font-weight:600; display:flex; align-items:center; gap:8px;}
  .acct-device-meta{font-size:11.3px; color:var(--ink-500); margin-top:1px;}
  .acct-device-current{font-size:9.3px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; background:var(--green-50); color:var(--green-600); padding:2px 8px; border-radius:20px;}
  .acct-devices-actions{margin-top:6px;}

  .acct-section-title{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-500); margin:0 0 4px;}

  /* ---------- Business setup wizard modal ---------- */
  .modal-setup{max-width:680px; padding:0;}
  .modal-setup .modal-head{padding:22px 26px 0; margin-bottom:0;}
  .modal-setup .wizard-body{padding:22px 26px 26px;}

