.auth-page { display:grid; min-height:65vh; align-items:center; padding-block:4rem; }
.auth-layout { display:grid; grid-template-columns:1fr minmax(20rem,.8fr); gap:clamp(2rem,8vw,8rem); align-items:center; width:min(66rem,100%); margin-inline:auto; }
.auth-aside .serif-heading { margin:.2rem 0 1rem; font-size:clamp(2.7rem,5vw,4.7rem); line-height:1.03; }
.auth-aside > p:last-child { max-width:25rem; color:var(--muted); }
.auth-card { padding:clamp(1.4rem,4vw,2.6rem); background:var(--paper); }
.auth-card h2 { margin:0 0 .55rem; font:400 1.9rem var(--font-serif); }
.auth-card > p:not(.eyebrow) { color:var(--muted); font-size:.82rem; }
.auth-form { margin-top:1.5rem; }
.resend-form { margin-top:.8rem; }
.auth-return { margin-top:1rem; }
.account-layout { display:grid; grid-template-columns:14rem minmax(0,1fr); gap:clamp(2rem,7vw,6rem); padding-top:2rem; }
.account-nav { display:grid; align-content:start; gap:.35rem; }
.account-nav .eyebrow { margin-bottom:.5rem; }
.account-nav a { display:flex; justify-content:space-between; padding:.65rem 0; color:var(--muted); font-size:.78rem; }
.account-nav a.is-current { color:var(--ink); font-weight:600; }
.account-nav a span { color:var(--ink); }
.account-main { max-width:50rem; }
.payment-instructions { margin:1.5rem 0; padding:clamp(1.1rem,3vw,1.6rem); border:1px solid var(--line); background:var(--paper); }
.payment-instructions h2 { margin:.2rem 0 1rem; font:400 1.55rem var(--font-serif); }
.bank-details-list { margin:0; border-top:1px solid var(--line); }
.bank-details-list > div { display:grid; grid-template-columns:minmax(7rem,.55fr) minmax(0,1fr); gap:1rem; align-items:center; padding:.75rem 0; border-bottom:1px solid var(--line); }
.bank-details-list dt { color:var(--muted); font-size:.76rem; }
.bank-details-list dd { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; margin:0; font-size:.9rem; font-weight:600; overflow-wrap:anywhere; }
.copy-account-button { min-height:2.15rem; padding:.35rem .7rem; border:1px solid var(--line); border-radius:999px; background:var(--soft); color:var(--ink); font:600 .7rem var(--font-sans); cursor:pointer; transition:background .18s ease,border-color .18s ease; }
.copy-account-button:hover { background:var(--paper); border-color:var(--accent); }
.copy-account-button:focus-visible { outline:none; box-shadow:var(--focus); }
.copy-account-status { color:var(--muted); font-size:.7rem; font-weight:500; }
.payment-reference { margin:1rem 0 0; color:var(--muted); font-size:.78rem; line-height:1.7; }
.payment-reference strong { color:var(--ink); letter-spacing:.03em; }
.account-main > .page-title { font-size:clamp(2.7rem,5vw,4.3rem); }
.account-contact { display:flex; gap:1rem; justify-content:space-between; padding:1rem 0; border-block:1px solid var(--line); color:var(--muted); font-size:.78rem; }
.account-contact strong { color:var(--ink); font-weight:500; }
.account-shortcuts { margin-top:1rem; border-top:1px solid var(--line); }
.account-shortcuts a { display:flex; justify-content:space-between; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.account-shortcuts strong,.account-shortcuts small { display:block; }
.account-shortcuts strong { font-size:.85rem; font-weight:600; }
.account-shortcuts small { margin-top:.2rem; color:var(--muted); font-size:.71rem; }
.signout-form { margin-top:1.5rem; }
.empty-orders { padding:3rem 0; text-align:left; }
.empty-orders .serif-heading { font-size:2rem; }
.empty-orders .button { margin-top:.6rem; }
.preview-link { margin-top:1.3rem; font-size:.72rem; }
.preview-link a { text-decoration:underline; text-underline-offset:3px; }
.order-preview-heading { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1rem 0 2rem; }
.order-preview-heading .page-title { font-size:clamp(2.5rem,5vw,4rem); }
.order-preview-heading > div > p:last-child { color:var(--muted); }
.order-detail-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(16rem,.7fr); gap:2rem; align-items:start; }
.order-detail-main { display:grid; gap:1rem; }
.order-panel,.order-sidebar { padding:1.3rem; background:var(--paper); }
.order-panel > .eyebrow,.order-sidebar > .eyebrow { margin-bottom:.6rem; }
.order-panel h2 { margin:0 0 .5rem; font-size:1.15rem; }
.order-panel .muted { font-size:.75rem; }
.order-section-title { font:400 1.55rem var(--font-serif); }
.preview-mark { display:inline-block; margin-left:.35rem; color:var(--muted); font:500 .65rem var(--font-sans); letter-spacing:.03em; vertical-align:middle; }
.order-sidebar { position:sticky; top:6rem; }
.order-sidebar h2 { font:400 1.7rem var(--font-serif); }
.order-sidebar > p:not(.eyebrow) { color:var(--muted); font-size:.77rem; }
.document-preview-list { border-top:1px solid var(--line); }
.document-preview-list > div { display:flex; justify-content:space-between; gap:1rem; padding:.75rem 0; border-bottom:1px solid var(--line); font-size:.73rem; }
.document-preview-list strong { font-weight:600; }
.document-preview-list span { color:var(--muted); text-align:right; }
.account-main .admin-form { max-width:32rem; margin:1.5rem 0; }
.account-main .admin-form label { display:block; margin-bottom:.45rem; font-size:.77rem; font-weight:600; }
.account-main .admin-form input { display:block; width:100%; min-height:var(--control-height); margin:.45rem 0 .8rem; padding:.75rem .85rem; border:1px solid #d9d3c9; border-radius:var(--radius-sm); background:var(--paper); color:var(--ink); }
.account-main .admin-form input:focus-visible { outline:none; box-shadow:var(--focus); border-color:var(--accent); }
@media (max-width:700px) { .order-preview-heading { align-items:flex-start; flex-direction:column; gap:0; } .order-detail-grid { grid-template-columns:1fr; } .order-sidebar { position:static; } }
@media (max-width:700px) { .auth-layout { grid-template-columns:1fr; gap:1.4rem; } .auth-page { min-height:0; padding-block:2.5rem 4rem; } .auth-aside .serif-heading { font-size:2.7rem; } .account-layout { grid-template-columns:1fr; gap:1.5rem; padding-top:.7rem; } .account-nav { grid-template-columns:repeat(3,1fr); gap:.5rem; border-bottom:1px solid var(--line); } .account-nav .eyebrow { grid-column:1/-1; } .account-nav a { align-items:center; border-bottom:2px solid transparent; } .account-nav a.is-current { border-color:var(--accent); } }
