.adv-chip{
display:inline-flex;
align-items:center;
gap:var(--space-2);
padding:.3em .7em;
font-size:var(--font-size-xs);
font-weight:var(--weight-semibold);
border-radius:var(--radius-pill);
background:var(--color-primary-soft);
color:var(--color-primary);
border:1px solid transparent;
line-height:1.4;
white-space:nowrap;
}
.adv-chip--outline{background:transparent;border-color:var(--color-line-strong);color:var(--color-muted)}
.adv-chip--accent{background:var(--color-accent-soft);color:var(--color-accent)}
.adv-chip--success{background:var(--color-success-soft);color:var(--color-success)}
.adv-chip--warning{background:var(--color-warning-soft);color:var(--color-warning)}
.adv-chip--danger{background:var(--color-danger-soft);color:var(--color-danger)}

.adv-badge{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:20px;
height:20px;
padding:0 .35em;
font-size:var(--font-size-2xs);
font-weight:var(--weight-bold);
border-radius:var(--radius-pill);
background:var(--color-primary);
color:var(--color-primary-contrast);
line-height:1;
}
.adv-badge--soft{background:var(--color-primary-soft);color:var(--color-primary)}

.adv-divider{
width:100%;
height:1px;
background:var(--color-line);
border:0;
margin-block:var(--space-8);
}
.adv-divider--vertical{
width:1px;
height:100%;
min-height:1.5em;
background:var(--color-line);
margin-inline:var(--space-4);
align-self:stretch;
}

.adv-alert{
display:flex;
gap:var(--space-4);
padding:var(--space-5);
border-radius:var(--radius-md);
border:1px solid var(--color-line);
background:var(--color-bg-soft);
font-size:var(--font-size-base);
line-height:var(--line-normal);
}
.adv-alert__icon{flex-shrink:0;color:var(--color-muted)}
.adv-alert__body{flex:1 1 auto;min-width:0}
.adv-alert__title{font-weight:var(--weight-semibold);color:var(--color-ink);margin:0 0 var(--space-2)}
.adv-alert__desc{margin:0;color:var(--color-muted)}

.adv-alert--info{background:var(--color-info-soft);border-color:var(--color-info);color:var(--color-info)}
.adv-alert--info .adv-alert__title{color:var(--color-info)}
.adv-alert--success{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}
.adv-alert--success .adv-alert__title{color:var(--color-success)}
.adv-alert--warning{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning)}
.adv-alert--warning .adv-alert__title{color:var(--color-warning)}
.adv-alert--danger{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger)}
.adv-alert--danger .adv-alert__title{color:var(--color-danger)}
.adv-alert--info .adv-alert__desc,
.adv-alert--success .adv-alert__desc,
.adv-alert--warning .adv-alert__desc,
.adv-alert--danger .adv-alert__desc{color:inherit;opacity:.85}

.adv-breadcrumbs{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:var(--space-2);
font-size:var(--font-size-sm);
color:var(--color-muted);
list-style:none;
padding:0;
margin:0 0 var(--space-6);
}
.adv-breadcrumbs li{display:inline-flex;align-items:center;gap:var(--space-2)}
.adv-breadcrumbs a{color:var(--color-muted);text-decoration:none}
.adv-breadcrumbs a:hover{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}
.adv-breadcrumbs li[aria-current="page"]{color:var(--color-ink);font-weight:var(--weight-medium)}
.adv-breadcrumbs__sep{color:var(--color-faint);user-select:none}

.adv-pill-group{
display:inline-flex;
flex-wrap:wrap;
gap:var(--space-2);
padding:var(--space-2);
background:var(--color-bg-muted);
border-radius:var(--radius-pill);
}
.adv-pill-group button{
padding:.4em .9em;
font-size:var(--font-size-sm);
font-weight:var(--weight-medium);
color:var(--color-muted);
background:transparent;
border-radius:var(--radius-pill);
transition:var(--transition-base);
}
.adv-pill-group button[aria-pressed="true"],
.adv-pill-group button.active{
background:var(--color-bg);
color:var(--color-primary);
box-shadow:var(--shadow-xs);
font-weight:var(--weight-semibold);
}

.adv-tag-list{
display:flex;
flex-wrap:wrap;
gap:var(--space-2);
list-style:none;
padding:0;
margin:0;
}

