/* PlusOne public design system: colors come from the existing site settings.
   No new brand palette; the dashboard's rounded cards, glass surfaces and spacing
   are carried into public pages. Intentionally no colored left-border accents. */
body.public-page{--lp-brand:var(--po-green);--lp-brand-deep:var(--po-green-dark);--lp-soft:var(--po-green-soft);--lp-bg:var(--po-bg);--lp-ink:var(--po-text);--lp-muted:var(--po-muted);--lp-border:var(--po-line);--lp-surface:#fff;background:var(--lp-bg);color:var(--lp-ink);font-family:Inter,Poppins,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.public-page *{box-sizing:border-box}
body.public-page a:focus-visible,body.public-page button:focus-visible,body.public-page input:focus-visible,body.public-page summary:focus-visible{outline:3px solid var(--lp-brand);outline-offset:3px}
.public-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--lp-border);box-shadow:0 2px 14px rgba(19,52,27,.04)}
.public-nav{width:min(1200px,calc(100% - 40px));height:78px;gap:34px}
.public-brand img{width:auto;height:46px;max-width:175px;object-fit:contain}
.public-links{display:flex;align-items:center;gap:5px}
.public-links a{padding:12px 15px;border-radius:12px;transition:background .2s,color .2s;color:var(--lp-muted);font-weight:700;font-size:13px}
.public-links a:hover,.public-links a:focus-visible{background:var(--lp-soft);color:var(--lp-brand-deep)}
.public-actions{gap:10px}
.public-btn{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:13px;white-space:nowrap;font-weight:800;font-size:13px;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.public-btn:hover{transform:translateY(-1px)}
.public-btn-primary{background:var(--lp-brand);color:white!important;box-shadow:0 8px 22px color-mix(in srgb,var(--lp-brand) 20%,transparent)}
.public-btn-primary:hover{background:var(--lp-brand-deep)}
.public-btn-ghost{background:#fff;color:var(--lp-ink)!important;border:1px solid var(--lp-border)}
.public-mobile-menu{background:var(--lp-surface)}
.public-footer{margin-top:0;background:#122318;color:#e0ece3;padding:74px max(22px,calc((100% - 1200px)/2)) 26px;border-radius:0}
.public-footer-grid{grid-template-columns:minmax(220px,1.9fr) repeat(3,minmax(120px,1fr));gap:42px}
.public-footer-brand img{height:47px;filter:brightness(0) invert(1)}
.public-footer-brand p{color:#c1d3c4;max-width:340px;font-size:13px;line-height:1.75;margin:18px 0}
.footer-signal{font-size:12px;color:#d9ecd9;display:inline-flex;gap:9px;align-items:center}
.footer-signal i{color:#9cd79a}
.public-footer .footer-link-group{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.public-footer h4{margin:4px 0 5px;font-size:13px;font-weight:800;color:#fff}
.public-footer a{font-size:12px;color:#d1ded3;line-height:1.4}
.public-footer a:hover{color:#fff;text-decoration:underline}
.public-footer-bottom{border-top:1px solid rgba(255,255,255,.13);color:#a6bbab;margin-top:56px;padding-top:22px;gap:18px}
/* Customer-auth pages: preserve all existing forms and JS, but rebuild the surrounding structure. */
body.public-page.auth-public{background:var(--lp-bg)}
body.public-page.auth-public .login-container,body.public-page.auth-public .register-container,body.public-page.auth-public .forgot-container,body.public-page.auth-public .delete-container{width:min(1160px,calc(100% - 40px));margin:34px auto 46px;min-height:unset;border-radius:27px;border:1px solid var(--lp-border);box-shadow:0 24px 70px rgba(23,49,27,.085);grid-template-columns:minmax(300px,.88fr) minmax(400px,1.12fr);overflow:hidden;background:white}
body.public-page.auth-public .brand-panel{background:radial-gradient(70% 75% at 100% 0%,rgba(255,255,255,.15),transparent 80%),linear-gradient(145deg,var(--lp-brand),var(--lp-brand-deep));padding:52px clamp(26px,4vw,54px);min-height:540px;display:flex;flex-direction:column;justify-content:center;color:white}
body.public-page.auth-public .brand-panel *{color:inherit}
body.public-page.auth-public .brand-logo{max-width:190px}
body.public-page.auth-public .brand-logo img{max-width:175px;max-height:64px;object-fit:contain;filter:brightness(0) invert(1)}
body.public-page.auth-public .brand-title{font-size:clamp(26px,3vw,36px);line-height:1.14;letter-spacing:-.035em;font-weight:800}
body.public-page.auth-public .brand-description{font-size:14px;line-height:1.8;max-width:350px;opacity:.9}
body.public-page.auth-public .feature-list{gap:16px;margin-top:30px}
body.public-page.auth-public .feature-item{gap:12px;font-size:13px;line-height:1.5}
body.public-page.auth-public .form-panel,body.public-page.auth-public .delete-form-container{padding:clamp(28px,4vw,52px);background:#fff;align-self:center}
body.public-page.auth-public .form-header{text-align:left;margin-bottom:23px}
body.public-page.auth-public .form-header h2{font-size:clamp(24px,2.8vw,31px);line-height:1.2;letter-spacing:-.035em;font-weight:800;color:var(--lp-ink)}
body.public-page.auth-public .form-header p{font-size:13px;line-height:1.7;color:var(--lp-muted)}
body.public-page.auth-public .form-control{border:1px solid var(--lp-border);background:var(--lp-bg);border-radius:13px;min-height:52px;transition:box-shadow .18s,border-color .18s}
body.public-page.auth-public .form-control:focus{border-color:var(--lp-brand);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--lp-brand) 10%,transparent)}
body.public-page.auth-public .btn-login,body.public-page.auth-public .btn-register,body.public-page.auth-public .btn-delete{background:var(--lp-brand);border:none;border-radius:13px;min-height:51px;box-shadow:none}
body.public-page.auth-public .btn-login:hover,body.public-page.auth-public .btn-register:hover{background:var(--lp-brand-deep)}
body.public-page.auth-public .reason-option{border-color:var(--lp-border);background:var(--lp-bg)}
body.public-page.auth-public .form-check a,body.public-page.auth-public .form-options a,body.public-page.auth-public .login-link a{color:var(--lp-brand-deep)}
/* Legal and account policy pages, matching the card structure of the dashboard */
body.public-page .page-header{padding:78px 20px 38px;background:radial-gradient(35% 70% at 85% 0%,var(--lp-soft),transparent 90%),var(--lp-bg);text-align:center}
body.public-page .page-header h1{font-weight:800;font-size:clamp(32px,5vw,50px);letter-spacing:-.045em;line-height:1.12;color:var(--lp-ink)}
body.public-page .page-header p{color:var(--lp-muted);line-height:1.7;max-width:680px;margin:auto}
body.public-page .content-section{padding:18px 0 85px}
body.public-page .content-card{max-width:100%;padding:clamp(25px,4.5vw,50px);border-radius:26px;background:white;border:1px solid var(--lp-border);box-shadow:0 18px 55px rgba(17,56,29,.055)}
body.public-page .content-card h2{color:var(--lp-ink);letter-spacing:-.025em}
body.public-page .content-card h3{color:var(--lp-ink)}
body.public-page .content-card p,body.public-page .content-card li{color:#586a5d}
body.public-page .content-card a{color:var(--lp-brand)}
body.public-page .highlight-box,body.public-page .info-box{border:1px solid var(--lp-border);background:var(--lp-soft);border-radius:16px}
body.public-page .warning-box,body.public-page .danger-box{border:1px solid #f5d6d2;border-radius:16px}
body.public-page .btn-request{border-radius:13px;background:var(--lp-brand)}
.logout-stage{max-width:580px;width:calc(100% - 40px);margin:64px auto 90px}
.logout-card{border:1px solid var(--lp-border);border-radius:26px;background:white;padding:clamp(28px,5vw,46px);text-align:center;box-shadow:var(--po-shadow)}
.logout-emblem{width:66px;height:66px;display:grid;place-items:center;background:var(--lp-soft);border-radius:20px;color:var(--lp-brand);margin:0 auto 20px;font-size:27px}
.logout-card h1{font-size:27px;letter-spacing:-.03em;margin:0 0 12px}
.logout-card p{color:var(--lp-muted);font-size:14px;line-height:1.75}
.logout-card form{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:26px}
.logout-card button{cursor:pointer}
@media(max-width:1080px){.public-links{gap:0}.public-links a{padding:12px 9px}.public-nav{gap:16px}.public-footer-grid{gap:26px}}
@media(max-width:820px){.public-links{display:none}.public-nav{width:calc(100% - 28px);height:70px}.public-actions>.public-btn{display:none}.public-menu-btn{display:inline-flex;align-items:center;justify-content:center}.public-mobile-menu.open{display:flex;flex-direction:column;padding:10px 18px 20px;gap:4px}.public-mobile-menu>a{padding:12px 14px;border-radius:10px}.public-mobile-menu>a:hover{background:var(--lp-soft)}.public-mobile-menu>div{margin-top:8px;display:flex;gap:10px}.public-mobile-menu>div .public-btn{flex:1}.public-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.public-footer-brand{grid-column:1/-1}body.public-page.auth-public .login-container,body.public-page.auth-public .register-container,body.public-page.auth-public .forgot-container,body.public-page.auth-public .delete-container{grid-template-columns:1fr;width:calc(100% - 24px);margin:18px auto 34px}body.public-page.auth-public .brand-panel{display:none}body.public-page.auth-public .form-panel,body.public-page.auth-public .delete-form-container{padding:30px clamp(17px,5vw,32px)}body.public-page .page-header{padding:50px 14px 24px}body.public-page .content-section{padding-bottom:50px}}
@media(max-width:460px){.public-footer{padding:44px 22px 24px}.public-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-footer-bottom{flex-direction:column;gap:10px}.public-brand img{max-width:145px;height:40px}.logout-card form{flex-direction:column}.logout-card form .public-btn{width:100%}}
@media(prefers-reduced-motion:reduce){body.public-page *,body.public-page *::before,body.public-page *::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}
