/* PrepStock 1.7: isolated layout, never redefine generic form/grid selectors. */
body #app main.auth{display:grid!important;place-items:center!important;min-height:100svh!important;width:100%!important;max-width:none!important;margin:0!important;padding:32px 20px!important;font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;background:radial-gradient(ellipse at 10% 0%,#e0ecd7,transparent 60%),#f5f7f1!important}
body #app .auth .authbox{display:block!important;width:min(440px,100%)!important;max-width:440px!important;min-width:0!important;margin:0!important}
body #app .auth .authbox .panel{display:block!important;width:100%!important;padding:30px!important;background:#fff!important;border:1px solid #dfe6db!important;border-radius:22px!important;box-shadow:0 18px 55px #143c2f0c!important}
body #app .auth .authbox .logo-mark{width:52px!important;height:52px!important;margin:0 0 20px!important;font-size:32px!important}
body #app .auth .authbox h1{font-size:29px!important;line-height:1.15!important;letter-spacing:-1px!important;margin:8px 0 12px!important;color:#173c30!important}
body #app .auth .authbox p{font-size:15px!important;line-height:1.55!important}
body #app .auth .authbox .eyebrow{color:#4d785b!important;font-size:11px!important}
body #app .auth .authbox form{display:block!important;width:100%!important;max-width:none!important;margin:24px 0 0!important;padding:0!important}
body #app .auth .authbox form .stack{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:17px!important;width:100%!important}
body #app .auth .authbox form .field{display:flex!important;flex-direction:column!important;width:100%!important;min-width:0!important;gap:7px!important;margin:0!important}
body #app .auth .authbox form label{display:block!important;font-size:13px!important;line-height:1.4!important;margin:0!important}
body #app .auth .authbox form input{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;min-height:48px!important;padding:11px 13px!important;font-size:16px!important;border:1px solid #c5d3c7!important;border-radius:11px!important}
body #app .auth .authbox form button[type=submit]{display:flex!important;width:100%!important;min-height:48px!important;justify-content:center!important;font-size:15px!important;margin-top:3px!important}
body #app .auth .authbox .hint{font-size:12px!important;line-height:1.6!important;margin-top:20px!important}
.ps17-root{font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#163d2e;margin:0 0 24px;min-width:0}.ps17-root *{box-sizing:border-box}.ps17-root h2{font:750 21px/1.25 system-ui,sans-serif;letter-spacing:-.5px;margin:0 0 18px}.ps17-root p{margin:8px 0}.ps17-root button{font:inherit;cursor:pointer}.ps17-banner{position:relative}.ps17-hero{display:grid;grid-template-columns:80px minmax(160px,1fr) minmax(220px,1.3fr);align-items:center;gap:22px;background:linear-gradient(120deg,#133c2e,#205740);color:#f7faef;border-radius:22px;padding:30px}.ps17-hero h2{font-size:34px;margin:4px 0}.ps17-hero p{color:#e4efda;font-size:14px}.ps17-eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:1.8px;font-weight:750}.ps17-pill{display:inline-block;background:#e4efce;color:#153e2d;border-radius:24px;padding:4px 12px;font-size:12px;font-weight:750}.ps17-track{height:11px;border-radius:20px;background:#ffffff30;overflow:hidden;margin:12px 0 5px}.ps17-track>span{display:block;height:100%;background:#bddb91;border-radius:20px}.ps17-progress>small{color:#d8e8ce}.ps17-progress strong{font-size:16px}.ps17-roadmap{margin-top:16px;padding:23px;border:1px solid #dfe5da;border-radius:20px;background:#fafbf7}.ps17-levels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.ps17-level{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px}.ps17-level strong{font-size:14px;border-radius:20px;padding:2px 9px}.ps17-level.is-current strong{background:#235f42;color:white}.ps17-level>span:not(.ps17-animal){font-size:11px}.ps17-level small{font-size:10px;color:#647468}.ps17-level.is-locked .ps17-animal{filter:grayscale(1);opacity:.5}.ps17-animal{display:inline-block;flex:none;width:72px;height:72px;border-radius:50%;background-repeat:no-repeat;background-size:864px 576px;background-color:#e7efda}.ps17-animal-0{background-position:-61.875px -250.875px}.ps17-animal-1{background-position:-194.625px -250.875px}.ps17-animal-2{background-position:-329.0625px -250.875px}.ps17-animal-3{background-position:-465.75px -250.875px}.ps17-animal-4{background-position:-603px -250.875px}.ps17-animal-5{background-position:-739.6875px -250.875px}.ps17-profile{display:inline-flex;align-items:center}.ps17-profile .ps17-animal{zoom:.5}.ps17-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ps17-badge{border:1px solid #e0e5dc;border-radius:14px;padding:15px;text-align:center;background:#f0f2ec;color:#69796c}.ps17-badge.is-earned{background:#e7f0de;border-color:#b9d5a9;color:#1b583a}.ps17-badge>span{display:block;font-size:28px;line-height:1.3}.ps17-badge strong{display:block;font-size:14px}.ps17-badge small{display:block;font-size:11px}.ps17-badge p{font-size:11px;line-height:1.5}.ps17-explain{margin-top:15px;color:#5c6f60;font-size:12px}.ps17-explain summary,.ps17-all>summary{cursor:pointer;padding:12px 0;font-weight:650}.ps17-all>summary{font-size:13px;color:#285b3f}.ps17-score-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e2e9de;padding:8px 0}.ps17-notice{display:flex;justify-content:space-between;align-items:center;background:#e7f1de;border:1px solid #bed3ad;border-radius:12px;padding:10px 15px;margin-bottom:12px}.ps17-close,.ps17-dismiss{border:0;background:transparent;color:inherit;font-size:23px!important}.ps17-dismiss{position:absolute;right:12px;top:6px;color:#edf6e6;z-index:1}.ps17-show{border:1px solid #c9d8c0;background:#edf4e6;color:#214f36;border-radius:12px;padding:12px 16px;text-align:left;width:100%;font-weight:650!important}.ps17-unavailable{font-size:13px;color:#6a766c;border:1px solid #e1e6dc;padding:12px;border-radius:12px}
@media(max-width:1000px){.ps17-hero{grid-template-columns:72px 1fr}.ps17-progress{grid-column:1/-1}.ps17-levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 10px}}
@media(max-width:520px){body #app main.auth{padding:24px 16px!important}body #app .auth .authbox .panel{padding:23px!important}.ps17-hero{padding:23px 20px;gap:15px;border-radius:17px}.ps17-hero h2{font-size:28px}.ps17-badges{grid-template-columns:repeat(2,minmax(0,1fr))}.ps17-roadmap{padding:18px 12px}.ps17-levels{gap:20px 6px}.ps17-level strong{font-size:12px}.ps17-level .ps17-animal{zoom:.85}.ps17-level>span:not(.ps17-animal){font-size:10px}.ps17-root h2{font-size:19px}}
@media print{.ps17-dismiss,.ps17-show,.ps17-close{display:none}.ps17-hero{background:#fff;color:#163d2e;border:1px solid #c7d5c0}.ps17-hero p{color:#163d2e}.ps17-root{break-inside:avoid}}
