.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-weight:var(--fw-semibold);font-size:var(--fs-base);white-space:nowrap;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;line-height:1;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5}.btn--sm{height:32px;padding:0 var(--space-3);font-size:var(--fs-sm)}.btn--md{height:40px;padding:0 var(--space-5)}.btn--lg{height:48px;padding:0 var(--space-6);font-size:var(--fs-md)}.btn--block{width:100%}.btn--primary{background:var(--c-blue);color:var(--c-white);box-shadow:var(--shadow-xs)}.btn--primary:hover:not(:disabled){background:var(--c-blue-hover);box-shadow:var(--shadow-sm)}.btn--secondary{background:var(--c-white);color:var(--c-blue);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn--secondary:hover:not(:disabled){border-color:var(--c-blue);background:var(--c-blue-soft)}.btn--ghost{color:var(--text-body);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--c-blue-wash);color:var(--c-blue)}.btn--danger{background:var(--c-danger);color:var(--c-white);box-shadow:var(--shadow-xs)}.btn--danger:hover:not(:disabled){background:var(--c-danger-hover)}.btn--dangerGhost{background:var(--surface-card);color:var(--c-danger);border-color:var(--c-danger-border)}.btn--dangerGhost:hover:not(:disabled){background:var(--c-danger-soft)}.btn--warningGhost{background:var(--surface-card);color:var(--c-warning-strong);border-color:var(--c-warning-border)}.btn--warningGhost:hover:not(:disabled){background:var(--c-warning-soft);border-color:var(--c-warning-strong)}.btn--icon{border-radius:var(--radius-xs);width:32px;height:32px;color:var(--text-muted);padding:0}.btn--icon:hover:not(:disabled){background:var(--c-blue-wash);color:var(--c-blue)}.btn--icon.btn--lg{width:40px;height:40px}.btn__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:15px;height:15px;animation:.6s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}.spinner{border:2px solid var(--c-blue-wash-strong);border-top-color:var(--c-blue);border-radius:50%;animation:.7s linear infinite spinner-rotate;display:inline-block}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.state{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center;flex-direction:column;display:flex}.state__icon{background:var(--c-blue-soft);width:48px;height:48px;color:var(--c-blue);border-radius:50%;place-items:center;display:grid}.state__icon--danger{background:var(--c-danger-soft);color:var(--c-danger)}.state__title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-heading)}.state__body{max-width:420px;font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-relaxed)}.state__actions{margin-top:var(--space-2);gap:var(--space-2);display:flex}.state--inline{padding:var(--space-8) var(--space-4)}.skeleton{background:linear-gradient(90deg, var(--surface-sunken) 25%, #eaf0fb 37%, var(--surface-sunken) 63%);border-radius:var(--radius-xs);background-size:400% 100%;animation:1.3s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}.page-loader{place-items:center;gap:var(--space-4);min-height:60vh;color:var(--text-muted);font-size:var(--fs-sm);display:grid}.shell{background:var(--surface-canvas);min-height:100vh;display:flex}.shell__main{min-width:0;margin-left:var(--sidebar-width);transition:margin-left var(--transition-base);flex-direction:column;flex:1;display:flex}.shell__main--wide{margin-left:var(--sidebar-width-collapsed)}.shell__content{padding:var(--space-8);flex:1}.shell__inner{max-width:var(--content-max-width);margin:0 auto}.sidebar{width:var(--sidebar-width);background:var(--c-blue);color:var(--text-on-dark);z-index:var(--z-sticky);transition:width var(--transition-base);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.sidebar--collapsed{width:var(--sidebar-width-collapsed)}.sidebar:after{content:"";background:var(--gradient-brand);opacity:.55;width:2px;position:absolute;top:0;bottom:0;right:0}.sidebar__brand{align-items:center;gap:var(--space-3);height:var(--topbar-height);padding:0 var(--space-5);flex-shrink:0;display:flex}.sidebar__logo{width:auto;height:24px}.sidebar__logo-mark{width:auto;height:28px}.sidebar__nav{padding:var(--space-4) var(--space-3) var(--space-6);gap:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sidebar__group{flex-direction:column;gap:2px;display:flex}.sidebar__group-title{padding:0 var(--space-3) var(--space-2);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.1em;color:#ffffff6b}.sidebar__link{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);color:var(--text-on-dark-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;transition:background-color var(--transition-fast), color var(--transition-fast);text-decoration:none;display:flex;position:relative}.sidebar__link:hover{color:var(--c-white);background:#ffffff14;text-decoration:none}.sidebar__link--active{color:var(--c-white);font-weight:var(--fw-semibold);background:#ffffff1f}.sidebar__link--active:before{content:"";background:var(--c-aqua);border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.sidebar__link-icon{flex-shrink:0}.sidebar--collapsed .sidebar__link{padding:var(--space-3) 0;justify-content:center}.sidebar--collapsed .sidebar__label,.sidebar--collapsed .sidebar__group-title{display:none}.sidebar--collapsed .sidebar__group{padding-top:var(--space-3);border-top:1px solid var(--border-inverse)}.sidebar--collapsed .sidebar__group:first-child{border-top:none;padding-top:0}.sidebar__footer{padding:var(--space-3);border-top:1px solid var(--border-inverse);flex-shrink:0}.sidebar__collapse{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--text-on-dark-muted);font-size:var(--fs-xs);transition:background-color var(--transition-fast), color var(--transition-fast);display:flex}.sidebar__collapse:hover{color:var(--c-white);background:#ffffff14}.topbar{z-index:var(--z-dropdown);align-items:center;gap:var(--space-4);height:var(--topbar-height);padding:0 var(--space-8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);background:#ffffffdb;display:flex;position:sticky;top:0}.topbar__menu{display:none}.topbar__spacer{flex:1}.topbar__env{align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text-subtle);display:flex}.topbar__user{align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);border-radius:var(--radius-pill);transition:border-color var(--transition-fast), background-color var(--transition-fast);border:1px solid #0000;display:flex}.topbar__user:hover{background:var(--surface-card);border-color:var(--border-color);text-decoration:none}.topbar__user-info{flex-direction:column;align-items:flex-end;line-height:1.25;display:flex}.topbar__user-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-heading)}.topbar__user-email{font-size:var(--fs-xs);color:var(--text-muted)}.topbar__avatar{background:var(--gradient-brand);width:34px;height:34px;color:var(--c-blue);font-size:var(--fs-sm);font-weight:var(--fw-bold);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.shell__scrim{display:none}@media (width<=1024px){.sidebar{transition:transform var(--transition-base);width:var(--sidebar-width);transform:translate(-100%)}.sidebar--open{box-shadow:var(--shadow-lg);transform:translate(0)}.sidebar--collapsed{width:var(--sidebar-width)}.sidebar--collapsed .sidebar__label,.sidebar--collapsed .sidebar__group-title{display:revert}.sidebar--collapsed .sidebar__link{padding:var(--space-3);justify-content:flex-start}.sidebar__footer{display:none}.shell__main,.shell__main--wide{margin-left:0}.shell__content{padding:var(--space-5)}.topbar{padding:0 var(--space-5)}.topbar__menu{display:inline-flex}.shell__scrim--visible{z-index:calc(var(--z-sticky) - 1);background:#1f087b47;display:block;position:fixed;inset:0}}@media (width<=640px){.topbar__user-info{display:none}.shell__content{padding:var(--space-4)}.topbar{padding:0 var(--space-4)}.sidebar{width:min(var(--sidebar-width), 85vw)}}.badge{border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:3px 10px;line-height:1.5;display:inline-flex}.badge__dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge--success{background:var(--c-success-soft);color:var(--c-success);border-color:var(--c-success-border)}.badge--warning{background:var(--c-warning-soft);color:var(--c-warning);border-color:var(--c-warning-border)}.badge--danger{background:var(--c-danger-soft);color:var(--c-danger);border-color:var(--c-danger-border)}.badge--neutral{background:var(--c-neutral-soft);color:var(--text-muted);border-color:var(--c-neutral-border)}.badge--brand{background:var(--c-blue-soft);color:var(--c-blue);border-color:#ddd5f2}.badge--accent{background:var(--c-aqua-soft);color:var(--c-aqua-deep);border-color:#bfe9e7}.badge--lilac{background:var(--c-lilac-soft);color:var(--c-lilac-deep);border-color:#e0d6ff}.badge--sm{font-size:var(--fs-2xs);padding:1px 8px}.hint{vertical-align:middle;display:inline-flex}.hint__btn{border:1px solid var(--border-strong);background:var(--surface-card);width:16px;height:16px;color:var(--text-subtle);font-family:var(--font-primary);font-size:10px;font-weight:var(--fw-bold);letter-spacing:normal;transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);border-radius:50%;place-items:center;padding:0;line-height:1;display:grid}.hint__btn:hover,.hint__btn[aria-expanded=true]{background:var(--c-blue);border-color:var(--c-blue);color:var(--c-white)}.hint__panel{z-index:var(--z-dropdown);padding:var(--space-3) var(--space-4);background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);font-family:var(--font-primary);font-size:var(--fs-xs);font-weight:var(--fw-regular);line-height:var(--lh-relaxed);letter-spacing:0;text-align:left;text-transform:none;color:var(--text-muted);position:fixed}.hint__arrow{background:var(--surface-card);border-left:1px solid var(--border-color);border-top:1px solid var(--border-color);width:8px;height:8px;position:absolute;top:-5px;transform:rotate(45deg)}.card{background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card--flush{overflow:visible}.card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-color);display:flex}.card__header--plain{border-bottom:none;padding-bottom:0}.card__titles{min-width:0}.card__title{align-items:center;gap:var(--space-2);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-heading);letter-spacing:-.01em;display:flex}.card__subtitle{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px}.card__actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.card__body{padding:var(--space-6)}.card__body--tight{padding:var(--space-4)}.card__body--none{padding:0}@media (width<=640px){.card__header{padding:var(--space-4);flex-wrap:wrap}.card__header--plain{padding-bottom:0}.card__actions{flex-wrap:wrap}.card__body{padding:var(--space-4)}}.card__note{padding:var(--space-3) var(--space-4);background:var(--c-blue-soft);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--fs-sm);line-height:var(--lh-relaxed);display:block}.copyable{align-items:center;gap:var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-xs);background:var(--surface-sunken);max-width:100%;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:-.02em;color:var(--text-muted);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);padding:2px 8px;display:inline-flex}.copyable:hover{border-color:var(--c-blue);color:var(--c-blue);background:var(--c-blue-soft)}.copyable--copied,.copyable--copied:hover{border-color:var(--c-success-border);background:var(--c-success-soft);color:var(--c-success)}.copyable__value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.copyable__icon{opacity:.7;flex-shrink:0}.copyable--full{font-size:var(--fs-sm);text-align:left;padding:4px 10px}.copyable--full .copyable__value{white-space:normal;overflow-wrap:anywhere}.identifiers{align-items:center;gap:var(--space-3) var(--space-4);grid-template-columns:minmax(0,auto) minmax(0,1fr);display:grid}.identifiers__row{display:contents}.identifiers__label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:-.02em;color:var(--text-muted);overflow-wrap:anywhere}@media (width<=700px){.identifiers{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.identifiers__row+.identifiers__row .identifiers__label{margin-top:var(--space-3)}}.deflist{gap:var(--space-5) var(--space-8);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.deflist--single{grid-template-columns:1fr}.deflist__item{min-width:0}.deflist__term{align-items:center;gap:var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);display:flex}.deflist__value{margin-top:var(--space-1);font-size:var(--fs-base);color:var(--text-body);overflow-wrap:anywhere}.deflist__value--strong{font-weight:var(--fw-semibold);color:var(--text-heading)}.deflist__empty{color:var(--text-subtle)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field__label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-body)}.field__required{color:var(--c-danger);margin-left:2px}.field__hint{font-size:var(--fs-xs);color:var(--text-muted);line-height:var(--lh-relaxed)}.field__error{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--c-danger);align-items:center;gap:6px;display:flex}.input,.select,.textarea{width:100%;min-height:40px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-body);font-size:var(--fs-base);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.textarea{min-height:96px;padding:var(--space-3);resize:vertical;line-height:var(--lh-normal)}.input::placeholder,.textarea::placeholder{color:var(--text-subtle)}.input:hover:not(:disabled),.select:hover:not(:disabled),.textarea:hover:not(:disabled){border-color:var(--c-lilac)}.input:focus,.select:focus,.textarea:focus{border-color:var(--c-blue);box-shadow:var(--shadow-focus);outline:none}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-sunken);color:var(--text-subtle);cursor:not-allowed}.input--invalid,.select--invalid,.textarea--invalid{border-color:var(--c-danger)}.input--invalid:focus,.select--invalid:focus,.textarea--invalid:focus{box-shadow:0 0 0 3px #dc262629}.input--mono{font-family:var(--font-mono);font-size:var(--fs-sm)}.select{appearance:none;padding-right:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236f7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9l7 7 7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;cursor:pointer}.search-field{align-items:center;min-width:min(360px,100%);display:flex;position:relative}.search-field--compact{min-width:min(200px,100%)}.search-field__icon{left:var(--space-3);color:var(--text-subtle);pointer-events:none;position:absolute}.search-field .input{padding-left:var(--space-10)}.checkbox{align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-body);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.checkbox input{width:16px;height:16px;accent-color:var(--c-blue);cursor:pointer}.form-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.form-grid__full{grid-column:1/-1}.form-grid+.card__note{margin-top:var(--space-2)}.form-section{gap:var(--space-4);display:grid}.form-section__title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-heading);text-transform:uppercase;letter-spacing:.06em}.filter-bar{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-color);flex-wrap:wrap;display:flex}.filter-bar__spacer{flex:1}.filter-bar .select,.filter-bar .input{min-height:36px;font-size:var(--fs-sm)}.filter-bar .select{width:auto;min-width:150px}@media (width<=640px){.filter-bar{padding:var(--space-3) var(--space-4)}.filter-bar>*{flex:100%}.filter-bar>.checkbox,.filter-bar>.btn{flex:0 auto}.filter-bar>.btn{margin-left:auto}.filter-bar__spacer{display:none}}.page-header{gap:var(--space-3);margin-bottom:var(--space-6);flex-direction:column;display:flex}.page-header__top{justify-content:space-between;align-items:flex-start;gap:var(--space-5);flex-wrap:wrap;display:flex}.page-header__titles{min-width:0}.page-header__title-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-header__title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-heading);letter-spacing:-.02em;overflow-wrap:anywhere}.page-header__subtitle{margin-top:var(--space-2);font-size:var(--fs-base);color:var(--text-muted);max-width:70ch}.page-header__actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}@media (width<=640px){.page-header{margin-bottom:var(--space-5)}.page-header__title{font-size:var(--fs-xl)}.page-header__actions{flex-wrap:wrap;width:100%}.page-header__actions>*{flex:auto}}.breadcrumb{align-items:center;gap:var(--space-1);font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.breadcrumb__link{color:var(--text-muted);border-radius:var(--radius-xs);padding:2px 4px}.breadcrumb__link:hover{color:var(--c-blue);background:var(--c-blue-wash);text-decoration:none}.breadcrumb__current{color:var(--text-body);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;max-width:40ch;padding:2px 4px;overflow:hidden}.breadcrumb__separator{color:var(--text-subtle);display:inline-flex}.table-wrap{width:100%;overflow-x:auto}.table{width:100%;min-width:640px;font-size:var(--fs-sm)}.table thead th{z-index:1;background:var(--surface-sunken);padding:var(--space-3);text-align:left;font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);white-space:nowrap;border-bottom:1px solid var(--border-color);position:sticky;top:0}.table tbody td{padding:var(--space-3);border-bottom:1px solid var(--border-color);color:var(--text-body);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color var(--transition-fast)}.table__row--clickable{cursor:pointer}.table__row--clickable:hover{background:var(--surface-hover)}.table__row--clickable:focus-visible{outline:2px solid var(--c-blue);outline-offset:-2px}.table__row--muted{cursor:default}.table__row--muted td{color:var(--text-subtle)}.table__row--muted .table__primary{color:var(--text-muted);font-weight:var(--fw-medium)}.table__cell--right,.table thead th.table__cell--right{text-align:right}.table__cell--center,.table thead th.table__cell--center{text-align:center}.table__cell--nowrap{white-space:nowrap}.table thead th.table__cell--sorted{background:var(--surface-sorted);color:var(--c-blue)}.table tbody td.table__cell--sorted{font-weight:var(--fw-semibold);color:var(--text-heading)}.table__sort-marker{margin-left:var(--space-1);font-size:var(--fs-sm);line-height:1}.table thead th .hint{margin-left:6px}.table__primary{font-weight:var(--fw-semibold);color:var(--text-heading)}.table__secondary{font-size:var(--fs-xs);color:var(--text-muted);margin-top:2px;display:block}.table__actions{justify-content:flex-end;gap:var(--space-1);display:flex}.discount-config{gap:var(--space-1);flex-wrap:wrap;display:flex}.table__state{padding:0}.pagination{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-color);background:var(--surface-card);font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.pagination__pages,.pagination__size{align-items:center;gap:var(--space-2);display:flex}.pagination__select{height:32px;padding:0 var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-xs);background:var(--surface-card);color:var(--text-body);font-size:var(--fs-sm)}.table-cards{gap:var(--space-3);padding:var(--space-4);display:grid}.table-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-card);font-size:var(--fs-sm);min-width:0;display:grid}.table-card--clickable{cursor:pointer}.table-card--clickable:active{background:var(--surface-hover)}.table-card--clickable:focus-visible{outline:2px solid var(--c-blue);outline-offset:2px}.table-card--muted{color:var(--text-subtle)}.table-card--muted .table__primary{color:var(--text-muted);font-weight:var(--fw-medium)}.table-card__id{min-width:0;display:flex}.table-card__title,.table-card__title .table__primary{font-size:var(--fs-base)}.table-card__fields{gap:var(--space-2);display:grid}.table-card__field{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.table-card__label{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);flex-shrink:0;align-items:center;display:inline-flex}.table-card__label .hint{margin-left:6px}.table-card__value{text-align:right;overflow-wrap:anywhere;min-width:0}.table-card__title.table__cell--nowrap,.table-card__value.table__cell--nowrap{white-space:normal}.table-card__value.table__cell--center{text-align:right}.table-card__value.table__cell--sorted{font-weight:var(--fw-semibold);color:var(--text-heading)}.table-card__value .row,.table-card__value .discount-config{justify-content:flex-end}.table-card__actions{padding-top:var(--space-3);border-top:1px solid var(--border-color)}.table-card__actions .table__actions{gap:var(--space-2)}@media (width<=640px){.pagination{align-items:stretch;gap:var(--space-3);padding:var(--space-3) var(--space-4);flex-direction:column}.pagination__pages{justify-content:space-between}}.modal__backdrop{z-index:var(--z-modal);padding:var(--space-6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:modal-fade var(--transition-base);background:#1f087b52;place-items:center;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:520px;max-height:calc(100vh - var(--space-12));background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:modal-rise var(--transition-base);flex-direction:column;display:flex}.modal--wide{max-width:760px}.modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-color);display:flex}.modal__title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text-heading)}.modal__description{margin-top:var(--space-1);font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-relaxed)}.modal__description-period{color:var(--text-body);font-weight:var(--fw-medium)}.modal__body{padding:var(--space-6);overflow-y:auto}.modal__footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-color);background:var(--surface-sunken);border-radius:0 0 var(--radius-lg) var(--radius-lg);display:flex}.modal__warning{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--c-danger-border);background:var(--c-danger-soft);border-radius:var(--radius-sm);color:#8f1d1d;font-size:var(--fs-sm);line-height:var(--lh-relaxed);display:flex}@media (width<=640px){.modal__backdrop{place-items:end center;padding:0}.modal{max-width:none;max-height:calc(100dvh - var(--space-8));border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal--wide{max-width:none}.modal__header,.modal__body{padding:var(--space-4)}.modal__footer{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));border-radius:0;flex-wrap:wrap}.modal__footer>*{flex:auto}}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-rise{0%{opacity:0;transform:translateY(12px)scale(.98)}}.auth{background:var(--surface-canvas);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.auth__panel{padding:var(--space-12);background:var(--c-blue);color:var(--text-on-dark);flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.auth__panel:before{content:"";background:var(--gradient-brand);opacity:.22;filter:blur(10px);border-radius:50%;width:620px;height:620px;position:absolute;top:-180px;right:-220px}.auth__panel:after{content:"";background:var(--c-aqua);opacity:.16;filter:blur(30px);border-radius:50%;width:380px;height:380px;position:absolute;bottom:-160px;left:-140px}.auth__logo{width:auto;height:30px;position:relative}.auth__panel-copy{max-width:30ch;position:relative}.auth__panel-title{font-size:var(--fs-3xl);font-weight:var(--fw-bold);letter-spacing:-.02em;color:var(--c-white);line-height:1.2}.auth__panel-body{margin-top:var(--space-4);font-size:var(--fs-md);line-height:var(--lh-relaxed);color:#ffffffc7}.auth__panel-rule{border-radius:var(--radius-pill);background:var(--gradient-brand);width:72px;height:4px;margin-bottom:var(--space-6);position:relative}.auth__panel-footer{font-size:var(--fs-xs);color:#ffffff8c;position:relative}.auth__form-side{padding:var(--space-8);place-items:center;display:grid}.auth__card{width:100%;max-width:400px}.auth__mobile-logo{width:auto;height:28px;margin-bottom:var(--space-8);display:none}.auth__title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-heading);letter-spacing:-.02em}.auth__subtitle{margin-top:var(--space-2);margin-bottom:var(--space-8);font-size:var(--fs-sm);color:var(--text-muted)}.auth__form{gap:var(--space-5);flex-direction:column;display:flex}.auth__error{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--c-danger-border);background:var(--c-danger-soft);border-radius:var(--radius-sm);color:#8f1d1d;font-size:var(--fs-sm);line-height:var(--lh-normal);display:flex}.auth__success{align-items:flex-start;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--c-success-border);background:var(--c-success-soft);border-radius:var(--radius-sm);color:#14663a;font-size:var(--fs-sm);line-height:var(--lh-relaxed);display:flex}.auth__links{margin-top:var(--space-2);font-size:var(--fs-sm);justify-content:center;display:flex}@media (width<=900px){.auth{grid-template-columns:1fr}.auth__panel{display:none}.auth__mobile-logo{display:block}}@media (width<=640px){.auth__form-side{padding:var(--space-8) var(--space-4);align-items:start}}.entity-link{max-width:100%;color:var(--c-blue);font-weight:var(--fw-medium);border-radius:var(--radius-xs);align-items:baseline;gap:6px;text-decoration:none;display:inline-flex}.entity-link:hover{color:var(--c-lilac-deep);text-underline-offset:2px;text-decoration:underline}.entity-link__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entity-link__meta{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-subtle);font-weight:var(--fw-regular)}.entity-link--muted{color:var(--text-body)}.entity-link--muted:hover{color:var(--c-blue)}.entity-link--empty{color:var(--text-subtle);font-style:italic;font-weight:var(--fw-regular)}.relation-card{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-card);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);text-decoration:none;display:flex}.relation-card:hover{border-color:var(--c-blue);box-shadow:var(--shadow-sm);text-decoration:none;transform:translateY(-1px)}.relation-card__main{min-width:0;display:block}.relation-card__label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);font-weight:var(--fw-semibold);display:block}.relation-card__value{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;display:block;overflow:hidden}.relation-card__sub{align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap;margin-top:6px;display:flex}.relation-card__arrow{color:var(--c-blue);flex-shrink:0}.person-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.person-chip{padding:var(--space-2) var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-sunken);transition:border-color var(--transition-fast), background-color var(--transition-fast);flex-direction:column;gap:1px;text-decoration:none;display:inline-flex}.person-chip:hover{border-color:var(--c-blue);background:var(--c-blue-soft);text-decoration:none}.person-chip__name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-heading)}.person-chip__email{font-size:var(--fs-xs);color:var(--text-muted)}.tabs{align-items:center;gap:var(--space-1);border-bottom:1px solid var(--border-color);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted);white-space:nowrap;transition:color var(--transition-fast), border-color var(--transition-fast);border-bottom:2px solid #0000;margin-bottom:-1px;text-decoration:none;display:inline-flex;position:relative}.tab:hover{color:var(--c-blue);text-decoration:none}.tab--active{color:var(--c-blue);font-weight:var(--fw-semibold);border-bottom-color:var(--c-blue)}.tab__count{border-radius:var(--radius-pill);background:var(--c-neutral-soft);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text-muted);padding:0 6px}.tab--active .tab__count{background:var(--c-blue-soft);color:var(--c-blue)}.chart{width:100%}.chart__header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.chart__legend{align-items:center;gap:var(--space-4);font-size:var(--fs-xs);color:var(--text-muted);flex-wrap:wrap;display:flex}.chart__legend-item{align-items:center;gap:6px;display:inline-flex}.chart__legend-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.chart__legend-swatch--line{border-radius:var(--radius-pill);height:2px}.chart__legend-swatch--dashed{border-top:2px dashed;border-radius:0;height:0}.chart-tooltip{min-width:160px;padding:var(--space-3);background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);font-size:var(--fs-xs)}.chart-tooltip__label{font-weight:var(--fw-semibold);color:var(--text-heading);margin-bottom:var(--space-2)}.chart-tooltip__row{justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--text-muted);padding:1px 0;display:flex}.chart-tooltip__name{align-items:center;gap:6px;display:inline-flex}.chart-tooltip__value{font-weight:var(--fw-semibold);color:var(--text-body);font-variant-numeric:tabular-nums}.chart__empty{height:240px;color:var(--text-subtle);font-size:var(--fs-sm);place-items:center;display:grid}.funnel{gap:var(--space-4);display:grid}.funnel-panel{gap:var(--space-8);display:grid}.funnel__row{align-items:center;gap:var(--space-4);grid-template-columns:minmax(120px,160px) 1fr auto;display:grid}.funnel__label{font-size:var(--fs-sm);color:var(--text-body)}.funnel__track{border-radius:var(--radius-pill);background:var(--surface-sunken);height:18px;display:block;overflow:hidden}.funnel__bar{border-radius:var(--radius-pill);height:100%;transition:width var(--transition-base);display:block}.funnel__value{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-heading);font-variant-numeric:tabular-nums;text-align:right;min-width:84px}.funnel__rate{font-size:var(--fs-xs);color:var(--text-muted);font-weight:var(--fw-regular);margin-left:var(--space-2)}@media (width<=640px){.funnel__row{grid-template-columns:1fr auto}.funnel__track{order:3;grid-column:1/-1}}.kpi{gap:var(--space-2);padding:var(--space-5);background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);flex-direction:column;display:flex}.kpi__label{align-items:center;gap:var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);display:flex}.kpi__value{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-heading);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi__delta{font-size:var(--fs-xs);font-weight:var(--fw-semibold);align-items:center;gap:4px;display:inline-flex}.kpi__delta--up{color:var(--c-success)}.kpi__delta--down{color:var(--c-danger)}.kpi__delta--flat{color:var(--text-subtle)}.kpi__delta-note{color:var(--text-subtle);font-weight:var(--fw-regular)}.stat{gap:var(--space-1);flex-direction:column;display:flex}.stat__value{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text-heading);font-variant-numeric:tabular-nums}.stat__value--action{font:inherit;font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text-heading);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:0;align-self:flex-start;padding:0}.stat__value--action:hover{color:var(--c-blue);text-underline-offset:3px;text-decoration:underline}.stat__value--action:focus-visible{box-shadow:var(--shadow-focus);outline:none}.stat__label{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:6px;display:flex}.period{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.period__group{background:var(--surface-sunken);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:3px;display:inline-flex}.period__option{padding:5px var(--space-3);border-radius:var(--radius-xs);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted);transition:background-color var(--transition-fast), color var(--transition-fast)}.period__option:hover{color:var(--c-blue)}.period__option--active{background:var(--surface-card);color:var(--c-blue);font-weight:var(--fw-semibold);box-shadow:var(--shadow-xs)}.period__dates{align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-muted);display:inline-flex}.period__date-input{height:34px;padding:0 var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-xs);background:var(--surface-card);color:var(--text-body);font-size:var(--fs-sm);font-family:inherit}.logs-panes{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.log-pane{background:var(--c-white);border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-xs);flex-direction:column;display:flex;position:relative;overflow:hidden}.log-pane__header{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color);flex-direction:column;display:flex}.log-pane__title-row,.log-pane__filters{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.log-pane__filters .input{min-height:34px;font-size:var(--fs-sm)}.log-pane__header .select{width:auto;min-width:160px;min-height:34px;font-size:var(--fs-sm)}.log-pane__scroll{height:calc(100vh - 300px);min-height:420px;overflow-y:auto}.log-pane__state{gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.log-pane__older{padding:var(--space-3);border-bottom:1px solid var(--border-color);justify-content:center;display:flex}.log-pane__to-end{right:var(--space-4);bottom:var(--space-4);box-shadow:var(--shadow-md);border-radius:var(--radius-sm);position:absolute}.log-row{align-items:flex-start;gap:var(--space-1);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-color);flex-direction:column;transition:background-color 1s;display:flex}.log-row--highlight{background:var(--c-warning-soft);transition:none}.log-row__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.log-row__time{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-xs);background:0 0;border:0;padding:0}.log-row__time--link{cursor:pointer}.log-row__time--link:hover{color:var(--c-blue);text-decoration:underline}.log-row__instance{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-2xs)}.log-lines__text{max-width:100%;font-family:var(--font-mono);font-size:var(--fs-xs);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.5}.log-request{color:var(--c-blue);font-family:var(--font-mono);font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;padding:0}.log-request:hover{text-decoration:underline}.logs-tabs .tab{cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;font-family:inherit}.logs-notice{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-color);background:var(--c-blue-soft);font-size:var(--fs-sm);margin:0;display:flex}.logs-notice--danger{background:var(--c-danger-soft);color:var(--c-danger)}.log-pane .logs-notice{border-top:0;border-bottom:1px solid var(--border-color);padding:var(--space-2) var(--space-4)}@media (width<=640px){.logs-notice{padding:var(--space-3) var(--space-4);flex-wrap:wrap}.log-pane__header{flex-wrap:wrap}.log-pane__scroll{height:calc(100vh - 360px);min-height:360px}}.qr-modal__preview{padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff;place-items:center;display:grid}.qr-modal__image{aspect-ratio:1;width:100%;max-width:240px;display:block}.qr-modal__url{justify-content:center;display:flex}.qr-modal__warning{padding:var(--space-3) var(--space-4);border:1px solid var(--c-warning-border);border-radius:var(--radius-sm);background:var(--c-warning-soft);color:var(--c-warning-strong);font-size:var(--fs-sm);line-height:var(--lh-relaxed)}.status-banner{align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-xs);display:flex}.status-banner__icon{border-radius:var(--radius-pill);background:var(--c-neutral-soft);width:44px;height:44px;color:var(--text-muted);flex:none;justify-content:center;align-items:center;display:inline-flex}.status-banner__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-heading)}.status-banner__body{margin-top:var(--space-1);font-size:var(--fs-sm);color:var(--text-muted)}.status-banner--success{border-color:var(--c-success-border);background:var(--c-success-soft)}.status-banner--success .status-banner__icon{background:var(--c-white);color:var(--c-success)}.status-banner--warning{border-color:var(--c-warning-border);background:var(--c-warning-soft)}.status-banner--warning .status-banner__icon{background:var(--c-white);color:var(--c-warning-strong)}.status-banner--danger{border-color:var(--c-danger-border);background:var(--c-danger-soft)}.status-banner--danger .status-banner__icon{background:var(--c-white);color:var(--c-danger)}.status-card__title{align-items:center;gap:var(--space-2);display:inline-flex}.status-card .card__header{flex-wrap:wrap}.status-card__footer{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-color);justify-content:flex-end;display:flex}.status-meta{gap:var(--space-2) var(--space-6);font-size:var(--fs-xs);color:var(--text-subtle);flex-wrap:wrap;display:flex}.toaster{right:var(--space-6);bottom:var(--space-6);z-index:var(--z-toast);gap:var(--space-2);max-width:min(400px, calc(100vw - var(--space-8)));flex-direction:column;display:flex;position:fixed}@media (width<=640px){.toaster{left:var(--space-4);right:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom));max-width:none}}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--c-white);font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:var(--lh-normal);animation:toast-in var(--transition-base);display:flex}.toast--success{background:var(--c-success)}.toast--error{background:var(--c-danger)}.toast--info{background:var(--c-blue)}.toast__message{flex:1}.toast__close{color:currentColor;opacity:.75;border-radius:var(--radius-xs);flex-shrink:0;padding:2px}.toast__close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}:root{--c-ice-light:#e5f2ff;--c-lilac-light:#c6beee;--c-white:#fff;--c-graphite:#424242;--c-blue:#1f087b;--c-aqua:#85d8d4;--c-lilac:#b495ff;--gradient-brand:linear-gradient(135deg, #85d8d4, #b495ff);--c-blue-hover:#180660;--c-blue-active:#120449;--c-blue-soft:#f0edfa;--c-blue-wash:#1f087b0f;--c-blue-wash-strong:#1f087b1f;--c-aqua-deep:#1f8a85;--c-aqua-soft:#e7f7f6;--c-lilac-deep:#6b3fd4;--c-lilac-soft:#f2edff;--surface-canvas:var(--c-ice-light);--surface-card:var(--c-white);--surface-sunken:#f4f8ff;--surface-hover:#f7faff;--surface-sorted:#eaf1ff;--surface-inverse:var(--c-blue);--text-heading:var(--c-blue);--text-body:var(--c-graphite);--text-muted:#6f7280;--text-subtle:#8f93a1;--text-on-dark:var(--c-white);--text-on-dark-muted:#ffffffad;--border-color:#dfe6f5;--border-strong:#c8d4ec;--border-inverse:#ffffff29;--c-success:#16a34a;--c-success-soft:#e8f7ee;--c-success-border:#b7e4c7;--c-danger:#dc2626;--c-danger-hover:#b91c1c;--c-danger-soft:#fdecec;--c-danger-border:#f6c9c9;--c-warning:#d97706;--c-warning-strong:#b45309;--c-warning-soft:#fef4e6;--c-warning-border:#f5d9ae;--c-neutral:var(--text-muted);--c-neutral-soft:#eef1f7;--c-neutral-border:#dce1ea;--font-primary:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.25;--lh-normal:1.5;--lh-relaxed:1.65;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--shadow-xs:0 1px 2px #1f087b0f;--shadow-sm:0 2px 8px #1f087b12;--shadow-md:0 4px 20px #1f087b17;--shadow-lg:0 12px 40px #1f087b29;--shadow-focus:0 0 0 3px #1f087b2e;--transition-fast:.12s ease;--transition-base:.18s ease;--chart-1:#5b3bd9;--chart-2:#17a79f;--chart-3:#b495ff;--chart-4:#e08a2e;--chart-seq-1:#cdc2f5;--chart-seq-2:#a98fea;--chart-seq-3:#825fdf;--chart-seq-4:#5b3bd9;--chart-previous:#b9c2d6;--chart-grid:#e8edf7;--chart-axis:#8f93a1;--sidebar-width:252px;--sidebar-width-collapsed:72px;--topbar-height:64px;--content-max-width:1500px;--z-dropdown:100;--z-sticky:200;--z-modal:300;--z-toast:400}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-primary);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--text-body);background-color:var(--surface-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}h1,h2,h3,h4,h5,h6{font-weight:var(--fw-bold);line-height:var(--lh-tight);color:var(--text-heading)}h1{font-size:var(--fs-2xl);letter-spacing:-.02em}h2{font-size:var(--fs-xl);letter-spacing:-.01em}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-md);font-weight:var(--fw-semibold)}a{color:var(--c-blue);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--c-lilac-deep);text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}img,svg{max-width:100%;display:block}:focus-visible{outline:2px solid var(--c-blue);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:var(--c-lilac);color:var(--c-white)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--text-subtle);background-clip:content-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono{font-family:var(--font-mono);letter-spacing:-.02em;font-size:.92em}.stack{gap:var(--space-6);display:grid}.stack--tight{gap:var(--space-4);display:grid}.grid-2{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));display:grid}.grid-stats{gap:var(--space-5) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.row--end{justify-content:flex-end}.text-muted{color:var(--text-muted)}.text-sm{font-size:var(--fs-sm)}@media (width<=640px){.stack,.grid-2{gap:var(--space-4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