.adv-stat-grid{
display:grid;
gap:var(--space-4);
grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (min-width:768px){
.adv-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.adv-stat-cell{
padding:var(--space-5);
text-align:center;
border-radius:var(--radius-md);
border:1px solid var(--color-line);
background:var(--color-bg);
}
.adv-stat-cell__value{
display:block;
font-size:var(--font-size-3xl);
font-weight:var(--weight-black);
color:var(--color-primary);
letter-spacing:var(--letter-tight);
line-height:1.1;
margin-bottom:var(--space-2);
}
.adv-stat-cell__label{
font-size:var(--font-size-sm);
color:var(--color-muted);
}

.adv-progress{
width:100%;
height:6px;
background:var(--color-bg-muted);
border-radius:var(--radius-pill);
overflow:hidden;
}
.adv-progress__bar{
height:100%;
background:var(--color-accent);
border-radius:inherit;
transition:width var(--duration-medium) var(--ease-standard);
}

.adv-skeleton{
display:block;
background:linear-gradient(90deg,var(--color-bg-muted) 25%,var(--color-line) 37%,var(--color-bg-muted) 63%);
background-size:400% 100%;
border-radius:var(--radius-sm);
animation:advSkeleton 1.4s ease infinite;
}
.adv-skeleton--text{height:.85em;margin-bottom:.5em}
.adv-skeleton--title{height:1.15em;width:60%;margin-bottom:.65em}
.adv-skeleton--avatar{width:44px;height:44px;border-radius:var(--radius-circle)}
.adv-skeleton--thumb{width:100%;aspect-ratio:210 / 297}

@keyframes advSkeleton{
0%{background-position:100% 50%}
100%{background-position:0 50%}
}

.adv-empty{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
padding:var(--space-11) var(--space-5);
border:1px dashed var(--color-line-strong);
border-radius:var(--radius-lg);
background:var(--color-bg-soft);
color:var(--color-muted);
}
.adv-empty__icon{
width:56px;
height:56px;
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:var(--radius-circle);
background:var(--color-bg);
color:var(--color-accent);
margin-bottom:var(--space-5);
border:1px solid var(--color-line);
}
.adv-empty__title{
font-size:var(--font-size-lg);
font-weight:var(--weight-bold);
color:var(--color-ink);
margin:0 0 var(--space-3);
}
.adv-empty__desc{
font-size:var(--font-size-base);
color:var(--color-muted);
max-width:44ch;
margin:0 0 var(--space-6);
}

.adv-notice{
display:block;
padding:var(--space-4) var(--space-5);
border-radius:var(--radius-md);
background:var(--color-warning-soft);
border:1px solid var(--color-warning);
color:var(--color-warning);
font-size:var(--font-size-base);
line-height:var(--line-normal);
}
.adv-notice strong{color:inherit}

.adv-kbd{
display:inline-block;
min-width:1.6em;
padding:.15em .45em;
font-family:var(--font-mono);
font-size:.8em;
text-align:center;
background:var(--color-bg);
border:1px solid var(--color-line-strong);
border-bottom-width:2px;
border-radius:var(--radius-xs);
color:var(--color-ink-soft);
}

.adv-tooltip{
position:relative;
display:inline-block;
}
.adv-tooltip__bubble{
position:absolute;
left:50%;
bottom:calc(100% + 8px);
transform:translateX(-50%);
padding:.5em .75em;
background:var(--color-ink);
color:var(--color-bg);
font-size:var(--font-size-xs);
border-radius:var(--radius-sm);
white-space:nowrap;
opacity:0;
pointer-events:none;
transition:opacity var(--duration-fast) var(--ease-standard);
z-index:var(--z-tooltip);
}
.adv-tooltip:hover .adv-tooltip__bubble,
.adv-tooltip:focus-within .adv-tooltip__bubble{opacity:1}

.adv-rating{
display:inline-flex;
gap:2px;
color:var(--color-warning);
}
.adv-rating svg{width:16px;height:16px}

.adv-avatar{
display:inline-flex;
align-items:center;
justify-content:center;
width:44px;
height:44px;
border-radius:var(--radius-circle);
background:var(--color-primary-soft);
color:var(--color-primary);
font-weight:var(--weight-semibold);
font-size:var(--font-size-md);
overflow:hidden;
flex-shrink:0;
}
.adv-avatar img{width:100%;height:100%;object-fit:cover}
.adv-avatar--sm{width:32px;height:32px;font-size:var(--font-size-sm)}
.adv-avatar--lg{width:64px;height:64px;font-size:var(--font-size-lg)}
.adv-avatar--xl{width:96px;height:96px;font-size:var(--font-size-2xl)}

.adv-table-wrap{width:100%;overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-line)}
.adv-table{width:100%;font-size:var(--font-size-base);border-collapse:collapse}
.adv-table th,
.adv-table td{padding:var(--space-4) var(--space-5);text-align:left;border-bottom:1px solid var(--color-line)}
.adv-table th{
font-weight:var(--weight-semibold);
color:var(--color-ink);
background:var(--color-bg-soft);
white-space:nowrap;
}
.adv-table tr:last-child td{border-bottom:0}
.adv-table tbody tr:hover{background:var(--color-bg-soft)}