/* Responsive client billing portal UI */
:root{--gop-blue:#2563eb;--gop-purple:#6d5dfc;--gop-text:#111827;--gop-muted:#6b7280;--gop-border:#e6e8ed;--gop-surface:#fff;--gop-soft:#f7f8fa}
.gop-portal,.gop-login-wrap{width:min(1100px,calc(100% - 32px));margin:30px auto;padding:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--gop-text);box-sizing:border-box}
.gop-portal *,.gop-login-wrap *{box-sizing:border-box}
.gop-portal-head{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #ececf1;padding:12px 0 18px;margin-bottom:25px}.gop-portal-head>div{display:flex;flex-direction:column;min-width:0}.gop-portal-head span{font-weight:900;letter-spacing:1px}.gop-portal-head small{color:var(--gop-muted)}.gop-portal-head>a{color:var(--gop-purple);text-decoration:none;font-weight:700;overflow-wrap:anywhere}
.gop-pill{display:inline-flex;align-items:center;width:max-content;max-width:100%;background:#f0edff;color:#5d4ff0;border-radius:99px;padding:7px 11px;font-size:11px;font-weight:800;letter-spacing:1px}.gop-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0}.gop-welcome>div:first-child{min-width:0}.gop-welcome h1{font-size:clamp(26px,4vw,34px);line-height:1.15;margin:9px 0;overflow-wrap:anywhere}.gop-welcome p{color:var(--gop-muted);margin:0;line-height:1.55}.gop-outline,.gop-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:10px;padding:12px 18px;font-weight:800;min-height:44px;white-space:nowrap}.gop-outline{border:1px solid #d8dbe2;color:var(--gop-text);background:#fff}.gop-btn{background:var(--gop-blue);color:#fff;border:0;cursor:pointer}
.gop-portal-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:18px}.gop-panel,.gop-login-card{background:var(--gop-surface);border:1px solid var(--gop-border);border-radius:18px;padding:22px;margin-bottom:18px;box-shadow:0 8px 28px rgba(20,20,40,.05);min-width:0}.gop-panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.gop-panel-title h2{margin:0 0 4px;font-size:20px;line-height:1.3}.gop-panel-title span{color:var(--gop-muted);font-size:13px}.gop-status{background:#eaf8ef;color:#137333!important;padding:6px 10px;border-radius:99px;font-weight:800;white-space:nowrap}
.gop-sub-main{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px}.gop-sub-main div{background:var(--gop-soft);border-radius:12px;padding:14px;min-width:0}.gop-sub-main small{display:block;color:#737782;font-size:10px;font-weight:800}.gop-sub-main strong{display:block;margin-top:7px;font-size:17px;overflow-wrap:anywhere}
.gop-invoices{display:grid;gap:9px;margin-top:15px}.gop-invoice{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;border:1px solid #eee;padding:11px;border-radius:11px;min-width:0}.gop-invoice>div{min-width:0}.gop-invoice strong{overflow-wrap:anywhere}.gop-invoice small{display:block;color:#777;margin-top:3px}.gop-invoice a{font-weight:800;color:#5d4ff0;text-decoration:none;white-space:nowrap}
.gop-updates{margin-top:16px}.gop-updates article{display:grid;grid-template-columns:80px minmax(0,1fr);gap:18px;padding:17px 0;border-top:1px solid #eee}.gop-update-date{font-weight:900;font-size:17px}.gop-update-date small{display:block;color:#777;font-size:11px}.gop-update-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.gop-update-top h3{margin:0;overflow-wrap:anywhere}.gop-update-top span{font-size:11px;background:#f1f3f6;border-radius:99px;padding:6px 9px;height:max-content;white-space:nowrap}.gop-update-body{min-width:0}.gop-update-body p{margin:8px 0;color:#4b5563;line-height:1.6;overflow-wrap:anywhere}.gop-contact{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#111827;color:#fff;border-radius:16px;padding:18px}.gop-contact span{overflow-wrap:anywhere}.gop-contact a{color:#fff;background:var(--gop-blue);padding:9px 13px;border-radius:9px;text-decoration:none;white-space:nowrap}
.gop-login-wrap{max-width:560px}.gop-login-card h1{font-size:clamp(27px,6vw,32px);line-height:1.2}.gop-login-card p{line-height:1.6;color:var(--gop-muted)}.gop-login-card label{display:block;font-weight:700;font-size:13px;margin:14px 0}.gop-login-card input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px;min-height:44px;border:1px solid #d8dbe2;border-radius:10px;font-size:16px}.gop-login-card .gop-btn{width:100%;margin-top:8px}.gop-error{background:#fff0f0;color:#a61b1b;border:1px solid #ffd1d1;border-radius:10px;padding:10px;margin:15px 0}.gop-empty{padding:18px 0;color:var(--gop-muted)}
.gop-team-list{display:grid;gap:12px}.gop-team-row{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(100px,1fr)) minmax(80px,.7fr);gap:16px;align-items:center;padding:16px;border:1px solid #e8e9ee;border-radius:14px;background:#fff}.gop-team-row>div{display:flex;flex-direction:column;gap:5px;min-width:0}.gop-team-row small{color:#737782;font-size:11px;letter-spacing:.08em}.gop-team-row strong{font-size:14px;overflow-wrap:anywhere}.gop-team-row .gop-team-row-email{overflow-wrap:anywhere}.gop-invoice a{white-space:nowrap}
@media (max-width:1024px){.gop-portal,.gop-login-wrap{width:min(100% - 28px,1000px)}.gop-portal-grid{grid-template-columns:minmax(0,1fr)}.gop-team-row{grid-template-columns:repeat(2,minmax(0,1fr))}.gop-team-row>div:first-child{grid-column:1/-1}}
@media (max-width:768px){.gop-portal,.gop-login-wrap{width:calc(100% - 24px);margin:20px auto}.gop-portal-head{margin-bottom:18px;padding-bottom:14px}.gop-portal-head>a{font-size:13px}.gop-welcome{align-items:stretch;flex-direction:column}.gop-welcome .gop-outline{width:100%}.gop-sub-main{grid-template-columns:1fr 1fr}.gop-panel,.gop-login-card{padding:18px;border-radius:15px}.gop-contact{align-items:stretch;flex-direction:column}.gop-contact a{display:flex;justify-content:center}.gop-update-top{flex-direction:column}.gop-update-top span{width:max-content}.gop-invoice{grid-template-columns:minmax(0,1fr) auto}.gop-invoice a{grid-column:1/-1;width:100%;text-align:center;background:#f0edff;padding:9px;border-radius:8px}}
@media (max-width:480px){.gop-portal,.gop-login-wrap{width:calc(100% - 18px);margin:14px auto}.gop-portal-head{align-items:flex-start;flex-direction:column;gap:7px}.gop-portal-head>a{font-size:12px}.gop-welcome h1{font-size:25px}.gop-sub-main{grid-template-columns:1fr}.gop-panel,.gop-login-card{padding:15px}.gop-panel-title{flex-direction:column}.gop-status{align-self:flex-start}.gop-updates article{grid-template-columns:1fr;gap:8px}.gop-update-date{font-size:15px}.gop-team-row{grid-template-columns:1fr;gap:11px}.gop-team-row>div:first-child{grid-column:auto}.gop-contact{padding:15px}.gop-outline,.gop-btn{width:100%}}


/* v1.6.0 responsive hardening: isolate the portal from theme styles */
.gop-portal,.gop-login-wrap{max-width:1100px!important;width:calc(100% - 40px)!important;margin:28px auto!important;min-width:0!important;}
.gop-portal *,.gop-login-wrap *{min-width:0;box-sizing:border-box;}
.gop-portal-grid{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;gap:18px!important;align-items:start!important;}
.gop-portal-grid>.gop-panel{width:100%;max-width:100%;}
.gop-invoices{display:flex!important;flex-direction:column!important;width:100%;min-width:0;}
.gop-invoice{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;width:100%!important;max-width:100%!important;overflow-wrap:normal!important;word-break:normal!important;}
.gop-invoice>div{flex:1 1 160px!important;min-width:0!important;overflow-wrap:anywhere!important;}
.gop-invoice>strong{flex:0 1 auto;white-space:normal;}
.gop-invoice a{flex:0 0 auto;white-space:normal!important;overflow-wrap:normal!important;}
.gop-invoice small{overflow-wrap:anywhere;word-break:normal;}
.gop-sub-main strong{overflow-wrap:break-word!important;word-break:normal!important;line-height:1.35;}
.gop-login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 4px;font-size:13px;}
.gop-login-options a{color:#5145cd;font-weight:700;text-decoration:none;}
.gop-login-card .gop-login-options .gop-remember{display:flex;align-items:center;gap:7px;margin:0;font-weight:500;}
.gop-login-card .gop-login-options .gop-remember input{display:inline-block;width:17px;height:17px;min-height:17px;margin:0;}
.gop-login-card .gop-btn{min-height:48px;}
.gop-login-card form label:not(.gop-remember) input{width:100%;max-width:100%;}
@media(max-width:1100px){.gop-portal-grid{grid-template-columns:minmax(0,1fr)!important;}.gop-portal-grid>.gop-panel{grid-column:1/-1;}}
@media(max-width:768px){.gop-portal,.gop-login-wrap{width:calc(100% - 28px)!important;margin:18px auto!important;}.gop-portal-grid{grid-template-columns:minmax(0,1fr)!important;gap:0!important;}.gop-panel,.gop-login-card{padding:18px!important;border-radius:15px!important;}.gop-sub-main{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.gop-invoice{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;}.gop-invoice>div,.gop-invoice>strong,.gop-invoice>a{width:100%;max-width:100%;}.gop-invoice a{display:flex;justify-content:center;padding:11px;background:#f0edff;border-radius:9px;}.gop-welcome{display:flex!important;flex-direction:column!important;align-items:stretch!important;}.gop-welcome .gop-outline{width:100%;}.gop-updates article{grid-template-columns:60px minmax(0,1fr)!important;gap:12px!important;}}
@media(max-width:480px){.gop-portal,.gop-login-wrap{width:calc(100% - 20px)!important;margin:12px auto!important;}.gop-panel,.gop-login-card{padding:14px!important;}.gop-sub-main{grid-template-columns:minmax(0,1fr)!important;}.gop-panel-title{flex-direction:column;align-items:flex-start;}.gop-updates article{grid-template-columns:minmax(0,1fr)!important;}.gop-login-options{align-items:flex-start;flex-direction:column;}.gop-invoice{padding:12px!important;}.gop-team-row{grid-template-columns:minmax(0,1fr)!important;}}


/* v1.8.0: client portal is a clean standalone experience, without the theme's site chrome. */
body.gop-client-portal-page #wpadminbar,
body.gop-client-portal-page .site-header,
body.gop-client-portal-page #masthead,
body.gop-client-portal-page .main-navigation,
body.gop-client-portal-page #site-navigation,
body.gop-client-portal-page .elementor-location-header,
body.gop-client-portal-page .elementor-location-footer,
body.gop-client-portal-page .site-footer,
body.gop-client-portal-page #colophon,
body.gop-client-portal-page .site-info,
body.gop-client-portal-page .entry-header,
body.gop-client-portal-page .entry-title,
body.gop-client-portal-page .wp-block-post-title {
  display:none !important;
}
body.gop-client-portal-page,
body.gop-client-portal-page #page,
body.gop-client-portal-page .site,
body.gop-client-portal-page .site-content,
body.gop-client-portal-page .content-area,
body.gop-client-portal-page .site-main,
body.gop-client-portal-page .inside-article,
body.gop-client-portal-page .entry-content {
  margin-top:0 !important;
  padding-top:0 !important;
  max-width:none !important;
  width:100% !important;
}
body.gop-client-portal-page .inside-article,
body.gop-client-portal-page .entry-content { padding-left:0 !important; padding-right:0 !important; }
.gop-portal .gop-sub-main { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.gop-portal .gop-sub-main > div { padding:12px 10px; }
.gop-portal .gop-sub-main small { white-space:nowrap; letter-spacing:.025em; font-size:9px; }
.gop-portal .gop-sub-main strong { white-space:nowrap !important; word-break:normal !important; overflow-wrap:normal !important; font-size:13px; line-height:1.25; letter-spacing:-.02em; }
.gop-portal .gop-panel-title h2 { letter-spacing:-.025em; }
.gop-portal .gop-invoice { grid-template-columns:minmax(0,1fr) auto; }
.gop-portal .gop-invoice > div strong { display:block; line-height:1.35; }
.gop-portal .gop-invoice > strong { white-space:nowrap; font-size:13px; }
@media (max-width:900px) {
  .gop-portal-grid { grid-template-columns:minmax(0,1fr) !important; }
  .gop-portal .gop-sub-main { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .gop-portal .gop-sub-main { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .gop-portal .gop-sub-main strong { font-size:14px; }
  .gop-portal .gop-sub-main small { font-size:10px; }
}

/* Client password-reset flow */
.gop-success{background:#edfff2;color:#176b35;border:1px solid #bde8ca;border-radius:10px;padding:12px;margin:15px 0;line-height:1.5}.gop-auth-back{margin-top:18px!important;text-align:center}.gop-auth-back a{color:#4e46e5;font-weight:700;text-decoration:none}.gop-btn-link{display:flex;text-decoration:none;text-align:center;box-sizing:border-box}.gop-login-card form{margin-top:16px}.gop-login-card input[type=email],.gop-login-card input[type=password]{max-width:100%}

/* Client update downloads and monthly report controls */
.gop-monthly-download{display:flex;align-items:center;justify-content:flex-end;padding:14px 0 18px;border-bottom:1px solid #eee9f5;margin-bottom:12px}
.gop-monthly-download form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gop-monthly-download label{font-size:13px;font-weight:700;color:#35234f}
.gop-monthly-download input[type="month"]{min-height:42px;padding:8px 10px;border:1px solid #d9d0e7;border-radius:9px;background:#fff;max-width:100%;font:inherit}
.gop-monthly-download .gop-btn{min-height:42px;border:0;cursor:pointer}
.gop-update-download{margin:14px 0 0!important}
.gop-update-download .gop-outline{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:13px;padding:9px 13px;border-radius:9px}
@media(max-width:600px){.gop-monthly-download{justify-content:stretch}.gop-monthly-download form{width:100%;display:grid;grid-template-columns:1fr}.gop-monthly-download input[type="month"],.gop-monthly-download .gop-btn{width:100%;box-sizing:border-box}.gop-update-download .gop-outline{width:100%;box-sizing:border-box}}
