/* PAKSMM Auth structural CSS. Theme folders override palette/layout. */
:root{--auth-radius:24px;--auth-width:1180px}
html,body{min-height:100%}
body[data-paksmm-page="login.php"],body[data-paksmm-page="register.php"],body[data-paksmm-page="forgot-password.php"]{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.6}
.page-shell{min-height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden}
.page-shell::before,.page-shell::after{content:"";position:fixed;border-radius:50%;pointer-events:none;filter:blur(8px);z-index:0}.page-shell::before{width:540px;height:540px;right:-220px;top:-220px;background:radial-gradient(circle,color-mix(in srgb,var(--primary) 15%,transparent),transparent 70%)}.page-shell::after{width:420px;height:420px;left:-190px;bottom:-210px;background:radial-gradient(circle,color-mix(in srgb,var(--primary-2) 12%,transparent),transparent 70%)}
.container{width:min(var(--auth-width),92%);margin-inline:auto;position:relative;z-index:1}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-size:20px;font-weight:800;letter-spacing:-.035em}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--primary-2),var(--primary-dark));color:#fff;box-shadow:0 10px 25px color-mix(in srgb,var(--primary) 30%,transparent);overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:contain}.brand span,.grad-text{color:var(--primary)}.back-home{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:700;transition:.2s}.back-home:hover{color:var(--primary);transform:translateX(-2px)}
.auth-wrap{flex:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:68px;padding:38px 0 62px}.intro{position:relative}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 6px color-mix(in srgb,var(--primary) 12%,transparent)}.intro h1{margin:18px 0 0;font-family:var(--display);color:var(--text);font-size:clamp(2.2rem,4vw,3.55rem);line-height:1.12;letter-spacing:-.05em;font-weight:800}.grad-text{background:linear-gradient(92deg,var(--primary-2),var(--primary),var(--primary-dark));-webkit-background-clip:text;background-clip:text;color:transparent}.intro>p{color:var(--muted);font-size:1rem;max-width:580px;margin:19px 0 26px}.benefits{display:grid;gap:12px}.benefit{display:flex;align-items:center;gap:12px;color:var(--text);font-size:13px;font-weight:650}.benefit i{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);color:var(--primary);box-shadow:var(--shadow-sm)}
.auth-card{position:relative;background:color-mix(in srgb,var(--surface) 97%,transparent);border:1px solid var(--border);border-radius:var(--auth-radius);padding:36px;box-shadow:var(--shadow-lg);overflow:hidden;backdrop-filter:blur(20px)}.auth-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--primary-2),var(--primary),var(--primary-dark))}.card-head{display:flex;align-items:center;gap:14px;margin-bottom:23px}.card-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;flex-shrink:0;color:#fff;background:linear-gradient(135deg,var(--primary-2),var(--primary-dark));box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 30%,transparent);font-size:19px}.auth-card h2{margin:0;font-family:var(--display);font-size:1.62rem;color:var(--text);line-height:1.2;font-weight:800;letter-spacing:-.03em}.auth-sub{color:var(--muted);font-size:13.5px;margin:6px 0 24px}.card-head .auth-sub{margin:5px 0 0}.auth-card>.card-icon+.auth-sub{margin-top:8px}
.alert{padding:12px 14px;border-radius:12px;margin:0 0 17px;display:flex;align-items:flex-start;gap:9px;font-size:12.5px}.alert.error{background:#fff1f1;border:1px solid #ffd0d0;color:#a52828}.field{margin-bottom:15px}.field label{display:block;color:var(--text);font-size:12.5px;font-weight:700;margin-bottom:6px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.input-wrap{position:relative}.input-wrap>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px;pointer-events:none}.input-wrap input{width:100%;height:49px;padding:0 44px 0 41px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);outline:none;transition:.22s;font-size:14px}.input-wrap input::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}.input-wrap input:hover{border-color:color-mix(in srgb,var(--primary) 20%,var(--border))}.input-wrap input:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 11%,transparent)}.password-toggle{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--muted);display:grid;place-items:center}.password-toggle:hover{background:var(--primary-soft);color:var(--primary)}
.form-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:2px 0 21px}.remember{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12.5px;cursor:pointer}.remember input,.terms input{accent-color:var(--primary)}.forgot{color:var(--primary-dark);font-size:12.5px;font-weight:750}.terms{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:12px;margin:3px 0 20px;line-height:1.5}.terms input{width:15px;height:15px;margin-top:2px;flex-shrink:0}.terms a{color:var(--primary-dark);font-weight:750}.password-meter{display:flex;gap:5px;margin-top:8px}.password-meter span{height:3px;flex:1;border-radius:999px;background:var(--border);transition:.2s}.password-hint{color:var(--muted);font-size:10.5px;margin-top:5px}
.btn-primary{width:100%;min-height:50px;border:0;border-radius:13px;background:linear-gradient(135deg,var(--primary-2),var(--primary),var(--primary-dark));color:#fff;font-weight:780;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 30%,transparent);transition:.2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px color-mix(in srgb,var(--primary) 36%,transparent)}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11.5px;margin:20px 0}.divider::before,.divider::after{content:"";height:1px;background:var(--border);flex:1}.switch-auth{text-align:center;color:var(--muted);font-size:12.5px}.switch-auth a{color:var(--primary-dark);font-weight:780}.security-note{margin-top:16px;display:flex;justify-content:center;align-items:center;gap:7px;color:var(--muted);font-size:10.5px}.security-note i{color:var(--success)}.footer{padding:20px 0 26px;text-align:center;color:var(--muted);font-size:11.5px}
.recovery-shell{min-height:100dvh;display:grid;place-items:center;padding:28px}.recovery-card{width:min(520px,94vw);background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow-lg);padding:30px}.recovery-icon{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:20px;margin-bottom:18px}.recovery-card h1{font-family:var(--display);margin:0;color:var(--text);font-size:1.55rem}.recovery-card p{color:var(--muted);line-height:1.7;font-size:14px}.recovery-actions{display:flex;gap:10px;margin-top:22px}.recovery-actions a{flex:1}
@media(max-width:900px){.auth-wrap{grid-template-columns:1fr;gap:30px;padding-top:20px}.intro{text-align:center}.intro>p{margin-left:auto;margin-right:auto}.benefits{max-width:520px;margin:0 auto;text-align:left}.auth-card{max-width:620px;width:100%;margin:0 auto}.topbar{height:70px}}
@media(max-width:620px){.container{width:92%}.auth-card{padding:28px 20px;border-radius:20px}.intro h1{font-size:2rem}.grid-2{grid-template-columns:1fr}.form-row{align-items:flex-start;flex-direction:column}.topbar .brand{font-size:16px}.back-home span{display:none}.recovery-actions{flex-direction:column}}
.auth-card .alert{background:#fff1f1;border:1px solid #ffd0d0;color:#a52828}.auth-card .alert.is-hidden{display:none!important}
