.auth-page,.account-page{padding:56px 0 80px;background:var(--canvas)}
.auth-shell{max-width:520px;margin:0 auto;background:#fff;border:1px solid var(--line);padding:34px;box-shadow:0 18px 45px rgba(32,38,59,.1)}
.auth-shell h1,.account-page h1{font-family:'Fraunces',serif;color:var(--ink)}
.auth-lead{color:rgba(32,38,59,.68);line-height:1.6;margin-bottom:24px}
.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.auth-field{margin-bottom:15px}.auth-field label{display:block;font-weight:600;color:var(--ink);margin-bottom:6px}.auth-field input{width:100%;height:48px;border:1px solid var(--line);background:#fff;padding:0 13px;color:var(--ink)}
.auth-field input:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(226,84,43,.12)}
.auth-button{width:100%;border:0;background:var(--navy);color:#fff;min-height:48px;padding:0 20px;font:600 13px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}
.auth-button:hover{background:var(--coral)}
.auth-switch{text-align:center;margin:18px 0 0;color:rgba(32,38,59,.7)}.auth-switch a{color:var(--coral);font-weight:700}
.auth-alert{padding:12px 14px;margin-bottom:17px;border-left:4px solid}.auth-alert.error{background:#fff4ef;border-color:var(--coral);color:#8e2d14}.auth-alert.success{background:#eef8f3;border-color:var(--teal);color:#195447}
.account-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.account-head p{margin:0;color:rgba(32,38,59,.65)}
.account-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px}.account-card{background:#fff;border:1px solid var(--line);padding:24px;margin-bottom:20px}.account-card h2{font-size:24px;margin-bottom:16px}.account-card h3{font-size:19px;margin-bottom:12px}
.order-card{border:1px solid var(--line);background:#fff;margin-bottom:16px}.order-head{display:flex;justify-content:space-between;gap:16px;padding:17px 18px;background:var(--canvas-deep);border-bottom:1px solid var(--line)}.order-head strong{display:block}.order-meta{font-size:12px;color:rgba(32,38,59,.62);margin-top:3px}.order-status{font:600 11px 'IBM Plex Mono',monospace;text-transform:uppercase;padding:7px 10px;height:max-content;border:1px solid var(--line)}.order-status.paid,.order-status.completed{color:#fff;background:var(--teal);border-color:var(--teal)}.order-status.pending{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.order-items{padding:8px 18px}.order-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:13px;align-items:center;padding:12px 0;border-bottom:1px dashed var(--line)}.order-item:last-child{border:0}.order-item img{width:58px;height:58px;object-fit:cover;background:var(--canvas-deep)}.order-item small{display:block;color:rgba(32,38,59,.58);margin-top:4px}.download-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;background:var(--coral);color:#fff!important;font:600 11px 'IBM Plex Mono',monospace;text-transform:uppercase;white-space:nowrap}.download-unavailable{font-size:11px;color:rgba(32,38,59,.55);text-align:right}.security-note{font-size:12px;line-height:1.6;background:var(--canvas-deep);padding:13px;border-left:3px solid var(--teal)}
@media(max-width:900px){.account-layout{grid-template-columns:1fr}.account-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:16px}.account-sidebar .account-card{margin:0}}
@media(max-width:600px){.auth-page,.account-page{padding:34px 0 55px}.auth-shell{padding:24px 18px}.auth-grid{grid-template-columns:1fr}.account-head{align-items:flex-start;flex-direction:column}.account-sidebar{grid-template-columns:1fr}.account-card{padding:18px}.order-head{align-items:flex-start;flex-direction:column}.order-item{grid-template-columns:50px minmax(0,1fr)}.order-item img{width:50px;height:50px}.order-item .download-btn,.order-item .download-unavailable{grid-column:1/-1;width:100%;text-align:center}.order-items{padding:6px 14px}}

.auth-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.auth-label-row label{margin-bottom:0}.auth-forgot{font-size:12px;font-weight:700;color:var(--coral)}.auth-forgot:hover{text-decoration:underline}.otp-input{text-align:center;font:700 24px 'IBM Plex Mono',monospace;letter-spacing:.28em;padding-left:.28em!important}
