.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)}.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}}@media(prefers-reduced-motion:reduce){.progress-bar{transition:none}.progress--indeterminate .progress-bar{animation:none;width:100%!important}.spinner{animation-duration:2s}.skeleton{animation:none;opacity:.6}}.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)}.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-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}.textarea-wrap{position:relative}.textarea-wrap .textarea{padding-bottom:24px}.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)}.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}.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)}@media(prefers-reduced-motion:reduce){.carousel-track,.media-card,.rating-star,.carousel-arrow{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 svg{width:14px;height:14px}.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}.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)}.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)}.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.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}}
