.alert{display:flex;align-items:flex-start;gap:var(--density-space-sm);padding:var(--density-space-sm);border-radius:var(--radius-md);box-shadow:var(--token-shadow-inset);border:1px solid transparent;font-size:var(--density-font-size-sm);position:relative;overflow:hidden}.alert--info{background:var(--token-info-muted);border-color:color-mix(in srgb,var(--token-info) 18%,transparent)}.alert--success{background:var(--token-success-muted);border-color:color-mix(in srgb,var(--token-success) 18%,transparent)}.alert--warning{background:var(--token-warning-muted);border-color:color-mix(in srgb,var(--token-warning) 18%,transparent)}.alert--error{background:var(--token-error-muted);border-color:color-mix(in srgb,var(--token-error) 18%,transparent)}.alert-icon{flex-shrink:0;margin-top:1px;display:flex}.alert-icon svg{width:16px;height:16px}.alert--info .alert-icon,.alert--info .alert-title{color:var(--token-info)}.alert--success .alert-icon,.alert--success .alert-title{color:var(--token-success)}.alert--warning .alert-icon,.alert--warning .alert-title{color:var(--token-warning)}.alert--error .alert-icon,.alert--error .alert-title{color:var(--token-error)}.alert-content{flex:1;min-width:0}.alert-title{font-size:var(--density-font-size-md);font-weight:500;margin:0;line-height:1.4}.alert-body{font-size:var(--density-font-size-sm);color:var(--token-text-muted);line-height:1.5;margin-top:2px}.alert-close{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:var(--radius-xs);background:none;color:var(--token-text-faint);cursor:pointer;transition:background-color var(--icen-tx-fast),color var(--icen-tx-fast)}.alert-close:hover{color:var(--token-text);background:color-mix(in srgb,var(--token-text) 6%,transparent)}.alert-close:focus-visible{outline:none;box-shadow:var(--icen-ring)}.alert-close svg{width:14px;height:14px}.result{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px var(--density-space-md)}.result-icon{width:64px;height:64px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;box-shadow:var(--token-shadow-inset);border:1px solid transparent;margin-bottom:var(--density-space-md)}.result-icon svg{width:28px;height:28px}.result--success .result-icon{background:var(--token-success-muted);color:var(--token-success);border-color:color-mix(in srgb,var(--token-success) 12%,transparent)}.result--error .result-icon{background:var(--token-error-muted);color:var(--token-error);border-color:color-mix(in srgb,var(--token-error) 12%,transparent)}.result--warning .result-icon{background:var(--token-warning-muted);color:var(--token-warning);border-color:color-mix(in srgb,var(--token-warning) 12%,transparent)}.result--info .result-icon{background:var(--token-info-muted);color:var(--token-info);border-color:color-mix(in srgb,var(--token-info) 12%,transparent)}.result-title{font-size:var(--density-font-size-lg);font-weight:600;color:var(--token-text);margin:0;font-family:var(--font-heading);line-height:1.3}.result-desc{font-size:var(--density-font-size-sm);color:var(--token-text-muted);margin:var(--density-space-xs) 0 0;max-width:360px;line-height:1.5}.result-extra{display:flex;align-items:center;gap:var(--density-space-sm);margin-top:var(--density-space-md)}.progress{display:flex;align-items:center;gap:var(--density-space-sm)}.progress-track{flex:1;height:6px;overflow:hidden;border-radius:var(--radius-full);background:color-mix(in srgb,var(--token-line-soft) 40%,transparent)}.progress-bar{height:100%;border-radius:var(--radius-full);background:var(--token-accent);transition:width var(--icen-tx-slow)}.progress--success .progress-bar{background:var(--token-success)}.progress--warning .progress-bar{background:var(--token-warning)}.progress--error .progress-bar{background:var(--token-error)}.progress--indeterminate .progress-bar{width:35%!important;animation:progress-sweep 1.4s var(--ease-in-out, var(--ease-out)) infinite}@keyframes progress-sweep{0%{transform:translate(-100%)}to{transform:translate(300%)}}.progress--sm .progress-track{height:4px}.progress--lg .progress-track{height:8px}.progress-label{font-size:var(--density-font-size-xs);color:var(--token-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.spinner{display:inline-block;width:20px;height:20px;border:2px solid color-mix(in srgb,var(--token-accent) 30%,transparent);border-top-color:var(--token-accent);border-radius:var(--radius-full);animation:icen-spin .8s linear infinite}.spinner--sm{width:14px;height:14px;border-width:2px}.spinner--lg{width:32px;height:32px;border-width:3px}.spinner--success{border-color:color-mix(in srgb,var(--token-success) 30%,transparent);border-top-color:var(--token-success)}.spinner--error{border-color:color-mix(in srgb,var(--token-error) 30%,transparent);border-top-color:var(--token-error)}.spinner--muted{border-color:color-mix(in srgb,var(--token-text-faint) 30%,transparent);border-top-color:var(--token-text-faint)}@keyframes icen-spin{to{transform:rotate(360deg)}}.spinner-wrap{display:inline-flex;align-items:center;gap:var(--density-space-xs);font-size:var(--density-font-size-sm);color:var(--token-text-muted)}.skeleton{display:block;background:color-mix(in srgb,var(--token-text) 8%,transparent);border-radius:var(--radius-sm);animation:icen-skeleton-pulse 2s ease-in-out infinite}.skeleton--circle{border-radius:var(--radius-full)}.skeleton--text{height:.85em;margin:.25em 0}.skeleton--text:last-child{width:60%}@keyframes icen-skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.alert-actions{display:flex;gap:var(--density-space-xs);margin-top:var(--density-space-xs)}.alert--banner{border-radius:0;border-left:none;border-right:none;border-top:none}.alert--inline{display:inline-flex;padding:2px var(--density-space-sm);font-size:var(--density-font-size-xs)}.alert--inline .alert-close{width:16px;height:16px}.result-list{margin:var(--density-space-sm) 0 0;padding:var(--density-space-sm);background:var(--token-bg-soft);border-radius:var(--radius-md);font-size:var(--density-font-size-sm);color:var(--token-text-muted);text-align:left;max-width:400px;max-height:200px;overflow-y:auto}.result-list-item{display:flex;align-items:flex-start;gap:var(--density-space-xs);padding:2px 0;font-variant-numeric:tabular-nums;word-break:break-all}.progress-ring-wrap{display:inline-flex;align-items:center;justify-content:center;position:relative}.progress-ring{transform:rotate(-90deg)}.progress-ring-track{fill:none;stroke:var(--token-fill-2);stroke-width:4}.progress-ring-fill{fill:none;stroke:var(--token-accent);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset var(--icen-tx-slow) var(--ease-out)}.progress-ring-text{position:absolute;font-size:var(--density-font-size-sm);font-weight:600;font-variant-numeric:tabular-nums;color:var(--token-text)}.progress-ring--sm .progress-ring-track,.progress-ring--sm .progress-ring-fill{stroke-width:3}.progress-ring--lg .progress-ring-track,.progress-ring--lg .progress-ring-fill{stroke-width:6}.progress-ring--success .progress-ring-fill{stroke:var(--token-success)}.progress-ring--warning .progress-ring-fill{stroke:var(--token-warning)}.progress-ring--error .progress-ring-fill{stroke:var(--token-error)}.progress--striped .progress-bar{background-image:linear-gradient(45deg,color-mix(in srgb,var(--token-card-strong) 20%,transparent) 25%,transparent 25%,transparent 50%,color-mix(in srgb,var(--token-card-strong) 20%,transparent) 50%,color-mix(in srgb,var(--token-card-strong) 20%,transparent) 75%,transparent 75%,transparent);background-size:20px 20px;animation:progress-stripe 1s linear infinite}@keyframes progress-stripe{0%{background-position:0 0}to{background-position:20px 0}}.progress--gradient .progress-bar{background:linear-gradient(90deg,var(--token-accent),color-mix(in srgb,var(--token-accent) 60%,var(--token-info)))}.spinner--dots{width:auto;height:auto;border:none;display:inline-flex;gap:3px;background:none;animation:none}.spinner--dots span{display:block;width:6px;height:6px;border-radius:var(--radius-full);background:var(--token-accent);animation:spinner-dot 1.4s ease-in-out infinite}.spinner--dots span:nth-child(2){animation-delay:.2s}.spinner--dots span:nth-child(3){animation-delay:.4s}@keyframes spinner-dot{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.spinner--bars{width:auto;height:auto;border:none;display:inline-flex;align-items:flex-end;gap:2px;background:none;animation:none}.spinner--bars span{display:block;width:3px;height:100%;background:var(--token-accent);border-radius:1px;animation:spinner-bar 1s ease-in-out infinite}.spinner--bars span:nth-child(2){animation-delay:.1s}.spinner--bars span:nth-child(3){animation-delay:.2s}.spinner--bars span:nth-child(4){animation-delay:.3s}@keyframes spinner-bar{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.spinner-overlay{position:fixed;inset:0;z-index:var(--z-overlay, 9999);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--token-card-strong) 70%,transparent);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);flex-direction:column;gap:var(--density-space-md)}.spinner-overlay-text{font-size:var(--density-font-size-sm);color:var(--token-text-muted)}.skeleton-text-group{display:flex;flex-direction:column;gap:var(--density-space-xs);flex:1}.skeleton-media{display:flex;align-items:center;gap:var(--density-space-sm)}.skeleton-table{display:flex;flex-direction:column;gap:var(--density-space-sm)}.skeleton-table-row{display:flex;gap:var(--density-space-sm)}.skeleton-table-row>*{height:12px;border-radius:var(--radius-xs);background:color-mix(in srgb,var(--token-text) 8%,transparent);animation:icen-skeleton-pulse 2s ease-in-out infinite}.skeleton--shimmer{background:linear-gradient(90deg,color-mix(in srgb,var(--token-text) 6%,transparent),color-mix(in srgb,var(--token-text) 12%,transparent),color-mix(in srgb,var(--token-text) 6%,transparent));background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.progress-bar{transition:none}.progress--indeterminate .progress-bar{animation:none;width:100%!important}.progress--striped .progress-bar{animation:none}.progress-ring-fill{transition:none}.spinner{animation-duration:2s}.spinner--dots span,.spinner--bars span{animation:none}.skeleton,.skeleton-table-row>*{animation:none;opacity:.6}.skeleton--shimmer{animation:none}}.form{display:flex;flex-direction:column;gap:var(--density-space-md)}.form-field{display:flex;flex-direction:column;gap:var(--density-space-xs);margin:0;padding:0;border:0}.form-label{font-size:var(--density-font-size-sm);color:var(--token-text-muted);letter-spacing:.02em;font-weight:500}.form-label .req{color:var(--token-error);margin-left:2px}.form-input,.form-textarea{width:100%;padding:0 var(--density-space-md);height:var(--density-input-height-md);background:var(--token-control);color:var(--token-text);border:1px solid var(--token-outline-soft);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--density-font-size-md);outline:none;transition:border-color var(--icen-tx-fast),box-shadow var(--icen-tx-fast),background-color var(--icen-tx-fast)}.form-textarea{height:auto;min-height:calc(6em + 24px);padding:var(--density-space-sm) var(--density-space-md);line-height:1.5;resize:vertical}.form-input::placeholder,.form-textarea::placeholder{color:color-mix(in srgb,var(--token-text-faint) 60%,transparent)}.form-input:hover,.form-textarea:hover{border-color:var(--icen-hover-border)}.form-input:focus-visible,.form-textarea:focus-visible{border-color:var(--icen-control-focus-border);box-shadow:var(--icen-control-focus-shadow)}.form-input:disabled,.form-textarea:disabled,.form-input[aria-disabled=true],.form-textarea[aria-disabled=true]{opacity:var(--icen-disabled-opacity);cursor:not-allowed;background:var(--token-bg-soft)}.form-input:where(:invalid:not(:placeholder-shown),[data-invalid=true]),.form-textarea:where(:invalid:not(:placeholder-shown),[data-invalid=true]){border-color:var(--token-error)}.form-input:where(:invalid:not(:placeholder-shown),[data-invalid=true]):focus-visible,.form-textarea:where(:invalid:not(:placeholder-shown),[data-invalid=true]):focus-visible{border-color:var(--token-error);box-shadow:var(--icen-control-error-shadow)}.form-input--sm,.form-textarea--sm{height:var(--density-input-height-sm);font-size:var(--density-font-size-sm)}.form-input--lg,.form-textarea--lg{height:var(--density-input-height-lg);font-size:var(--density-font-size-lg)}.form-hint{font-size:var(--density-font-size-xs);color:var(--token-text-faint);line-height:1.4}.form-error{font-size:var(--density-font-size-xs);color:var(--token-error);line-height:1.4}.form-field[data-invalid=true] .form-label{color:var(--token-error)}.form-field--horizontal{display:flex;flex-direction:row;align-items:flex-start;gap:var(--density-space-md)}.form-field--horizontal .form-label{flex-shrink:0;width:120px;text-align:right;padding-top:calc((var(--density-input-height-md) - 1lh) / 2)}.form-field--horizontal .form-field-control{flex:1;min-width:0}.form-label-help{display:inline-flex;align-items:center;margin-left:4px;width:14px;height:14px;color:var(--token-text-faint);cursor:help}.form-label-help svg{width:12px;height:12px}.form-label-optional{font-size:10px;font-weight:400;color:var(--token-text-faint);margin-left:4px}.form-section{padding:var(--density-space-sm) 0}.form-section-title{font-size:var(--density-font-size-md);font-weight:600;color:var(--token-text);margin:0 0 var(--density-space-sm);padding-bottom:var(--density-space-xs);border-bottom:1px solid var(--token-outline-soft)}.form-section-desc{font-size:var(--density-font-size-sm);color:var(--token-text-muted);margin:calc(-1 * var(--density-space-xs)) 0 var(--density-space-sm)}.form-actions{display:flex;align-items:center;gap:var(--density-space-sm);padding-top:var(--density-space-sm);border-top:1px solid var(--token-outline-soft)}.form-actions--right{justify-content:flex-end}.form-actions--center{justify-content:center}.form-actions--split{justify-content:space-between}.form--inline{flex-direction:row;align-items:flex-end;gap:var(--density-space-sm);flex-wrap:wrap}.form--inline .form-field{flex:1;min-width:160px}.form-grid{display:grid;grid-template-columns:repeat(var(--form-cols, 2),1fr);gap:var(--density-space-md)}.form-grid .form-field--full{grid-column:1 / -1}.form-field[data-valid=true] .form-label:after{content:"✓";margin-left:4px;color:var(--token-success);font-weight:700}.form-loading{position:relative;pointer-events:none;opacity:.6}.form-loading:after{content:"";position:absolute;top:50%;left:50%;width:24px;height:24px;margin:-12px 0 0 -12px;border:2px solid color-mix(in srgb,var(--token-accent) 30%,transparent);border-top-color:var(--token-accent);border-radius:50%;animation:form-loading-spin .8s linear infinite}@keyframes form-loading-spin{to{transform:rotate(360deg)}}.banner-ok,.banner-err{display:flex;align-items:flex-start;gap:var(--density-space-sm);padding:var(--density-space-sm) var(--density-space-md);margin-bottom:var(--density-space-md);border-radius:var(--radius-md);font-size:var(--density-font-size-sm);line-height:1.5;border:1px solid transparent}.banner-ok{background:var(--token-success-muted);color:var(--token-success);border-color:color-mix(in srgb,var(--token-success) 25%,transparent)}.banner-err{background:var(--token-error-muted);color:var(--token-error);border-color:color-mix(in srgb,var(--token-error) 25%,transparent)}.banner-block{align-items:center;padding:var(--density-space-md)}@media(prefers-reduced-motion:reduce){.banner-ok,.banner-err{transition:none}}.input-wrap{display:flex;align-items:center;gap:var(--density-space-xs);width:100%;height:var(--density-input-height-md);padding:0 var(--density-space-sm);font-size:var(--density-font-size-md);background:var(--token-control);border:1px solid var(--token-outline-soft);border-radius:var(--radius-md);box-shadow:var(--token-shadow-inset);transition:border-color var(--icen-tx-fast),box-shadow var(--icen-tx-fast)}.input-wrap:hover{border-color:var(--icen-hover-border)}.input-wrap:focus-within{box-shadow:var(--icen-control-focus-shadow);border-color:var(--icen-control-focus-border)}.input-wrap.is-error,.input-wrap.is-error:focus-within{border-color:var(--token-error)}.input-wrap.is-error:focus-within{box-shadow:var(--icen-control-error-shadow)}.input-wrap.is-disabled,.input-wrap[aria-disabled=true],.input-wrap[data-disabled]{opacity:var(--icen-disabled-opacity);background:var(--token-bg-soft);cursor:not-allowed;pointer-events:none}.input-wrap.is-disabled .input{cursor:not-allowed}.input-wrap--sm{height:var(--density-input-height-sm);padding:0 10px;font-size:var(--density-font-size-sm)}.input-wrap--lg{height:var(--density-input-height-lg);padding:0 var(--density-space-md);font-size:var(--density-font-size-lg)}.input{flex:1;min-width:0;padding:0;background:transparent;border:none;outline:none;color:var(--token-text);font:inherit}.input::placeholder{color:color-mix(in srgb,var(--token-text-faint) 60%,transparent)}.input:read-only{color:var(--token-text-muted);cursor:default}.input::-webkit-search-cancel-button{-webkit-appearance:none}.input-leading,.input-trailing{display:inline-flex;align-items:center;flex-shrink:0;color:var(--token-text-faint)}.input-leading svg,.input-trailing svg{width:14px;height:14px}.input-affix{display:inline-flex;align-items:center;flex-shrink:0;padding:0 var(--density-space-xs);color:var(--token-text-muted);font-size:.92em;background:var(--token-fill-1);border-radius:var(--radius-xs)}.input-clear,.input-pw-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-full);color:var(--token-text-faint);transition:color var(--icen-tx-fast),background-color var(--icen-tx-fast)}.input-clear:hover,.input-pw-toggle:hover{color:var(--token-text);background:var(--token-surface-hover)}.input-clear:focus-visible,.input-pw-toggle:focus-visible{outline:none;box-shadow:var(--icen-ring)}.input-clear svg,.input-pw-toggle svg{width:12px;height:12px}.textarea-wrap{display:flex;width:100%;background:var(--token-control);border:1px solid var(--token-outline-soft);border-radius:var(--radius-md);box-shadow:var(--token-shadow-inset);transition:border-color var(--icen-tx-fast),box-shadow var(--icen-tx-fast)}.textarea-wrap:hover{border-color:var(--icen-hover-border)}.textarea-wrap:focus-within{box-shadow:var(--icen-control-focus-shadow);border-color:var(--icen-control-focus-border)}.textarea-wrap.is-error,.textarea-wrap.is-error:focus-within{border-color:var(--token-error);box-shadow:var(--icen-control-error-shadow)}.textarea-wrap.is-disabled,.textarea-wrap[aria-disabled=true],.textarea-wrap[data-disabled]{opacity:var(--icen-disabled-opacity);background:var(--token-bg-soft);cursor:not-allowed;pointer-events:none}.textarea-wrap.is-disabled .textarea{cursor:not-allowed}.textarea{width:100%;padding:var(--density-space-sm) var(--density-space-md);background:transparent;border:none;outline:none;resize:vertical;color:var(--token-text);font:inherit;font-size:var(--density-font-size-md);line-height:1.5;min-height:calc(4.5em + 24px)}.textarea::placeholder{color:color-mix(in srgb,var(--token-text-faint) 60%,transparent)}.input-wrap{position:relative}.input-wrap--has-counter{padding-right:calc(var(--density-space-sm) + 48px)}.input-wrap--has-counter .input-counter{position:absolute;right:var(--density-space-sm);top:50%;transform:translateY(-50%);font-size:var(--density-font-size-xs);color:var(--token-text-faint);font-variant-numeric:tabular-nums;pointer-events:none}.input-counter{position:absolute;right:var(--density-space-sm);bottom:var(--density-space-xs);font-size:var(--density-font-size-xs);color:var(--token-text-faint);font-variant-numeric:tabular-nums;pointer-events:none;transition:color var(--icen-tx-fast)}.input-counter.is-warn{color:var(--token-warning)}.input-counter.is-error{color:var(--token-error);font-weight:600}.textarea-wrap{position:relative}.textarea-wrap .textarea{padding-bottom:24px}.textarea-wrap .input-counter{position:absolute;right:var(--density-space-sm);bottom:var(--density-space-xs)}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-full);background:var(--token-accent-subtle);color:var(--token-accent);font-weight:600;width:36px;height:36px;font-size:var(--density-font-size-sm);flex-shrink:0;user-select:none}.avatar--xs{width:20px;height:20px;font-size:9px}.avatar--sm{width:28px;height:28px;font-size:10px}.avatar--lg{width:48px;height:48px;font-size:var(--density-font-size-md)}.avatar--xl{width:80px;height:80px;font-size:var(--density-font-size-lg)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-group{display:inline-flex;align-items:center}.avatar-group .avatar{border:2px solid var(--token-bg);margin-left:-8px}.avatar-group .avatar:first-child{margin-left:0}.avatar-status{position:absolute;bottom:0;right:0;width:10px;height:10px;border:2px solid var(--token-bg);border-radius:var(--radius-full);background:var(--token-text-faint)}.avatar-status--online{background:var(--token-success)}.avatar-status--busy{background:var(--token-error)}.avatar-status--away{background:var(--token-warning)}.avatar--info{background:color-mix(in srgb,var(--token-info) 15%,transparent);color:var(--token-info)}.avatar--success{background:color-mix(in srgb,var(--token-success) 15%,transparent);color:var(--token-success)}.avatar--warning{background:color-mix(in srgb,var(--token-warning) 15%,transparent);color:var(--token-warning)}.avatar--error{background:color-mix(in srgb,var(--token-error) 15%,transparent);color:var(--token-error)}.avatar--gradient{background:linear-gradient(135deg,var(--token-accent),var(--token-accent-deep, var(--token-accent)));color:var(--token-on-accent, #fff)}.avatar--square{border-radius:var(--radius-md)}.avatar--ring{box-shadow:0 0 0 2px var(--token-bg),0 0 0 4px var(--token-error)}.avatar-group-count{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:10px;font-weight:600;color:var(--token-text-muted);background:var(--token-fill-2);border:2px solid var(--token-bg);border-radius:var(--radius-full);margin-left:-8px}.media-card{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--token-bg-soft);transition:transform var(--icen-tx-slow),box-shadow var(--icen-tx-slow)}.media-card:hover{transform:translateY(-6px);box-shadow:0 8px 32px color-mix(in srgb,var(--token-text) 18%,transparent),0 0 20px var(--token-accent-glow)}.media-card-cover{display:block;width:100%;aspect-ratio:2 / 3;object-fit:cover}.media-card-overlay{position:absolute;left:0;right:0;bottom:0;padding:32px var(--density-space-sm) var(--density-space-xs);background:linear-gradient(to top,color-mix(in srgb,var(--token-text) 72%,transparent),color-mix(in srgb,var(--token-text) 35%,transparent) 65%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--token-bg);transform:translateY(100%);transition:transform var(--icen-tx-normal);pointer-events:none}.media-card:hover .media-card-overlay{transform:translateY(0);transition-delay:80ms}.media-card-overlay-title{font-size:var(--density-font-size-md);font-weight:600;margin:0}.media-card-overlay-desc{font-size:var(--density-font-size-xs);margin:2px 0 0;opacity:.8}.rating{display:inline-flex;align-items:center;gap:2px}.rating-star{padding:2px;border-radius:var(--radius-xs);background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:transform var(--icen-tx-fast)}.rating-star:hover{transform:scale(1.1)}.rating-star:focus-visible{outline:none;box-shadow:var(--icen-ring)}.rating-star svg{width:18px;height:18px;display:block;fill:transparent;stroke:var(--token-line-strong);stroke-width:1.6;transition:fill var(--icen-tx-fast),stroke var(--icen-tx-fast)}.rating--sm .rating-star svg{width:14px;height:14px}.rating--lg .rating-star svg{width:22px;height:22px}.rating-star.is-filled svg{fill:var(--token-warning);stroke:var(--token-warning)}.rating-star.is-half svg{fill:color-mix(in srgb,var(--token-warning) 50%,transparent);stroke:var(--token-warning)}.rating-value{margin-left:var(--density-space-xs);font-size:var(--density-font-size-sm);color:var(--token-text-muted);font-variant-numeric:tabular-nums}.rating--readonly .rating-star{cursor:default}.rating--readonly .rating-star:hover{transform:none}.rating-clear{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:4px;padding:0;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--token-text-faint);cursor:pointer;transition:color var(--icen-tx-fast),background-color var(--icen-tx-fast)}.rating-clear:hover{color:var(--token-text);background:var(--token-fill-1)}.rating-clear svg{width:12px;height:12px}.rating-count{margin-left:var(--density-space-xs);font-size:var(--density-font-size-xs);color:var(--token-text-faint);font-variant-numeric:tabular-nums}.rating-summary{display:inline-flex;align-items:center;gap:var(--density-space-xs);font-size:var(--density-font-size-sm);color:var(--token-text-muted)}.carousel{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--token-control)}.carousel-track{display:flex;transition:transform var(--icen-tx-slow)}.carousel-slide{width:100%;flex-shrink:0}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--token-card) 78%,transparent);border:1px solid var(--token-outline-soft);color:var(--token-text);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:var(--token-shadow-card);cursor:pointer;z-index:2;transition:background-color var(--icen-tx-fast),transform var(--icen-tx-fast),opacity var(--icen-tx-fast)}.carousel-arrow:hover{background:var(--token-card-strong)}.carousel-arrow:focus-visible{outline:none;box-shadow:var(--icen-ring),var(--token-shadow-card)}.carousel-arrow:active{transform:translateY(-50%) scale(.95)}.carousel-arrow:disabled,.carousel-arrow[aria-disabled=true]{opacity:var(--icen-disabled-opacity);cursor:not-allowed;pointer-events:none}.carousel-arrow svg{width:16px;height:16px}.carousel-arrow--prev{left:var(--density-space-sm)}.carousel-arrow--next{right:var(--density-space-sm)}.carousel-dots{position:absolute;bottom:var(--density-space-sm);left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:2}.carousel-dot{width:6px;height:6px;padding:0;border:0;border-radius:var(--radius-full);background:color-mix(in srgb,var(--token-card) 70%,transparent);cursor:pointer;transition:width var(--icen-tx-fast),background-color var(--icen-tx-fast)}.carousel-dot:hover{background:color-mix(in srgb,var(--token-accent) 70%,transparent)}.carousel-dot:focus-visible{outline:none;box-shadow:var(--icen-ring)}.carousel-dot.active,.carousel-dot[aria-current=true]{width:20px;background:var(--token-accent)}.carousel-progress{position:absolute;bottom:0;left:0;height:2px;background:var(--token-accent);transition:width var(--icen-tx-slow)}.carousel-thumbs{display:flex;gap:var(--density-space-xs);margin-top:var(--density-space-sm);padding:var(--density-space-xs);overflow-x:auto;scrollbar-width:none}.carousel-thumbs::-webkit-scrollbar{display:none}.carousel-thumb{flex-shrink:0;width:56px;height:40px;border-radius:var(--radius-sm);overflow:hidden;border:2px solid transparent;cursor:pointer;opacity:.6;transition:opacity var(--icen-tx-fast),border-color var(--icen-tx-fast)}.carousel-thumb:hover{opacity:1}.carousel-thumb.is-active,.carousel-thumb[aria-current=true]{opacity:1;border-color:var(--token-accent)}.carousel-thumb img,.carousel-thumb video{width:100%;height:100%;object-fit:cover}.carousel-index{position:absolute;top:var(--density-space-sm);right:var(--density-space-sm);padding:2px var(--density-space-sm);font-size:var(--density-font-size-xs);font-variant-numeric:tabular-nums;color:var(--token-bg);background:color-mix(in srgb,var(--token-text) 60%,transparent);border-radius:var(--radius-full);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:2}.carousel-slide{animation:carousel-slide-fade var(--icen-tx-normal) var(--ease-out)}@keyframes carousel-slide-fade{0%{opacity:.6}to{opacity:1}}@media(prefers-reduced-motion:reduce){.carousel-track{transition:none}.carousel-slide{animation:none}.media-card,.rating-star,.carousel-arrow,.carousel-thumb{transition:none}}.menu{position:fixed;z-index:var(--z-popover);min-width:180px;max-width:320px;max-height:min(70vh,420px);overflow-y:auto;overscroll-behavior:contain;margin:0;padding:var(--density-space-xs);background:color-mix(in srgb,var(--token-card-strong) 92%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--token-outline);box-shadow:var(--token-shadow-overlay);border-radius:var(--radius-lg);animation:icen-menu-in var(--icen-tx-fast)}.menu[data-side=top]{animation-name:icen-menu-in-top}.menu[data-side=left]{animation-name:icen-menu-in-left}.menu[data-side=right]{animation-name:icen-menu-in-right}.menu--context{min-width:218px;max-width:286px;z-index:var(--z-tooltip);animation-duration:.1s}.menu-label{padding:var(--density-space-xs) var(--density-space-sm);font-size:var(--density-font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--token-text-faint)}.menu-header{padding:var(--density-space-sm) calc(var(--density-space-sm) + 2px) var(--density-space-xs)}.menu-header-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--density-font-size-sm);font-weight:500;line-height:1.4;color:var(--token-text)}.menu-header-desc{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--density-font-size-xs);line-height:1.4;color:var(--token-text-faint)}.menu-item{position:relative;display:flex;align-items:center;gap:var(--density-space-xs);width:100%;padding:6px var(--density-space-sm);background:none;border:0;font:inherit;font-size:var(--density-font-size-sm);text-align:left;color:var(--token-text);border-radius:var(--radius-sm);cursor:pointer;user-select:none;transition:background-color var(--icen-tx-fast),color var(--icen-tx-fast)}.menu-item:hover:not(.is-disabled){background:var(--token-fill-1)}.menu-item.is-highlighted,.menu-item:focus-visible{background:var(--token-surface-hover);color:var(--token-accent);outline:none}.menu-item--danger{color:var(--token-error)}.menu-item--danger.is-highlighted,.menu-item--danger:focus-visible{background:var(--token-error-muted);color:var(--token-error)}.menu-item.is-disabled,.menu-item:disabled,.menu-item[aria-disabled=true]{opacity:var(--icen-disabled-opacity);pointer-events:none}.menu-item-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0}.menu-item-icon:empty{width:14px;height:auto}.menu-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item-sub{display:block;font-size:var(--density-font-size-xs);line-height:1.3;color:var(--token-text-faint);margin-top:2px}.menu-item-shortcut{font-size:var(--density-font-size-xs);color:var(--token-text-faint);font-family:var(--font-mono);margin-left:var(--density-space-sm)}.menu-item-chevron{width:12px;height:12px;flex-shrink:0;color:var(--token-text-faint)}.menu-item-check{position:absolute;left:var(--density-space-sm);top:50%;transform:translateY(-50%);color:var(--token-accent);font-size:var(--density-font-size-md);line-height:1}.menu-item--checked{padding-left:28px}.menu-separator{margin:var(--density-space-xs) calc(var(--density-space-sm) + 2px);height:1px;background:var(--token-line-soft)}@keyframes icen-menu-in{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes icen-menu-in-top{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes icen-menu-in-left{0%{opacity:0;transform:scale(.95) translate(8px)}to{opacity:1;transform:scale(1) translate(0)}}@keyframes icen-menu-in-right{0%{opacity:0;transform:scale(.95) translate(-8px)}to{opacity:1;transform:scale(1) translate(0)}}@media(prefers-reduced-motion:reduce){.menu,.menu--context{animation:none}}@media(hover:none){.menu-item:hover:not(.is-disabled){background:transparent}}.modal-backdrop{position:fixed;inset:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;padding:var(--density-space-md);background:color-mix(in srgb,var(--token-text) 45%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:icen-modal-fade-in var(--icen-tx-normal)}.modal-backdrop[hidden]{display:none}.modal{display:flex;flex-direction:column;overflow:hidden;width:100%;max-width:480px;max-height:calc(100vh - 32px);background:var(--token-card-strong);color:var(--token-text);border:1px solid var(--token-outline);box-shadow:var(--token-shadow-overlay);border-radius:var(--radius-xl);animation:icen-modal-scale-in var(--icen-tx-slow)}.modal:focus{outline:none}.modal:focus-visible{box-shadow:var(--token-shadow-overlay),var(--icen-ring-soft)}.modal--sm{max-width:360px}.modal--lg{max-width:640px}.modal--xl{max-width:800px}.modal--full{width:calc(100vw - 32px);max-width:none;height:calc(100vh - 32px);max-height:none;border-radius:var(--radius-lg)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--density-space-md);padding:var(--density-space-lg) var(--density-space-lg) var(--density-space-sm)}.modal-title{margin:0;font-size:var(--density-font-size-lg);font-weight:600;line-height:1.3;font-family:var(--font-heading)}.modal-description{margin:2px 0 0;font-size:var(--density-font-size-sm);color:var(--token-text-muted);line-height:1.5}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;flex-shrink:0;background:none;border:0;cursor:pointer;color:var(--token-text-faint);font-size:16px;line-height:1;border-radius:var(--radius-sm);transition:background-color var(--icen-tx-fast),color var(--icen-tx-fast)}.modal-close:hover{background:var(--token-surface-hover);color:var(--token-text)}.modal-close:focus-visible{outline:none;box-shadow:var(--icen-ring)}.modal-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--density-space-lg) var(--density-space-md);font-size:var(--density-font-size-md);line-height:1.6}.modal-footer{display:flex;justify-content:flex-end;gap:var(--density-space-sm);padding:var(--density-space-md) var(--density-space-lg);border-top:1px solid color-mix(in srgb,var(--token-line-soft) 40%,transparent)}.modal-footer--start{justify-content:flex-start}.modal-footer--between{justify-content:space-between}.modal-footer--column{flex-direction:column}.modal-footer--column>*{width:100%}.modal--sheet-left,.modal--sheet-right,.modal--sheet-top,.modal--sheet-bottom{position:fixed;max-width:none;max-height:none;border-radius:0}.modal--sheet-left{left:0;top:0;bottom:0;width:360px;height:100%;border-radius:0 var(--radius-xl) var(--radius-xl) 0;animation-name:icen-modal-slide-left}.modal--sheet-right{right:0;top:0;bottom:0;width:360px;height:100%;border-radius:var(--radius-xl) 0 0 var(--radius-xl);animation-name:icen-modal-slide-right}.modal--sheet-top{top:0;left:0;right:0;width:100%;height:300px;border-radius:0 0 var(--radius-xl) var(--radius-xl);animation-name:icen-modal-slide-top}.modal--sheet-bottom{bottom:0;left:0;right:0;width:100%;height:300px;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation-name:icen-modal-slide-bottom}.modal--sheet-left.modal--sm,.modal--sheet-right.modal--sm{width:280px}.modal--sheet-left.modal--lg,.modal--sheet-right.modal--lg{width:480px}.modal--sheet-top.modal--sm,.modal--sheet-bottom.modal--sm{height:200px}.modal--sheet-top.modal--lg,.modal--sheet-bottom.modal--lg{height:50vh}@keyframes icen-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes icen-modal-scale-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes icen-modal-slide-left{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes icen-modal-slide-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes icen-modal-slide-top{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes icen-modal-slide-bottom{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.modal-backdrop,.modal{animation:none}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--density-space-md);margin-bottom:var(--density-space-lg)}.stat-grid--2{grid-template-columns:repeat(2,1fr)}.stat-grid--3{grid-template-columns:repeat(3,1fr)}.stat-grid--4{grid-template-columns:repeat(4,1fr)}.stat-card{display:flex;flex-direction:column;gap:var(--density-space-xs);background:var(--token-surface);border:1px solid var(--token-line-soft);border-radius:var(--radius-lg);padding:var(--density-space-md);box-shadow:var(--token-shadow-elevated);transition:border-color var(--icen-tx-fast),box-shadow var(--icen-tx-fast),transform var(--icen-tx-fast)}.stat-card--interactive{cursor:pointer}.stat-card--interactive:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--token-accent) 26%,var(--token-outline-soft));box-shadow:var(--token-shadow-card)}.stat-head{display:flex;align-items:center;justify-content:space-between;gap:var(--density-space-sm)}.stat-label{color:var(--token-text-faint);font-size:var(--density-font-size-xs);letter-spacing:.05em;text-transform:uppercase}.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);background:var(--token-accent-subtle);color:var(--token-accent)}.stat-icon.icon--ok{background:color-mix(in srgb,var(--token-success) 14%,transparent);color:var(--token-success)}.stat-icon.icon--warn{background:color-mix(in srgb,var(--token-warning) 14%,transparent);color:var(--token-warning)}.stat-icon.icon--bad{background:color-mix(in srgb,var(--token-error) 14%,transparent);color:var(--token-error)}.stat-icon.icon--info{background:color-mix(in srgb,var(--token-info) 14%,transparent);color:var(--token-info)}.stat-icon svg{width:14px;height:14px}.stat-body{display:flex;flex-direction:column;gap:2px}.stat-num{font-size:24px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums lining-nums;color:var(--token-text);word-break:break-all}.stat-num.accent{color:var(--token-accent)}.stat-num.warn{color:var(--token-warning)}.stat-num.bad{color:var(--token-error)}.stat-num.info{color:var(--token-info)}.stat-delta{display:inline-flex;align-items:center;gap:4px;font-size:var(--density-font-size-xs);color:var(--token-text-muted);font-variant-numeric:tabular-nums}.stat-delta svg{width:12px;height:12px}.stat-delta.up{color:var(--token-success)}.stat-delta.down{color:var(--token-error)}.stat-delta.flat{color:var(--token-text-faint)}.stat-period{color:var(--token-text-faint);margin-left:var(--density-space-xs)}.stat-card--sm{padding:var(--density-space-sm);gap:2px}.stat-card--sm .stat-num{font-size:var(--density-font-size-lg)}.stat-card--sm .stat-label{font-size:10px}.stat-card--horizontal{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--density-space-md)}.stat-card--horizontal .stat-head{flex-direction:column;align-items:flex-start;gap:2px;flex:1;min-width:0}.stat-card--horizontal .stat-body{text-align:right;flex-shrink:0}.stat-card--horizontal .stat-delta{justify-content:flex-end}.stat-spark{margin-top:var(--density-space-xs);height:28px;width:100%}.stat-spark svg{width:100%;height:100%;display:block}.stat-card--horizontal .stat-spark{margin-top:0;width:80px;flex-shrink:0}.stat-progress{display:flex;align-items:center;justify-content:center;margin-top:var(--density-space-xs)}.stat-card--horizontal .stat-progress{margin-top:0;flex-shrink:0}.stat-ring{width:48px;height:48px;transform:rotate(-90deg)}.stat-ring-track{fill:none;stroke:var(--token-fill-2);stroke-width:3}.stat-ring-fill{fill:none;stroke:var(--token-accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:0,100;transition:stroke-dasharray var(--icen-tx-slow) var(--ease-out)}.stat-card .stat-ring-fill{stroke:var(--token-accent)}.stat-num-prefix,.stat-num-suffix{font-size:.6em;font-weight:500;color:var(--token-text-faint);margin:0 1px}.stat-card.is-loading .stat-num,.stat-card.is-loading .stat-delta{color:transparent;background:var(--token-fill-2);border-radius:var(--radius-xs);animation:stat-skeleton 1.5s ease-in-out infinite}.stat-card.is-loading .stat-num{height:28px}.stat-card.is-loading .stat-delta{height:14px;width:60%}@keyframes stat-skeleton{0%,to{opacity:1}50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.stat-card.is-loading .stat-num,.stat-card.is-loading .stat-delta{animation:none}.stat-ring-fill{transition:none}}.switch{--switch-w: 44px;--switch-h: 24px;--switch-thumb: 20px;position:relative;display:inline-flex;flex-shrink:0;width:var(--switch-w);height:var(--switch-h);padding:0;border:none;border-radius:var(--radius-full);background:var(--token-control-hover);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--icen-tx-normal)}.switch[aria-checked=true]{background:var(--token-accent)}.switch:disabled,.switch[aria-disabled=true],.switch[data-disabled]{opacity:var(--icen-disabled-opacity);cursor:not-allowed}.switch:focus-visible{outline:none;box-shadow:var(--icen-ring)}.switch-thumb{position:absolute;top:50%;left:calc((var(--switch-h) - var(--switch-thumb)) / 2);transform:translateY(-50%);width:var(--switch-thumb);height:var(--switch-thumb);border-radius:var(--radius-full);background:var(--token-on-accent, #fff);box-shadow:0 1px 2px #00000026;transition:transform var(--icen-tx-bounce)}.switch[aria-checked=true] .switch-thumb{transform:translateY(-50%) translate(calc(var(--switch-w) - var(--switch-h)))}.switch--sm{--switch-w: 36px;--switch-h: 20px;--switch-thumb: 16px}.switch--lg{--switch-w: 56px;--switch-h: 28px;--switch-thumb: 24px}@media(prefers-reduced-motion:reduce){.switch-thumb{transition:none}}.checkbox{--checkbox-size: 16px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--checkbox-size);height:var(--checkbox-size);padding:0;background:var(--token-control);color:transparent;border:1px solid var(--token-outline-soft);border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--icen-tx-fast),border-color var(--icen-tx-fast),color var(--icen-tx-fast),box-shadow var(--icen-tx-fast)}.checkbox:hover:not([aria-checked=true]):not([aria-checked=mixed]):not(:disabled){border-color:color-mix(in srgb,var(--token-accent) 50%,transparent)}.checkbox[aria-checked=true],.checkbox[aria-checked=mixed]{background:var(--token-accent);border-color:var(--token-accent);color:var(--token-on-accent, #fff)}.checkbox:before{content:"";width:60%;height:60%;background:currentColor;opacity:0;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}.checkbox[aria-checked=true]:before{opacity:1}.checkbox[aria-checked=mixed]:before{opacity:1;width:60%;height:2px;clip-path:none;border-radius:var(--radius-full)}.checkbox:disabled,.checkbox[aria-disabled=true],.checkbox[data-disabled]{opacity:var(--icen-disabled-opacity);cursor:not-allowed}.checkbox:focus-visible{outline:none;box-shadow:var(--icen-ring)}.checkbox--sm{--checkbox-size: 14px}.checkbox--lg{--checkbox-size: 20px}.radio-group{display:flex;flex-direction:column;gap:var(--density-space-xs)}.radio-item{display:flex;align-items:center;gap:var(--density-space-sm);width:100%;padding:var(--density-space-sm) var(--density-space-md);font-size:var(--density-font-size-md);text-align:left;border:1px solid transparent;background:transparent;color:var(--token-text);border-radius:var(--radius-md);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--icen-tx-fast),color var(--icen-tx-fast),border-color var(--icen-tx-fast)}.radio-item:hover:not(.is-disabled){background:var(--token-fill-1)}.radio-item.is-selected,.radio-item[aria-checked=true]{background:var(--token-accent-subtle);color:var(--token-accent);font-weight:500;border-color:color-mix(in srgb,var(--token-accent) 25%,transparent)}.radio-item:focus-visible{outline:none;box-shadow:var(--icen-ring)}.radio-item:disabled,.radio-item.is-disabled,.radio-item[aria-disabled=true]{opacity:var(--icen-disabled-opacity);cursor:not-allowed}.radio-dot{position:relative;width:16px;height:16px;flex-shrink:0;border:1px solid var(--token-outline-soft);border-radius:var(--radius-full);background:var(--token-control);transition:border-color var(--icen-tx-fast)}.radio-item.is-selected .radio-dot,.radio-item[aria-checked=true] .radio-dot{border-color:var(--token-accent)}.radio-dot:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:var(--radius-full);background:var(--token-accent);transform:translate(-50%,-50%) scale(0);transition:transform var(--icen-tx-bounce)}.radio-item.is-selected .radio-dot:after,.radio-item[aria-checked=true] .radio-dot:after{transform:translate(-50%,-50%) scale(1)}.switch--success[aria-checked=true]{background:var(--token-success)}.switch--warning[aria-checked=true]{background:var(--token-warning)}.switch--danger[aria-checked=true]{background:var(--token-error)}.switch--text{--switch-w: 52px}.switch--text .switch-thumb{display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:transparent}.switch--text[aria-checked=true]:before{content:"ON";position:absolute;left:6px;top:50%;transform:translateY(-50%);font-size:9px;font-weight:700;color:var(--token-on-accent, #fff)}.switch--text[aria-checked=false]:before{content:"OFF";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:9px;font-weight:700;color:var(--token-text-faint)}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:var(--density-space-sm);padding:var(--density-space-sm) 0}.switch-row-label{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.switch-row-title{font-size:var(--density-font-size-md);color:var(--token-text)}.switch-row-desc{font-size:var(--density-font-size-xs);color:var(--token-text-faint)}.checkbox-row{display:flex;align-items:flex-start;gap:var(--density-space-sm);cursor:pointer}.checkbox-row-label{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.radio-card{display:flex;flex-direction:column;gap:var(--density-space-xs);padding:var(--density-space-md);border:1px solid var(--token-outline-soft);border-radius:var(--radius-md);background:var(--token-surface);cursor:pointer;transition:border-color var(--icen-tx-fast),box-shadow var(--icen-tx-fast),background-color var(--icen-tx-fast)}.radio-card:hover{border-color:var(--token-hover-border, color-mix(in srgb, var(--token-accent) 30%, transparent))}.radio-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--density-space-sm)}.radio-card.is-selected,.radio-card[aria-checked=true]{border-color:var(--token-accent);background:var(--token-accent-subtle);box-shadow:var(--icen-ring-soft)}.radio-card:focus-visible{outline:none;box-shadow:var(--icen-ring)}.radio-card-title{font-size:var(--density-font-size-md);font-weight:500;color:var(--token-text)}.radio-card-desc{font-size:var(--density-font-size-sm);color:var(--token-text-muted);line-height:1.5}.radio-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--density-space-sm)}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--density-space-sm)}@media(prefers-reduced-motion:reduce){.switch-thumb{transition:none}.radio-dot:after{transition:none}.radio-card{transition:none}}.table-wrap{overflow-x:auto;overscroll-behavior:contain;border-radius:var(--radius-lg)}.table-wrap--bordered{border:1px solid var(--token-line-soft)}.admin-table{width:100%;border-collapse:collapse;font-size:var(--density-font-size-md);font-variant-numeric:tabular-nums}.admin-table th,.admin-table td{padding:var(--density-space-sm) calc(var(--density-space-md) + 2px);text-align:left}.admin-table th{font-weight:600;font-size:var(--density-font-size-xs);letter-spacing:.05em;color:var(--token-text-faint);border-bottom:1px solid var(--token-line);white-space:nowrap;text-transform:uppercase;background:var(--token-bg-soft);position:sticky;top:0;z-index:1}.admin-table td{border-bottom:1px solid var(--token-line-soft);vertical-align:middle;color:var(--token-text)}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr{transition:background-color var(--icen-tx-fast)}.admin-table tbody tr:hover{background:var(--token-surface-strong)}.admin-table tbody tr.row-link{cursor:pointer}.admin-table tbody tr.is-selected{background:var(--token-accent-subtle)}.admin-table tfoot td{border-top:1px solid var(--token-line);border-bottom:0;font-weight:500;background:var(--token-bg-soft)}.admin-table--compact th,.admin-table--compact td{padding:var(--density-space-xs) var(--density-space-sm)}.admin-table--dense th,.admin-table--dense td{padding:4px var(--density-space-xs);font-size:var(--density-font-size-sm)}.admin-table td.num{text-align:right;font-variant-numeric:tabular-nums lining-nums}.admin-table .ops{white-space:nowrap;text-align:right}.admin-table .ops .btn,.admin-table .ops .btn-sm{margin-left:var(--density-space-xs)}.admin-table th[data-sort]{cursor:pointer;user-select:none}.admin-table th[data-sort]:after{content:"↕";margin-left:var(--density-space-xs);color:var(--token-text-faint);opacity:.6}.admin-table th[data-sort=asc]:after{content:"↑";opacity:1;color:var(--token-accent)}.admin-table th[data-sort=desc]:after{content:"↓";opacity:1;color:var(--token-accent)}.admin-table--zebra tbody tr:nth-child(odd){background:color-mix(in srgb,var(--token-bg-soft) 50%,transparent)}.admin-table--zebra tbody tr:hover{background:var(--token-surface-strong)}.table-caption{text-align:left;padding:var(--density-space-sm) calc(var(--density-space-md) + 2px);font-size:var(--density-font-size-md);font-weight:600;color:var(--token-text);caption-side:top}.admin-table--sticky-col th:first-child,.admin-table--sticky-col .col-fixed{position:sticky;left:0;z-index:2;background:var(--token-bg-soft);box-shadow:2px 0 4px color-mix(in srgb,var(--token-shadow-card-base, rgba(0,0,0,.06)) 40%,transparent)}.admin-table--sticky-col tbody td.col-fixed{background:var(--token-surface)}.admin-table--sticky-col tbody tr:hover td.col-fixed{background:var(--token-surface-strong)}.admin-table .row-expand>td{padding:0 var(--density-space-md);background:var(--token-bg-soft);border-bottom:1px solid var(--token-line-soft);font-size:var(--density-font-size-sm);color:var(--token-text-muted)}.admin-table .row-expand[hidden]{display:none}.row-expand-content{padding:var(--density-space-sm) 0;animation:row-expand-in var(--icen-tx-fast) var(--ease-out)}@keyframes row-expand-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.admin-table .col-narrow{width:80px}.admin-table .col-wide{width:240px}.admin-table .col-action{width:1%;white-space:nowrap}.admin-table tbody tr.row-success{background:color-mix(in srgb,var(--token-success) 6%,transparent)}.admin-table tbody tr.row-warning{background:color-mix(in srgb,var(--token-warning) 6%,transparent)}.admin-table tbody tr.row-error{background:color-mix(in srgb,var(--token-error) 6%,transparent)}.admin-table thead th{box-shadow:0 1px 0 var(--token-line)}.admin-table th[rowspan]{vertical-align:bottom}@media(prefers-reduced-motion:reduce){.row-expand-content{animation:none}}.tag-input{display:flex;flex-wrap:wrap;align-items:center;gap:var(--density-space-xs);padding:var(--density-space-xs);min-height:var(--density-input-height-md);background:var(--token-control);border:1px solid var(--token-outline-soft);border-radius:var(--radius-md);box-shadow:var(--token-shadow-inset);transition:border-color var(--icen-tx-fast),box-shadow var(--icen-tx-fast)}.tag-input:hover{border-color:var(--icen-hover-border)}.tag-input:focus-within{border-color:var(--icen-control-focus-border);box-shadow:var(--icen-control-focus-shadow)}.tag-input.is-max,.tag-input.is-max:focus-within{border-color:color-mix(in srgb,var(--token-warning) 60%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--token-warning) 14%,transparent)}.tag-input.is-disabled,.tag-input[aria-disabled=true],.tag-input[data-disabled]{opacity:var(--icen-disabled-opacity);background:var(--token-bg-soft);cursor:not-allowed;pointer-events:none}.tag-input.is-disabled .tag-input-field{cursor:not-allowed}.tag-input.is-disabled .tag-chip-x{pointer-events:none}.tag-input--sm{min-height:var(--density-input-height-sm)}.tag-input--lg{min-height:var(--density-input-height-lg)}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px var(--density-space-xs);border-radius:var(--radius-full);background:var(--token-accent-subtle);color:var(--token-accent);font-size:var(--density-font-size-xs);font-weight:500;line-height:1.4;max-width:100%;animation:tag-pop var(--icen-tx-fast)}.tag-chip-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.tag-chip--readonly{background:var(--token-fill-2);color:var(--token-text-muted)}@keyframes tag-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.tag-chip{animation:none}}.tag-chip-x{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-full);color:inherit;font-size:11px;line-height:1;opacity:.7;transition:background-color var(--icen-tx-fast),opacity var(--icen-tx-fast),color var(--icen-tx-fast)}.tag-chip-x:hover{opacity:1;background:color-mix(in srgb,currentColor 18%,transparent);color:var(--token-on-accent, #fff)}.tag-chip-x:focus-visible{outline:none;opacity:1;box-shadow:var(--icen-ring)}.tag-chip-x svg{width:10px;height:10px}.tag-input-field{flex:1;min-width:80px;padding:2px;background:transparent;border:none;outline:none;color:var(--token-text);font:inherit;font-size:var(--density-font-size-sm)}.tag-input-field::placeholder{color:color-mix(in srgb,var(--token-text-faint) 60%,transparent)}.tag-input.is-shake{animation:tag-shake .32s var(--ease-out)}@keyframes tag-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.toast-container{position:fixed;right:var(--density-space-md);bottom:var(--density-space-md);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--density-space-sm);align-items:flex-end;pointer-events:none}.toast{pointer-events:auto;display:inline-flex;align-items:center;gap:var(--density-space-sm);background:var(--token-surface);color:var(--token-text);border:1px solid var(--token-line-soft);border-left:3px solid var(--token-line-strong);border-radius:var(--radius-sm);box-shadow:var(--token-shadow-overlay);padding:var(--density-space-sm) var(--density-space-md);font-size:var(--density-font-size-md);line-height:1.4;max-width:380px;animation:icen-toast-in var(--icen-tx-slow)}.toast.ok{border-left-color:var(--token-success)}.toast.err{border-left-color:var(--token-error)}.toast.warn{border-left-color:var(--token-warning)}.toast-msg{flex:1;min-width:0;word-break:break-word}.toast-action{flex-shrink:0;padding:0;background:none;border:0;cursor:pointer;color:var(--token-accent);font:inherit;font-size:var(--density-font-size-sm);font-weight:500;text-decoration:underline;text-underline-offset:3px;-webkit-tap-highlight-color:transparent;transition:color var(--icen-tx-fast)}.toast-action:hover{color:var(--token-accent-deep, var(--token-accent))}.toast-action:focus-visible{outline:none;border-radius:var(--radius-xs);box-shadow:var(--icen-ring)}.toast-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--token-text-faint)}.toast-icon svg{width:16px;height:16px}.toast.ok .toast-icon{color:var(--token-success)}.toast.err .toast-icon{color:var(--token-error)}.toast.warn .toast-icon{color:var(--token-warning)}.toast-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--token-text-faint);cursor:pointer;transition:color var(--icen-tx-fast),background-color var(--icen-tx-fast)}.toast-close:hover{color:var(--token-text);background:var(--token-fill-1)}.toast-close svg{width:12px;height:12px}.toast-content{flex:1;min-width:0}.toast-title{font-size:var(--density-font-size-md);font-weight:500;color:var(--token-text);line-height:1.4}.toast-body{font-size:var(--density-font-size-sm);color:var(--token-text-muted);margin-top:2px;line-height:1.5}.toast-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:transparent;overflow:hidden;border-radius:0 0 var(--radius-sm) var(--radius-sm)}.toast-progress-fill{height:100%;background:var(--token-accent);transform-origin:left;animation:toast-countdown linear forwards}.toast.ok .toast-progress-fill{background:var(--token-success)}.toast.err .toast-progress-fill{background:var(--token-error)}.toast.warn .toast-progress-fill{background:var(--token-warning)}@keyframes toast-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast{position:relative;overflow:hidden}.toast-container[data-position=top-left]{right:auto;bottom:auto;top:var(--density-space-md);left:var(--density-space-md);align-items:flex-start}.toast-container[data-position=top-right]{bottom:auto;top:var(--density-space-md)}.toast-container[data-position=top-center]{right:auto;bottom:auto;top:var(--density-space-md);left:50%;transform:translate(-50%);align-items:center}.toast-container[data-position=bottom-left]{right:auto;left:var(--density-space-md);align-items:flex-start}.toast-container[data-position=bottom-center]{right:auto;left:50%;transform:translate(-50%);align-items:center}.toast.leaving{opacity:0;transform:translateY(8px);transition:opacity var(--icen-tx-normal),transform var(--icen-tx-normal)}@keyframes icen-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.toast-container{right:var(--density-space-sm);bottom:var(--density-space-sm);left:var(--density-space-sm);align-items:stretch}.toast{max-width:none}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;z-index:var(--z-tooltip);width:max-content;max-width:min(260px,calc(100vw - 32px));padding:4px var(--density-space-xs);font-size:var(--density-font-size-xs);font-weight:400;line-height:1.4;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background:color-mix(in srgb,var(--token-text) 92%,var(--token-bg));color:var(--token-bg);border:1px solid var(--token-line);box-shadow:var(--token-shadow-elevated);border-radius:var(--radius-sm);opacity:0;pointer-events:none;transition:opacity var(--icen-tx-fast),transform var(--icen-tx-fast);transition-delay:.4s;bottom:calc(100% + 6px);left:50%;transform:translate(-50%,4px)}[data-tooltip-multiline=true]:after{white-space:normal;max-width:min(320px,calc(100vw - 32px))}[data-tooltip-side=bottom]:after{bottom:auto;top:calc(100% + 6px);left:50%;transform:translate(-50%,-4px)}[data-tooltip-side=left]:after{bottom:auto;top:50%;left:auto;right:calc(100% + 6px);transform:translate(4px,-50%)}[data-tooltip-side=right]:after{bottom:auto;top:50%;right:auto;left:calc(100% + 6px);transform:translate(-4px,-50%)}[data-tooltip-align=start]:after{left:0;transform:translateY(4px)}[data-tooltip-align=end]:after{left:auto;right:0;transform:translateY(4px)}[data-tooltip-side=bottom][data-tooltip-align=start]:after{transform:translateY(-4px)}[data-tooltip-side=bottom][data-tooltip-align=end]:after{transform:translateY(-4px)}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%)}[data-tooltip-side=bottom]:hover:after,[data-tooltip-side=bottom]:focus-visible:after{transform:translate(-50%)}[data-tooltip-side=left]:hover:after,[data-tooltip-side=left]:focus-visible:after{transform:translateY(-50%)}[data-tooltip-side=right]:hover:after,[data-tooltip-side=right]:focus-visible:after{transform:translateY(-50%)}[data-tooltip-align=start]:hover:after,[data-tooltip-align=start]:focus-visible:after{transform:translate(0)}[data-tooltip-align=end]:hover:after,[data-tooltip-align=end]:focus-visible:after{transform:translate(0)}[data-tooltip-side=bottom][data-tooltip-align=start]:hover:after,[data-tooltip-side=bottom][data-tooltip-align=start]:focus-visible:after{transform:translate(0)}[data-tooltip-side=bottom][data-tooltip-align=end]:hover:after,[data-tooltip-side=bottom][data-tooltip-align=end]:focus-visible:after{transform:translate(0)}[data-tooltip]:focus-visible:after{transition-delay:0ms}@media(prefers-reduced-motion:reduce){[data-tooltip]:after{transition:opacity var(--icen-tx-fast);transform:none!important}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{transform:none!important}}
