/* 字幕工具箱 media-subtitle 专用样式 */
.hidden { display: none !important; }
.sub-io { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sub-col { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.sub-label { font-size: 13px; color: var(--text-secondary, #5b6675); }

.dropzone {
    border: 2px dashed var(--border-color, #d1d9e0); border-radius: 12px;
    background: var(--bg-body, #fff); padding: 20px 16px; text-align: center;
    cursor: pointer; transition: border-color .15s, background .15s;
}
.dropzone:hover { border-color: var(--primary, #ff6b00); background: rgba(255,107,0,.03); }
.dz-icon { font-size: 26px; margin-bottom: 6px; }
.dz-text { font-size: 14px; color: var(--text-primary, #1f2a37); margin-bottom: 4px; }
.dz-text .blue { color: var(--primary, #ff6b00); font-weight: 600; }
.dz-hint { font-size: 12px; color: var(--text-secondary, #5b6675); }

.sub-text {
    width: 100%; box-sizing: border-box; min-height: 220px; resize: vertical;
    padding: 12px; border: 1px solid var(--border-color, #e3e8ee); border-radius: 10px;
    font-size: 13px; font-family: ui-monospace, Menlo, Consolas, monospace; line-height: 1.6;
    background: var(--bg-body, #fff); color: var(--text-primary, #1f2a37); outline: none;
}
.sub-text:focus { border-color: var(--primary, #ff6b00); }
.sub-count { font-size: 12px; color: var(--text-secondary, #5b6675); }
.sub-actions { display: flex; gap: 8px; }

.sub-btn {
    padding: 9px 18px; border: 1px solid var(--border-color, #e3e8ee); border-radius: 8px;
    background: var(--bg-body, #fff); color: var(--text-primary, #1f2a37); font-size: 13px; cursor: pointer;
}
.sub-btn:hover { border-color: var(--primary, #ff6b00); color: var(--primary, #ff6b00); }
.sub-btn.primary { background: var(--primary, #ff6b00); border-color: var(--primary, #ff6b00); color: #fff; }
.sub-btn.primary:hover { opacity: .9; color: #fff; }

.sub-tools { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; margin-top: 18px; }
.sub-tool { border: 1px solid var(--border-color, #e3e8ee); border-radius: 12px; padding: 14px; background: var(--bg-body, #fff); }
.sub-tool-title { font-size: 14px; font-weight: 700; color: var(--text-primary, #1f2a37); margin-bottom: 4px; }
.sub-tool-desc { font-size: 12px; color: var(--text-secondary, #5b6675); line-height: 1.5; margin-bottom: 10px; }
.sub-inline { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sub-num {
    width: 130px; box-sizing: border-box; padding: 9px 10px; border: 1px solid var(--border-color, #e3e8ee);
    border-radius: 8px; font-size: 14px; background: var(--bg-body, #fff); color: var(--text-primary, #1f2a37); outline: none;
}
.sub-num:focus { border-color: var(--primary, #ff6b00); }
.sub-sel {
    padding: 9px 10px; border: 1px solid var(--border-color, #e3e8ee); border-radius: 8px;
    font-size: 14px; background: var(--bg-body, #fff); color: var(--text-primary, #1f2a37); outline: none;
}
.sub-mergenum { font-size: 12px; color: var(--text-secondary, #5b6675); }
.sub-tool .sub-btn { margin-top: 4px; }

.toast {
    position: fixed; left: 50%; bottom: 36px; top: auto; transform: translateX(-50%);
    background: var(--primary, #ff6b00); color: #fff; padding: 9px 18px; border-radius: 20px;
    font-size: 14px; opacity: 0; transition: opacity .25s; pointer-events: none; z-index: 99;
    max-width: min(520px, 80vw); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: center;
}

@media (max-width: 760px) {
    .sub-io { grid-template-columns: 1fr; }
    .sub-text { min-height: 160px; }
}
