/* Funcionalidade HORA MUSIC v6. Não altera os componentes-base do design. */
.hora-modal[hidden],.hora-context[hidden],.hora-inline-form[hidden]{display:none!important}
.hora-modal{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(3,5,12,.78);backdrop-filter:blur(10px)}
.hora-modal-card{width:min(560px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;border:1px solid var(--border);border-radius:26px;background:var(--surface);box-shadow:var(--shadow-card);padding:22px}
.hora-modal-card.wide{width:min(760px,100%)}
.hora-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.hora-modal-head h2{margin:0;font-size:20px}.hora-modal-head p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.hora-modal-close{border:0;background:transparent;color:var(--muted);font-size:24px;line-height:1;cursor:pointer}
.hora-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.hora-modal-actions .btn{min-width:120px}.hora-field-stack{display:grid;gap:12px}.hora-check{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:11px;line-height:1.5}.hora-check input{margin-top:2px}
.hora-help{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.45}.hora-code{display:block;margin-top:8px;border:1px dashed var(--border);border-radius:14px;background:var(--surface-2);padding:11px;word-break:break-all;color:var(--foreground);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}
.hora-context{position:fixed;z-index:130;min-width:210px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-card);padding:7px}.hora-context button,.hora-context a{display:flex;width:100%;align-items:center;gap:8px;border:0;border-radius:11px;background:transparent;padding:10px;color:var(--foreground);font:inherit;font-size:12px;text-align:left;text-decoration:none;cursor:pointer}.hora-context button:hover,.hora-context a:hover{background:var(--surface-2)}.hora-context .danger{color:#ff9086}
.hora-loading{position:relative;pointer-events:none;opacity:.72}.hora-loading:after{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:hora-spin .7s linear infinite;margin-left:8px}@keyframes hora-spin{to{transform:rotate(360deg)}}
.track-card.is-liked [data-action="like"]{color:#ff778d}.track-card.is-published .track-mode{border-color:color-mix(in oklab,var(--cyan) 35%,var(--border));color:var(--cyan)}
.hora-selection-list{display:grid;gap:9px;max-height:390px;overflow:auto}.hora-selection{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2);padding:10px;text-align:left;color:var(--foreground);cursor:pointer}.hora-selection:hover{border-color:color-mix(in oklab,var(--brand) 45%,var(--border))}.hora-selection-art{display:flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:12px;background:var(--gradient-brand);font-weight:800}.hora-selection-copy{min-width:0}.hora-selection-copy b,.hora-selection-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hora-selection-copy b{font-size:12px}.hora-selection-copy small{margin-top:4px;color:var(--muted);font-size:10px}
.hora-billing-history{display:grid;gap:8px;margin-top:12px}.hora-billing-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border-top:1px solid var(--border);padding-top:10px}.hora-billing-row b{font-size:11px}.hora-billing-row small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.hora-billing-row>span{text-align:right;font-size:11px}.hora-billing-row>span small{text-transform:capitalize}
.avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.hora-avatar-input{display:none}
.hora-admin-form{display:grid;gap:12px}.hora-admin-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-table .table-action{cursor:pointer}.admin-empty{padding:24px!important;text-align:center;color:var(--muted)}
.hora-payment-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hora-payment-options form{margin:0}.hora-payment-options .btn{width:100%}
.hora-flash{margin-bottom:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:11px 14px;font-size:12px}.hora-flash.success{border-color:#56e39f55;color:#72eab0}.hora-flash.error{border-color:#ff786d55;color:#ff9086}
.hora-report-reason{width:100%}.hora-feature-input{min-height:130px;resize:vertical}
@media(max-width:640px){.hora-modal{padding:10px}.hora-modal-card{border-radius:20px;padding:17px}.hora-modal-actions,.hora-payment-options{grid-template-columns:1fr;display:grid}.hora-modal-actions .btn{width:100%}.hora-admin-row{grid-template-columns:1fr}.hora-selection{grid-template-columns:42px minmax(0,1fr)}.hora-selection>.small-btn{grid-column:1/-1;width:100%}}
.hora-switch-input{position:absolute;opacity:0;pointer-events:none}.toggle-row{cursor:pointer}.hora-admin-links{display:flex;flex-wrap:wrap;gap:9px}.hora-admin-links .small-btn{text-decoration:none}.status-dot.danger{background:#ff786d!important;box-shadow:0 0 0 4px #ff786d18!important}.admin-table a.table-main{color:inherit;text-decoration:none}.admin-table a.table-main:hover{color:var(--brand-glow)}
