/* Sign-in and sign-up (owner mockups 1 and 2, 10/2026). One look for both
   pages, and for every role: there is one sign-in page for everyone. */
/* The page these sit on has its own background; on these screens it is cream, edge to edge. */
body:has(> #root > .ga){margin:0;background:#FAF7F2;}
.ga{--navy:#033D50;--gold:#C9A44A;--gold-ink:#9A7430;--cream:#FAF7F2;--edge:#ECE4D6;--edge2:#E1D7C5;--ink:#1B2A33;--mut:#4F6470;--wash:#F6EFE2;--danger:#B5462E;
  min-height:100vh;background:var(--cream);font-family:'DM Sans','Inter',system-ui,sans-serif;color:var(--ink);display:flex;flex-direction:column;}
.ga *{box-sizing:border-box;font-family:inherit;}
.ga-main{flex:1;width:100%;max-width:440px;margin:0 auto;padding:34px 22px 24px;}
.ga-logo{display:block;height:56px;margin:0 auto 26px;}
.ga h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;color:var(--navy);font-size:40px;line-height:1.05;margin:0;}
.ga .lead{font-size:16px;color:var(--mut);margin:6px 0 22px;}
.ga label.fl{display:block;font-size:13px;font-weight:600;color:var(--navy);margin:14px 0 6px;}
.ga input[type=text],.ga input[type=email],.ga input[type=password],.ga input[type=tel],.ga input[type=date],.ga select{
  width:100%;background:#fff;border:1.5px solid var(--edge2);border-radius:12px;padding:14px 15px;font-size:16px;color:var(--ink);}
.ga input:focus,.ga select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(3,61,80,.1);}
.ga .pw{position:relative;}
.ga .pw button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--navy);padding:8px;cursor:pointer;font-size:13px;font-weight:600;}
.ga .row{display:flex;align-items:center;justify-content:space-between;margin:14px 0 4px;}
.ga .chk{display:flex;align-items:center;gap:9px;font-size:15px;color:var(--ink);cursor:pointer;}
.ga .chk input{width:20px;height:20px;accent-color:var(--gold);margin:0;}
.ga .btn{display:block;width:100%;border:none;border-radius:12px;padding:15px;font-size:16px;font-weight:600;cursor:pointer;margin-top:18px;text-align:center;text-decoration:none;}
.ga .btn.navy{background:var(--navy);color:#fff;box-shadow:0 8px 20px -10px rgba(3,61,80,.7);}
.ga .btn.line{background:#fff;color:var(--navy);border:1.5px solid var(--gold);}
.ga .btn:disabled{opacity:.55;cursor:default;}
.ga .link{background:none;border:none;color:var(--navy);font-weight:600;font-size:15px;cursor:pointer;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px;padding:0;}
.ga .center{text-align:center;margin-top:14px;}
.ga .help{text-align:center;font-size:15px;color:var(--mut);margin-top:18px;}
.ga .help a{color:var(--navy);font-weight:600;}
.ga .err{background:#fdecea;border:1px solid rgba(181,70,46,.3);color:var(--danger);border-radius:12px;padding:12px 14px;font-size:14px;margin:6px 0 4px;}
.ga .ok{background:#EEF5EF;border:1px solid #D3E6D7;color:#2E5E45;border-radius:12px;padding:12px 14px;font-size:14px;margin:6px 0 4px;}
.ga .hint{font-size:13px;color:var(--mut);margin-top:6px;}
/* the photo at the foot of the page, fading up into the cream */
.ga-foot{height:190px;background:linear-gradient(to bottom,#FAF7F2 0%,rgba(250,247,242,.35) 45%,rgba(250,247,242,0) 100%),url('/banners/banner-portal-sm.jpg') 40% 70% / cover no-repeat;position:relative;}
.ga-foot p{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-size:12px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);margin:0;}
/* sign-up stepper */
.ga .steps{display:flex;justify-content:space-between;margin:4px 0 22px;position:relative;}
.ga .steps::before{content:"";position:absolute;top:16px;left:12%;right:12%;height:2px;background:var(--edge2);}
.ga .st{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;font-size:12.5px;color:var(--mut);font-weight:600;}
.ga .st b{width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid var(--edge2);display:flex;align-items:center;justify-content:center;color:var(--mut);font-size:14px;}
.ga .st.on b{background:var(--navy);border-color:var(--navy);color:#fff;}
.ga .st.done b{background:var(--gold);border-color:var(--gold);color:#fff;}
.ga .st.on{color:var(--navy);}
.ga .card{background:#fff;border:1px solid var(--edge);border-radius:18px;padding:20px 18px;box-shadow:0 6px 18px -12px rgba(3,61,80,.25);}
.ga h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;color:var(--navy);font-size:26px;margin:0 0 4px;}
.ga .opt{display:flex;align-items:center;gap:10px;border:1.5px solid var(--edge2);border-radius:12px;padding:13px 14px;margin-top:9px;cursor:pointer;background:#fff;font-size:15px;}
.ga .opt.on{border-color:var(--gold);background:var(--wash);}
.ga .opt input{accent-color:var(--navy);width:19px;height:19px;margin:0;}
.ga .two{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ga .three{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:10px;}
.ga .nav2{display:flex;gap:10px;}
.ga .nav2 .btn{flex:1;}
.ga .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
@media (min-width:1024px){
  .ga{flex-direction:row;}
  .ga-main{display:flex;flex-direction:column;justify-content:center;max-width:none;width:520px;padding:48px 64px;background:var(--cream);}
  .ga-logo{margin:0 0 30px;align-self:flex-start;width:auto;}
  .ga-foot{flex:1;height:auto;background:linear-gradient(90deg,#FAF7F2 0%,rgba(250,247,242,0) 30%),url('/banners/banner-portal.jpg') 60% center / cover no-repeat;}
}
