/* TPR interactive component system. */
.tpr-accordion{border-block:1px solid var(--tpr-line)}
.tpr-accordion__item{border-bottom:1px solid var(--tpr-line)}.tpr-accordion__item:last-child{border-bottom:0}
.tpr-accordion__heading{margin:0;font:inherit}.tpr-accordion__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--tpr-space-5) 0;border:0;background:transparent;color:var(--tpr-text);font:inherit;font-weight:700;text-align:left;cursor:pointer}
.tpr-accordion__trigger .tpr-icon{transition:transform var(--tpr-duration-fast) var(--tpr-ease)}.tpr-accordion__trigger[aria-expanded="true"] .tpr-icon{transform:rotate(180deg)}
.tpr-accordion__panel{padding:0 0 var(--tpr-space-6);color:var(--tpr-muted)}
.tpr-overlay{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:var(--tpr-space-4)}.tpr-overlay[hidden]{display:none}
.tpr-overlay__backdrop{position:absolute;inset:0;background:rgba(5,9,9,.72);backdrop-filter:blur(4px)}
.tpr-dialog__surface{position:relative;z-index:1;width:min(100%,42rem);max-height:calc(100vh - 2rem);overflow:auto;border:1px solid var(--tpr-line);border-radius:var(--tpr-radius-lg);background:var(--tpr-surface);color:var(--tpr-text);box-shadow:var(--tpr-shadow-lg)}
.tpr-modal--sm .tpr-dialog__surface{width:min(100%,28rem)}.tpr-modal--lg .tpr-dialog__surface{width:min(100%,64rem)}
.tpr-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:var(--tpr-space-4);padding:var(--tpr-space-5) var(--tpr-space-6);border-bottom:1px solid var(--tpr-line)}.tpr-dialog__header h2{margin:0;font-size:var(--tpr-text-xl)}
.tpr-dialog__close,.tpr-toast__close{display:grid;place-items:center;flex:0 0 auto;width:2.5rem;height:2.5rem;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.tpr-dialog__close:hover,.tpr-toast__close:hover{background:rgba(var(--tpr-accent-rgb),.1)}
.tpr-dialog__content{padding:var(--tpr-space-6)}body.tpr-dialog-open{overflow:hidden}
.tpr-drawer{place-items:stretch start;padding:0}.tpr-drawer--right{place-items:stretch end}.tpr-drawer .tpr-dialog__surface{width:min(92vw,28rem);height:100vh;max-height:none;border-radius:0}
.tpr-tooltip{position:relative;display:inline-flex}.tpr-tooltip__trigger{border:0;border-bottom:1px dotted currentColor;background:transparent;color:inherit;font:inherit;cursor:help}
.tpr-tooltip__content{position:absolute;z-index:1000;width:max-content;max-width:16rem;padding:.5rem .75rem;border-radius:var(--tpr-radius-sm);background:var(--tpr-section-header);color:var(--tpr-header-text,#fff);font-size:var(--tpr-text-sm);line-height:1.35;box-shadow:var(--tpr-shadow-md)}
.tpr-tooltip--top .tpr-tooltip__content{bottom:calc(100% + .5rem);left:50%;transform:translateX(-50%)}.tpr-tooltip--bottom .tpr-tooltip__content{top:calc(100% + .5rem);left:50%;transform:translateX(-50%)}.tpr-tooltip--left .tpr-tooltip__content{right:calc(100% + .5rem);top:50%;transform:translateY(-50%)}.tpr-tooltip--right .tpr-tooltip__content{left:calc(100% + .5rem);top:50%;transform:translateY(-50%)}
.tpr-toast{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--tpr-space-4);max-width:32rem;padding:var(--tpr-space-4);border:1px solid var(--tpr-line);border-left:4px solid var(--tpr-accent);border-radius:var(--tpr-radius-md);background:var(--tpr-surface);color:var(--tpr-text);box-shadow:var(--tpr-shadow-lg);transition:opacity var(--tpr-duration-fast) var(--tpr-ease),transform var(--tpr-duration-fast) var(--tpr-ease)}.tpr-toast p{margin:.25rem 0 0}.tpr-toast--success{border-left-color:var(--tpr-success,#25834a)}.tpr-toast--warning{border-left-color:var(--tpr-warning,#b56b00)}.tpr-toast--danger{border-left-color:var(--tpr-danger,#b42318)}.tpr-toast.is-leaving{opacity:0;transform:translateY(-.5rem)}
.tpr-skeleton{display:grid;gap:.65rem}.tpr-skeleton__line,.tpr-skeleton__shape{display:block;border-radius:var(--tpr-radius-sm);background:linear-gradient(90deg,var(--tpr-line),var(--tpr-surface),var(--tpr-line));background-size:200% 100%;animation:tpr-skeleton-pulse 1.5s ease-in-out infinite}.tpr-skeleton__line{height:.85rem}.tpr-skeleton__line:last-child{width:68%}.tpr-skeleton__shape{min-height:12rem}.tpr-skeleton--avatar .tpr-skeleton__shape{width:4rem;min-height:4rem;border-radius:50%}.tpr-skeleton--card .tpr-skeleton__shape{min-height:18rem}
.tpr-empty-state{padding:clamp(2rem,6vw,5rem);border:1px dashed var(--tpr-line);border-radius:var(--tpr-radius-lg);background:var(--tpr-surface);text-align:center}.tpr-empty-state__icon{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin:0 auto var(--tpr-space-4);border-radius:50%;background:rgba(var(--tpr-accent-rgb),.1);color:var(--tpr-accent)}.tpr-empty-state h2{margin:0}.tpr-empty-state p{max-width:36rem;margin:var(--tpr-space-3) auto 0;color:var(--tpr-muted)}.tpr-empty-state__action{margin-top:var(--tpr-space-5)}
@keyframes tpr-skeleton-pulse{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.tpr-accordion__trigger .tpr-icon,.tpr-toast,.tpr-skeleton__line,.tpr-skeleton__shape{transition:none;animation:none}}
@media (max-width:600px){.tpr-overlay{padding:0}.tpr-modal .tpr-dialog__surface{width:100%;max-height:100vh;border-radius:0}.tpr-tooltip--left .tpr-tooltip__content,.tpr-tooltip--right .tpr-tooltip__content{right:auto;left:50%;top:auto;bottom:calc(100% + .5rem);transform:translateX(-50%)}}
