/* Account (personal cabinet) v2, owner 02.10.2026: sidebar + content on desktop, one scrollable row of tabs on phones,
   cards with clear actions and status pills. Shares tokens.css and the buttons of components.css. */
.account{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;max-width:1120px;margin:28px auto 60px;padding:0 24px;box-sizing:border-box}
.account-anon{display:block;max-width:560px}
.account-main{min-width:0}
.account-main>h1{font-size:var(--fs-display);line-height:1.15;margin:8px 0 20px}
.account-crumbs{font-size:var(--fs-sm)}
.account-side{position:sticky;top:84px;align-self:start;display:flex;flex-direction:column;gap:14px}
.account-me{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);color:var(--c-ink);text-decoration:none}
.account-me-avatar{flex:0 0 56px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--c-primary-soft);color:var(--c-primary);font-size:var(--fs-xl);font-weight:700}
.account-me-avatar img{width:56px;height:56px;object-fit:cover}
.account-me-text{min-width:0}
.account-me-text strong,.account-me-text small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-me-text strong{font-size:var(--fs-md)}
.account-me-text small{color:var(--c-muted);font-size:var(--fs-sm)}
.account-nav{display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface)}
.account-nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:var(--r-md);color:var(--c-text);font-size:var(--fs-base);text-decoration:none;white-space:nowrap}
.account-nav a .icon{flex:0 0 20px;width:20px;height:20px;color:var(--c-muted)}
.account-nav a span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.account-nav a b{min-width:22px;padding:1px 7px;border-radius:var(--r-pill);background:var(--c-surface-muted);color:var(--c-muted);font-size:var(--fs-xs);font-weight:600;text-align:center}
.account-nav a:hover{background:var(--c-surface-alt);color:var(--c-ink)}
.account-nav a[aria-current]{background:var(--c-primary-soft);color:var(--c-primary);font-weight:600}
.account-nav a[aria-current] .icon{color:var(--c-primary)}
.account-nav a[aria-current] b{background:var(--c-surface);color:var(--c-primary)}
.account-logout{padding:0 8px}
.account-logout .btn .icon{width:18px;height:18px}
/* panels and cards */
.account .member-panel{padding:24px;margin-bottom:16px}
.account .member-panel h2{font-size:var(--fs-h3);margin:0 0 14px}
.account-compact{padding:18px 24px}
.account-subtitle{font-size:var(--fs-h3);margin:28px 0 12px}
.account-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}
.account-actions .btn .icon{width:18px;height:18px}
.account-check{display:flex;gap:10px;align-items:center;margin:14px 0}
.account-head{display:flex;align-items:center;gap:18px;margin-bottom:6px}
.account-head-text h2{margin:0 0 4px}
.account-head-text p{margin:0}
.account-avatar{position:relative;flex:0 0 96px;width:96px;height:96px;cursor:pointer;border-radius:50%}
.account-avatar input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}
.account-avatar-pic{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--c-primary-soft);color:var(--c-primary);font-size:36px;font-weight:700}
.account-avatar-pic img{width:96px;height:96px;object-fit:cover}
.account-avatar-badge{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--c-primary);color:var(--c-on-primary);border:2px solid var(--c-surface);pointer-events:none}
.account-avatar-badge .icon{width:16px;height:16px}
.account-avatar:focus-within{outline:3px solid var(--c-primary);outline-offset:3px}
.account .member-fields{margin-top:8px}
.account .member-panel label{margin:12px 0}
.account-row{display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--c-line)}
.account-row:first-of-type{border-top:0;padding-top:4px}
.account-row-icon{flex:0 0 40px;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-md);background:var(--c-primary-soft);color:var(--c-primary)}
.account-row-icon .icon{width:20px;height:20px}
.account-row-text{flex:1;min-width:0}
.account-row-text strong{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--fs-base);overflow-wrap:anywhere}
.account-row-text small{display:block;margin-top:4px;color:var(--c-muted);font-size:var(--fs-sm);line-height:1.5}
.account-inline{margin-top:12px}
.account-inline summary{color:var(--c-primary);cursor:pointer;min-height:36px;display:flex;align-items:center}
.account-inline form{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-top:6px}
.account-inline form label{flex:1 1 220px;margin:0}
.account-inline .btn{margin:0}
.account-danger{background:transparent;border-style:dashed}
.account-danger .member-delete{margin:0}
.account-danger summary{color:var(--c-danger);padding:4px 0;min-height:32px}
/* pills */
.pill{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:var(--r-pill);background:var(--c-surface-muted);color:var(--c-muted);font-size:var(--fs-xs);font-weight:600;white-space:nowrap}
.pill-ok,.pill-approved{background:var(--c-success-soft);color:var(--c-success)}
.pill-pending{background:#fff4de;color:#8a5a00}
.pill-rejected{background:var(--c-danger-soft);color:var(--c-danger)}
/* business */
.account-biz-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.account-biz-head h2{margin:0 0 8px}
.account-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 8px}
.account-stats div{padding:14px;border-radius:var(--r-md);background:var(--c-surface-alt)}
.account-stats b{display:block;font-size:var(--fs-h2);line-height:1.1;letter-spacing:-.5px}
.account-stats span{display:block;margin-top:4px;font-size:var(--fs-sm);color:var(--c-text)}
.account-stats small{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--c-muted)}
/* items (reviews, requests) */
.account-item{padding:20px 24px}
.account-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.account-item-head h3{margin:0;font-size:var(--fs-md);line-height:1.3}
.account-item-head h3 a{color:var(--c-ink);text-decoration:none}
.account-item-head h3 a:hover{color:var(--c-primary)}
.account-item-meta{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:var(--c-muted);font-size:var(--fs-sm)}
.account-item-meta .rv-stars-row{font-size:var(--fs-md)}
.account-item .member-text{margin:0 0 6px}
.account-item .account-actions{margin-top:12px}
.account-reply{padding:10px 14px;border-left:3px solid var(--c-primary);background:var(--c-primary-soft);border-radius:0 var(--r-md) var(--r-md) 0}
.btn-quiet-danger,a.btn-quiet-danger{color:var(--c-danger)}
.btn-quiet-danger:hover{color:var(--c-danger)}
.btn-danger,a.btn-danger{background:var(--c-danger);border-color:var(--c-danger);color:#fff}
/* rating radios */
.account-rating{border:0;padding:0;margin:14px 0 4px}
.account-rating legend{font-size:var(--fs-base);margin-bottom:8px}
.account-rating label{display:flex;align-items:center;gap:10px;margin:0;padding:6px 0;cursor:pointer;font-size:var(--fs-base)}
.account-rating input{width:18px;height:18px;margin:0;accent-color:var(--c-primary)}
.account-rating .rv-stars-row{font-size:var(--fs-md)}
.account-rating-text{color:var(--c-muted);font-size:var(--fs-sm)}
/* saved list */
.account-list{padding:6px 24px}
.account-saved{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--c-line)}
.account-saved:first-child{border-top:0}
.account-saved-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0;color:var(--c-ink);text-decoration:none}
.account-saved-main:hover strong{color:var(--c-primary)}
.account-saved-pic{flex:0 0 56px;display:grid;place-items:center;width:56px;height:56px;border-radius:var(--r-md);overflow:hidden;background:var(--c-primary-soft);color:var(--c-primary);font-weight:700}
.account-saved-pic img{width:56px;height:56px;object-fit:cover}
.account-saved-main strong,.account-saved-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-saved-main small{color:var(--c-muted);font-size:var(--fs-sm)}
.account-saved form .btn .icon{width:18px;height:18px}
/* empty states */
.account-empty{text-align:center;padding:40px 24px}
.account-empty>.icon{width:40px;height:40px;color:var(--c-primary);margin-bottom:10px}
.account-empty h2{margin:0 0 8px}
.account-empty p{max-width:40ch;margin:0 auto 18px;color:var(--c-muted)}
/* login */
.account-login{padding:28px}
.account-code{font-size:28px;letter-spacing:.3em;text-align:center}
.account-benefits{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--c-line);display:grid;gap:10px}
.account-benefits li{display:flex;gap:10px;align-items:center;color:var(--c-text);font-size:var(--fs-sm)}
.account-benefits .icon{flex:0 0 18px;width:18px;height:18px;color:var(--c-primary)}
@media(max-width:900px){
 .account{display:block;padding:0 16px;margin-top:12px}
 .account-side{position:static;gap:10px;margin-bottom:16px}
 .account-me{padding:10px 12px}
 .account-nav{flex-direction:row;gap:4px;padding:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
 .account-nav::-webkit-scrollbar{display:none}
 .account-nav a{flex:0 0 auto;min-height:40px;padding:0 12px;font-size:var(--fs-sm);scroll-snap-align:start}
 .account-nav a .icon{width:18px;height:18px}
 .account-logout{display:none}
 .account-main>h1{font-size:var(--fs-h1);margin:4px 0 14px}
 .account .member-panel{padding:18px 16px}
 .account-item,.account-list{padding:16px}
 .account-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .account-stats div{padding:10px 8px}
 .account-stats b{font-size:var(--fs-h3)}
 .account-stats span{font-size:var(--fs-xs)}
 .account-head{gap:14px}
 .account-avatar,.account-avatar-pic,.account-avatar-pic img{width:80px;height:80px;flex-basis:80px}
 .account-actions .btn{flex:1 1 auto}
 .account-biz-head{flex-direction:column}
 .account-login{padding:20px 16px}
 .account-empty{padding:30px 16px}
}
@media(max-width:900px){.account-main .member-fields{grid-template-columns:1fr}}
/* the generic member-ui button rule (.member-panel button) must not repaint the design-system variants */
.account .member-panel .btn{padding:0 20px;min-height:var(--control-h);border-radius:var(--r-md);font-weight:600;line-height:1.2}
.account .member-panel .btn-secondary{background:var(--c-surface);border-color:var(--c-line-strong);color:var(--c-primary)}
.account .member-panel .btn-secondary:hover{background:var(--c-primary-soft)}
.account .member-panel .btn-quiet{background:transparent;border-color:transparent;color:var(--c-primary);min-height:var(--control-h-sm);padding:0 6px}
.account .member-panel .btn-quiet:hover{text-decoration:underline;text-underline-offset:3px}
.account .member-panel .btn-quiet-danger{color:var(--c-danger)}
.account .member-panel .btn-danger{background:var(--c-danger);border-color:var(--c-danger);color:#fff}
.account .member-panel .btn-sm{min-height:var(--control-h-sm);padding:0 14px}
