.account-shell { padding-left:16px; padding-right:16px; }
.account-card { margin-top:18px; padding:20px; border:1px solid var(--line); border-radius:20px 5px 20px 5px; background:rgba(255,252,245,.72); box-shadow:0 5px 18px rgba(83,66,45,.045); }
.account-card h2 { margin:5px 0 8px; font-size:24px; }
.account-intro,.status-card p { margin:0 0 20px; color:var(--muted); font-size:12px; line-height:1.7; }
.login-card label { display:block; margin-top:14px; }
.login-card label>span:first-child { display:block; margin-bottom:7px; color:var(--muted); font-size:11px; }
.login-card input { width:100%; height:46px; padding:0 12px; color:var(--ink); border:1px solid var(--line); border-radius:9px; background:#fffaf0; font:14px Arial,sans-serif; outline:none; }
.address-form select { display:block; width:100%; height:46px; margin-top:8px; padding:0 9px; color:var(--ink); border:1px solid var(--line); border-radius:9px; background:#fffaf0; font:14px inherit; }
.login-card input:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(141,40,36,.07); }
.code-row { display:grid; grid-template-columns:1fr 108px; gap:9px; }
.code-row button { border:1px solid rgba(141,40,36,.22); border-radius:9px; color:var(--red); background:rgba(141,40,36,.06); cursor:pointer; }
.code-row button:disabled { opacity:.55; cursor:not-allowed; }
.account-primary { width:100%; height:48px; margin-top:8px; color:#fff8eb; border:0; border-radius:5px 14px 5px 14px; background:var(--red); font:15px inherit; cursor:pointer; box-shadow:0 8px 18px rgba(111,31,28,.18); }
.form-status { min-height:20px; margin:10px 0 0; color:var(--muted); font-size:11px; line-height:1.6; }
.form-status.error { color:var(--red); }
.account-agreement { margin:13px 0 0; color:#9a9084; font-size:10px; text-align:center; }
.profile-card { display:flex; align-items:center; gap:14px; }
.profile-link { position:relative; z-index:2; color:inherit; cursor:pointer; }
.profile-arrow { padding:0 5px; color:var(--red); font-size:28px; line-height:1; }
.invite-actions { display:grid; justify-items:start; gap:6px; margin-left:auto; }
.copy-invite { margin-right:auto; padding:6px 10px; color:var(--red); border:1px solid rgba(141,40,36,.16); border-radius:13px; background:rgba(141,40,36,.05); font-size:13px; cursor:pointer; }
.copy-invite b { font-family:Arial,sans-serif; letter-spacing:.3px; }
.invite-poster-link { padding:6px 10px; color:#fff8eb; border-radius:13px; background:var(--red); font-size:13px; white-space:nowrap; }
.profile-copy { display:flex; align-items:center; justify-content:space-between; gap:10px; flex:1; min-width:0; }
.profile-identity { display:grid; align-content:center; gap:2px; min-width:92px; }
.profile-identity>.eyebrow { margin:0; line-height:1; }
.text-button { padding:7px 10px; color:var(--red); border:1px solid rgba(141,40,36,.18); border-radius:14px; background:transparent; font-size:11px; cursor:pointer; }
.profile-mark { display:grid; place-items:center; flex:0 0 58px; height:58px; color:#fff8eb; border-radius:50%; background:var(--red); font-size:24px; }
.profile-card h2 { margin:0; line-height:1.05; }
.profile-card p { margin:0; color:var(--muted); font:12px/1.05 Arial,sans-serif; }
.points-card { display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding:15px 20px; color:var(--ink); border:1px solid var(--line); border-radius:18px 5px 18px 5px; background:rgba(255,252,245,.88); box-shadow:0 5px 18px rgba(83,66,45,.06); }
.points-card span { display:flex; min-width:0; align-items:baseline; gap:5px; font-size:14px; font-weight:600; white-space:nowrap; opacity:.95; }
.points-card strong { flex:0 0 auto; font:700 22px/1 Arial,sans-serif; }
.points-card .points-value { flex:0 0 auto; color:var(--red); font-size:11px; font-style:normal; font-weight:600; }
.points-actions { display:flex; gap:7px; }
.points-card a { padding:9px 12px; color:var(--red); border:1px solid rgba(141,40,36,.2); border-radius:16px; background:rgba(141,40,36,.04); font-size:13px; font-weight:600; white-space:nowrap; }
.admin-chip { margin-left:auto; padding:6px 11px; color:var(--red); border:1px solid rgba(141,40,36,.16); border-radius:14px; background:rgba(255,252,245,.7); font-size:11px; }
.account-menu { padding:4px 18px; }
.account-menu a { display:flex; align-items:center; justify-content:space-between; padding:14px 2px; color:inherit; border-bottom:1px solid var(--line); }
.account-menu a:last-child { border-bottom:0; }
.account-menu a>span { display:grid; gap:4px; }
.account-menu a b { font-size:16px; }
.account-menu a small { color:var(--muted); font-size:12px; }
.account-menu a i { color:var(--muted); font:normal 28px/1 serif; }
.section-heading { display:flex; justify-content:space-between; align-items:center; padding:14px 2px; border-bottom:1px solid var(--line); font-weight:700; }
.section-heading small,.ledger-list small { color:var(--muted); font-weight:400; font-size:10px; }
.empty-ledger { margin:20px 0; color:var(--muted); text-align:center; font-size:12px; }
.ledger-list { margin:0; padding:0; list-style:none; }
.ledger-list li { display:flex; justify-content:space-between; align-items:center; padding:13px 2px; border-bottom:1px solid var(--line); }
.ledger-list li:last-child { border-bottom:0; }
.ledger-list li span { display:grid; gap:4px; }
.ledger-list li b { font-size:12px; font-weight:600; }
.ledger-list li>strong { font:700 14px Arial,sans-serif; }
.ledger-list .credit { color:#447764; }
.ledger-list .debit { color:var(--red); }
.account-menu a { display:flex; justify-content:space-between; padding:16px 2px; border-bottom:1px solid var(--line); font-size:13px; }
.account-menu a:last-child { border-bottom:0; }
.account-menu b { color:var(--muted); }
.logout-button { width:100%; margin-top:16px; padding:13px; color:var(--red); border:1px solid rgba(141,40,36,.18); border-radius:10px; background:rgba(255,252,245,.55); cursor:pointer; }
.admin-entry { display:block; margin-top:16px; padding:13px; color:#fff8eb; border-radius:10px; background:var(--red-dark); text-align:center; font-size:13px; }
.nickname-dialog { width:calc(100% - 48px); max-width:380px; padding:20px; border:1px solid var(--line); border-radius:18px 5px 18px 5px; background:#fffaf0; color:var(--ink); }
.nickname-dialog::backdrop { background:rgba(35,28,22,.42); }
.nickname-dialog h2 { margin:0 0 14px; }
.nickname-dialog input { width:100%; height:44px; padding:0 11px; border:1px solid var(--line); border-radius:8px; background:#fffdf8; }
.nickname-dialog form>div { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.nickname-dialog form>div button { height:42px; margin:0; border-radius:8px; }
.shop-order-summary{padding:14px 18px}.shop-order-title{display:flex;align-items:center;justify-content:space-between;padding:0 2px 12px;border-bottom:1px solid var(--line)}.shop-order-title b{font-size:17px}.shop-order-title span{color:var(--muted);font-size:12px}.shop-order-title i{font:normal 22px serif}.shop-order-statuses{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding-top:13px}.shop-order-statuses a{display:grid;justify-items:center;gap:6px;color:var(--muted);font-size:11px;text-align:center}.shop-order-statuses strong{display:grid;place-items:center;min-width:27px;height:27px;padding:0 5px;color:var(--red);border:1px solid rgba(141,40,36,.15);border-radius:50%;background:rgba(141,40,36,.04);font:700 13px Arial,sans-serif}
.subpage-header .address-add{width:auto;height:auto;margin-left:auto;padding:8px 13px;color:var(--red);border:1px solid rgba(141,40,36,.2);border-radius:15px;font-size:13px}.address-list .account-card{margin-top:12px}.address-main{display:flex;align-items:center;gap:10px}.address-main b{font-size:16px}.address-main strong{font:500 14px Arial,sans-serif}.address-main em{padding:3px 7px;color:var(--red);border-radius:8px;background:rgba(141,40,36,.07);font-size:10px;font-style:normal}.address-card p{margin:10px 0;color:var(--muted);font-size:13px;line-height:1.7}.address-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:9px;border-top:1px solid var(--line)}.address-actions button,.address-actions a{padding:6px 10px;color:var(--red);border:1px solid rgba(141,40,36,.16);border-radius:12px;background:transparent;font-size:12px}.address-form label{display:block;margin-bottom:15px;color:var(--muted);font-size:13px}.address-form input,.address-form textarea{display:block;width:100%;margin-top:8px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fffaf0;color:var(--ink);font:15px inherit}.address-form input{height:46px}.address-form textarea{min-height:86px;resize:vertical}.address-region{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.address-form .default-check{display:flex;align-items:center;gap:8px;color:var(--ink)}.address-form .default-check input{width:17px;height:17px;margin:0}
.user-order-filters{display:flex;gap:7px;margin:16px 0 12px;overflow-x:auto}.user-order-filters a{flex:0 0 auto;padding:8px 12px;color:var(--muted);border:1px solid var(--line);border-radius:15px;background:#fffaf0;font-size:12px}.user-order-filters a.active{color:#fff;border-color:var(--red);background:var(--red)}.shop-order-records{margin:0;padding:0;list-style:none}.shop-order-records li{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.shop-order-records li:last-child{border-bottom:0}.shop-order-records img,.order-image-placeholder{display:grid;place-items:center;width:52px;height:52px;object-fit:cover;border-radius:9px;background:rgba(141,40,36,.06);color:var(--red);font-size:19px}.shop-order-records li>span{display:grid;gap:4px;min-width:0}.shop-order-records b{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.shop-order-records small{color:var(--muted);font-size:10px}.shop-order-records em{color:var(--red);font-size:11px;font-style:normal;text-align:right}.shop-order-records strong{font:700 14px Arial,sans-serif;text-align:right}@media(max-width:380px){.shop-order-statuses a{font-size:10px}.address-region{grid-template-columns:1fr}.shop-order-records{grid-template-columns:44px 1fr auto}}

/* Compact account overview: keep all primary actions visible without excess vertical whitespace. */
.account-shell .account-hero { padding-bottom:3px; }
.account-shell .account-card { margin-top:9px; }
.account-shell .profile-card { min-height:0; padding:12px 16px; }
.account-shell .profile-mark { width:50px; height:50px; flex-basis:50px; font-size:21px; }
.account-shell .invite-actions { gap:3px; }
.account-shell .copy-invite,
.account-shell .invite-poster-link { padding-top:5px; padding-bottom:5px; }
.account-shell .points-card { margin-top:7px; padding:9px 16px; }
.account-shell .points-card strong { font-size:22px; }
.account-shell .points-card a { padding:7px 11px; }
.account-shell .shop-order-summary { padding:10px 18px; }
.account-shell .shop-order-title { padding-bottom:8px; }
.account-shell .shop-order-statuses { padding-top:8px; }
.account-shell .shop-order-statuses a { gap:3px; }
.account-shell .shop-order-statuses strong { min-width:24px; height:24px; }
.account-shell .account-menu { padding-top:2px; padding-bottom:2px; }
.account-shell .account-menu a { padding:10px 2px; }
.account-shell .account-menu a > span { gap:2px; }

@media (max-width:520px) {
  .account-shell .points-card > span {
    display:grid;
    grid-template-columns:max-content max-content;
    align-items:baseline;
    column-gap:8px;
    row-gap:4px;
    font-size:16px;
    white-space:normal;
  }
  .account-shell .points-card .points-value {
    grid-column:2;
    grid-row:2;
    padding-left:0;
  }
}

@media (max-width:420px) {
  .account-shell .points-card {
    display:flex;
    align-items:center;
    gap:8px;
    padding-left:13px;
    padding-right:13px;
  }
  .account-shell .points-card > span {
    display:grid;
    grid-template-columns:max-content max-content;
    align-content:center;
    flex:1 1 auto;
    gap:3px 8px;
    font-size:16px;
    white-space:normal;
  }
  .account-shell .points-card .points-value {
    grid-column:2;
    grid-row:2;
    font-size:10px;
  }
  .account-shell .points-actions {
    flex:0 0 auto;
    justify-content:flex-end;
    gap:5px;
  }
  .account-shell .points-card a {
    padding:7px 9px;
    font-size:12px;
  }
}
