*{margin:0;padding:0;box-sizing:border-box;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}
:root{
    --bg:#191923;--secondary:#232332;--accent:#9d6ed6;
    --success:#bb83ff;--error:#ff6464;--text1:#e0e0e4;--text2:#d596ea;
    --text:#330d55;--text-sec:#b4b4c8;--card:#282837;--input:#e8d4f6f0;
    --border:#3a3a4a;--bg-light:#3a3a4a;
}
body{background:linear-gradient(135deg,#2a2a35 0%,#1a1a24 50%,#0f0f17 100%);min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:20px;color:var(--text)}

.global-nav{width:560px;display:flex;gap:6px;margin-bottom:10px;background:var(--card);border-radius:12px;padding:8px;border:1px solid var(--secondary)}
.nav-link{flex:1;text-align:center;padding:7px 0;border-radius:8px;font-size:12px;font-weight:500;color:var(--text-sec);text-decoration:none;transition:background .15s,color .15s;letter-spacing:.3px}
.nav-link:hover{background:var(--secondary);color:var(--text2)}
.nav-link.active{background:var(--accent);color:#fff}

.container{width:560px;background:var(--card);border-radius:16px;overflow:hidden;border:1px solid var(--card)}

.header{background:var(--secondary);padding:18px;text-align:center}
.header h1{color:#bb83ff;margin-bottom:6px;font-size:24px}
.header p{color:#bac2de;font-size:13px}

.stat-box{background:var(--card);border-radius:10px;padding:12px;border:1px solid rgba(255,255,255,0.06);transition:all .2s}
.stat-box:hover{border-color:var(--accent);background:rgba(157,110,214,0.05)}
.stat-label{font-size:10px;color:var(--text-sec);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.stat-value{font-size:14px;font-weight:500;color:var(--text1);word-break:break-word}

.tabs-wrapper{background:var(--secondary);padding:12px 18px 0 18px}
.tabs{display:flex;gap:32px;border-bottom:1px solid rgba(255,255,255,0.08);justify-content:center}
.tab{background:transparent;padding:10px 0 12px 0;border:none;color:var(--text-sec);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;border-bottom:2px solid transparent;margin-bottom:-1px}
.tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.tab:hover:not(.active){color:var(--text2);border-bottom-color:rgba(255,255,255,0.2)}

/* ============================================
   DROPDOWN FIXES - Increased z-index and pointer events
   ============================================ */
.tab-dropdown{
    position:relative;
    z-index:100
}
.tab-dropdown-btn::after{content:''}
.tab-dropdown.open .tab-dropdown-btn,.tab-dropdown-btn.active{color:var(--accent);border-bottom-color:var(--accent)}
.tab-dropdown-menu{
    display:none;
    flex-direction:column;
    gap:2px;
    position:absolute;
    top:100%;
    left:50%;
    transform:translateX(-50%);
    background:var(--secondary);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:8px;
    padding:6px;
    min-width:190px;
    z-index:1000;
    box-shadow:0 8px 24px rgba(0,0,0,0.35);
    pointer-events:auto
}
.tab-dropdown.open .tab-dropdown-menu{display:flex}
.tab-dropdown-item{
    background:transparent;
    border:none;
    color:var(--text-sec);
    padding:8px 12px;
    text-align:left;
    border-radius:6px;
    cursor:pointer;
    font-size:13px;
    white-space:nowrap;
    transition:all .15s;
    pointer-events:auto
}
.tab-dropdown-item:hover,.tab-dropdown-item.active{background:rgba(255,255,255,0.06);color:var(--text2)}

.json-result{background:var(--card);border:1px solid rgba(255,255,255,0.06);border-radius:10px;padding:12px;font-size:11px;line-height:1.5;color:var(--text2);max-height:520px;overflow:auto;white-space:pre-wrap;word-break:break-all;margin-top:14px}
.input-row{display:flex;gap:10px;align-items:stretch}
.input-row input{flex:1;min-width:0}
.input-row button{flex-shrink:0;white-space:nowrap}

.content{padding:15px}
.section{background:var(--secondary);padding:15px;border-radius:10px;margin-bottom:10px;border:1px solid var(--accent)}
.section-title{font-size:12px;color:var(--text-sec);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}
.input-group{display:flex;gap:10px}
.input-group input{flex:1;min-width:0}
.input-group button{flex-shrink:0;white-space:nowrap}
input{flex:1;padding:10px;border-radius:8px;border:none;background:var(--input);color:var(--text)}
button{padding:10px;border-radius:8px;border:none;cursor:pointer}
.btn-primary{background:var(--accent);color:#ffffff;transition:all 0.2s}
.btn-primary:hover{background:#b896e8;opacity:0.9}
.btn-secondary{background:var(--bg-light);color:var(--text2);border:1px solid var(--border);transition:all 0.2s}
.btn-secondary:hover{background:var(--border);color:var(--accent)}
.btn-success{background:var(--success);color:#000000;width:100%;margin-top:10px}
.info-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,0.05);color:var(--input)}
.info-row span:last-child{color:var(--text-sec);text-align:right;max-width:60%;word-break:break-all}
.avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid var(--accent);margin-bottom:10px}
.err{color:var(--error);font-size:13px;margin-top:8px;display:none}

.welcome-text{font-size:14px;line-height:1.6;color:var(--text1);margin-bottom:20px;text-align:center}
.qa-section{margin-bottom:25px}
.qa-item{background:var(--card);border-radius:10px;padding:14px;margin-bottom:12px}
.qa-question{font-size:14px;font-weight:600;color:var(--accent);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.qa-question i{font-size:14px}
.qa-answer{font-size:13px;color:var(--text-sec);line-height:1.5;padding-left:24px}
.bottom-section{margin-top:25px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.06)}
.bottom-title{font-size:16px;font-weight:600;color:#bb83ff;margin-bottom:15px;text-align:center}
.bottom-text{font-size:13px;color:var(--text-sec);margin-bottom:20px;text-align:center}
.screenshots-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.screenshot-card{background:var(--card);border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,0.08)}
.screenshot-placeholder{background:linear-gradient(135deg,#232332,#1a1a24);height:120px;display:flex;align-items:center;justify-content:center;color:var(--text-sec);font-size:12px;flex-direction:column;gap:8px}
.screenshot-placeholder i{font-size:32px;color:var(--accent);opacity:0.5}
.screenshot-caption{font-size:11px;color:var(--text-sec);padding:8px;text-align:center;background:rgba(0,0,0,0.3)}

.mon-block{background:var(--card);border-radius:10px;margin-top:10px;overflow:hidden}
.mon-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#1e1e2e;cursor:pointer;user-select:none}
.mon-header:hover{background:#25253a}
.mon-name{font-weight:500;font-size:14px;color:var(--text1)}
.header-right{display:flex;align-items:center;gap:8px}
.mon-status{font-size:11px;padding:3px 8px;border-radius:6px;font-weight:500}
.status-liked{background:#bb83ff22;color:#bb83ff;border:1px solid #bb83ff44}
.status-idle{background:#ffffff11;color:var(--text-sec);border:1px solid #ffffff22}
.status-unliked{background:#ff646422;color:#ff6464;border:1px solid #ff646444}
.icon-btn{background:transparent;border:1px solid rgba(255,255,255,0.15);color:var(--text-sec);padding:3px 7px;border-radius:6px;font-size:11px;cursor:pointer}
.icon-btn:hover{border-color:var(--accent);color:var(--accent)}
.stop-btn{background:transparent;border:1px solid #ff646466;color:#ff6464;padding:3px 8px;border-radius:6px;font-size:11px;cursor:pointer}
.stop-btn:hover{background:#ff646422}
.chevron{font-size:11px;color:var(--text-sec);transition:transform .2s}
.chevron.open{transform:rotate(180deg)}
.history-log{max-height:180px;overflow-y:auto;padding:8px 12px;border-top:1px solid rgba(255,255,255,0.05);background:rgba(0,0,0,0.2)}
.history-log::-webkit-scrollbar{width:4px}
.history-log::-webkit-scrollbar-thumb{background:#444;border-radius:2px}
.h-empty{font-size:12px;color:var(--text-sec);padding:6px 0;text-align:center}
.h-entry{display:flex;align-items:center;gap:8px;font-size:12px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,0.04)}
.h-entry:last-child{border-bottom:none}
.h-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.d-liked{background:#bb83ff}.d-unliked{background:#ff6464}
.h-action{font-weight:500;min-width:55px}
.h-time{color:var(--text-sec);margin-left:auto;white-space:nowrap;font-size:10px}

#video-result{display:none}
.video-thumb-wrap{position:relative;width:100%;border-radius:10px;overflow:hidden;margin-bottom:12px;background:#111}
.video-thumb-wrap img{width:100%;display:block;max-height:240px;object-fit:cover}

/* ============================================
   SECTION HEADER
   ============================================ */

.section-header {
    margin-bottom: 16px;
}

.section-header h2 {
    color: var(--text2);
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 4px 0;
}

.section-header p {
    color: var(--text-sec);
    font-size: 13px;
    margin: 0;
}

/* ============================================
   VIDEO INFO STYLES - CLEAN & MODERN
   ============================================ */

#video-info-result {
    margin-top: 16px;
}

.video-info-card {
    background: var(--card);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
}

/* Header */
.video-info-header {
    background: linear-gradient(135deg, rgba(157, 110, 214, 0.15) 0%, rgba(157, 110, 214, 0.05) 100%);
    padding: 18px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.video-info-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--text1);
    display: flex;
    align-items: center;
    gap: 8px;
}

.video-info-header h3 i {
    color: var(--accent);
    font-size: 16px;
}

/* Preview */
.video-preview {
    padding: 16px 20px;
    background: rgba(0, 0, 0, 0.2);
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.video-preview img {
    max-width: 100%;
    max-height: 280px;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
    object-fit: cover;
}

/* Info Sections */
.info-section {
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.info-section:last-of-type {
    border-bottom: none;
}

.info-section h4 {
    margin: 0 0 12px 0;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--text-sec);
    display: flex;
    align-items: center;
    gap: 8px;
}

.info-section h4 i {
    color: var(--accent);
    font-size: 12px;
}

/* Info Rows */
.info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
    font-size: 13px;
    gap: 12px;
}

.info-row:last-child {
    border-bottom: none;
}

.info-row .label {
    font-weight: 500;
    color: var(--text-sec);
    min-width: 90px;
    font-size: 12px;
}

.info-row .value {
    color: var(--text1);
    text-align: right;
    word-break: break-word;
    flex: 1;
    font-size: 13px;
}

/* Stats Grid - Clean Boxes */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 8px;
}

.stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 14px 10px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    transition: all 0.2s;
}

.stat-item:hover {
    background: rgba(157, 110, 214, 0.06);
    border-color: rgba(157, 110, 214, 0.15);
}

.stat-item .stat-value {
    font-size: 20px;
    font-weight: 700;
    color: var(--accent);
    margin-bottom: 2px;
    line-height: 1.2;
}

.stat-item .stat-label {
    font-size: 10px;
    color: var(--text-sec);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 500;
}

/* Tags */
.tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tag {
    background: rgba(157, 110, 214, 0.12);
    color: var(--accent);
    padding: 4px 12px;
    border-radius: 14px;
    font-size: 11px;
    font-weight: 500;
    border: 1px solid rgba(157, 110, 214, 0.15);
}

/* Stickers */
.stickers-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.sticker {
    background: rgba(255, 255, 255, 0.04);
    color: var(--text1);
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 11px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: all 0.2s;
}

.sticker:hover {
    background: rgba(157, 110, 214, 0.08);
    border-color: rgba(157, 110, 214, 0.15);
}

/* Author Card */
.author-card {
    display: flex;
    gap: 14px;
    padding: 14px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 10px;
}

.author-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid var(--accent);
}

.author-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
}

.author-details .author-name {
    font-size: 15px;
    font-weight: 600;
    color: var(--text1);
}

.author-details .author-username {
    font-size: 13px;
    color: var(--text-sec);
}

.author-details .author-stats {
    display: flex;
    gap: 16px;
    margin-top: 4px;
}

.author-details .author-stats span {
    font-size: 11px;
    color: var(--text-sec);
}

.author-details .author-stats strong {
    color: var(--text1);
    font-weight: 600;
}

/* Challenges */
.challenges-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.challenge-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 8px;
    transition: all 0.2s;
}

.challenge-item:hover {
    background: rgba(157, 110, 214, 0.05);
    border-color: rgba(157, 110, 214, 0.1);
}

.challenge-item .label {
    font-weight: 500;
    color: var(--text1);
    font-size: 12px;
}

.challenge-item .value {
    color: var(--text-sec);
    font-size: 12px;
}

/* Action Buttons */
.video-info-actions {
    display: flex;
    gap: 10px;
    padding: 16px 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    background: rgba(255, 255, 255, 0.02);
}

.video-info-actions button {
    flex: 1;
    padding: 10px 16px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    font-weight: 600;
    font-size: 12px;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.video-info-actions .btn-download {
    background: var(--accent);
    color: #fff;
}

.video-info-actions .btn-download:hover {
    background: #b896e8;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(157, 110, 214, 0.3);
}

.video-info-actions .btn-copy {
    background: rgba(255, 255, 255, 0.06);
    color: var(--text1);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.video-info-actions .btn-copy:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--accent);
}

.video-info-actions .btn-copy.copied {
    background: rgba(75, 181, 67, 0.15);
    border-color: #4bb543;
    color: #4bb543;
}

/* Error & Loading */
.video-error {
    text-align: center;
    padding: 30px 20px;
    color: var(--error);
    font-size: 13px;
    background: var(--card);
    border: 1px solid rgba(255, 100, 100, 0.15);
    border-radius: 10px;
}

.video-loading {
    text-align: center;
    padding: 30px 20px;
    color: var(--text-sec);
    font-size: 13px;
}

.video-loading .spinner {
    display: inline-block;
    width: 24px;
    height: 24px;
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    margin-right: 10px;
    vertical-align: middle;
}

.monitor-log {
    font-size: 13.5px;
    line-height: 1.65;
}

.monitor-log .log-entry {
    display: flex;
    align-items: center;
    padding: 7px 16px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    transition: background 0.2s;
}

.monitor-log .log-entry:hover {
    background: rgba(255,255,255,0.03);
}

.monitor-log .log-entry:last-child {
    border-bottom: none;
}

.monitor-log .dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-right: 12px;
}

.monitor-log .liked .dot {
    background: #bb83ff;
    box-shadow: 0 0 6px #bb83ff;
}

.monitor-log .unliked .dot {
    background: #ff6464;
    box-shadow: 0 0 6px #ff6464;
}

.monitor-log .action {
    flex: 1;
    color: var(--text1);
}

.monitor-log .timestamp {
    color: #888;
    font-size: 12.5px;
    font-family: monospace;
    margin-left: 12px;
    white-space: nowrap;
}

.monitor-log .posted .dot {
    background: #4ade80;
    box-shadow: 0 0 6px #4ade80;
}

.monitor-log .deleted .dot {
    background: #f87171;
    box-shadow: 0 0 6px #f87171;
}

.monitor-log .privated .dot,
.monitor-log .deleted .dot {
    background: #f87171;
}

.monitor-log .unprivated .dot,
.monitor-log .posted .dot {
    background: #4ade80;
}

.video-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.vstat{background:var(--card);border-radius:8px;padding:10px 6px;text-align:center}
.vstat-val{font-size:16px;font-weight:700;color:var(--accent)}
.vstat-lbl{font-size:10px;color:var(--text-sec);margin-top:2px;text-transform:uppercase;letter-spacing:.4px}
.video-sub-title{font-size:11px;color:var(--text-sec);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 6px}
.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.tag{background:#00b4ff22;color:var(--accent);border:1px solid #00b4ff44;border-radius:6px;padding:3px 9px;font-size:12px}
.tag.mention{background:#c878ff22;color:#c878ff;border-color:#c878ff44}
.music-box{background:var(--card);border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:10px;margin-bottom:12px}
.music-icon{font-size:20px;flex-shrink:0}
.music-info{flex:1;min-width:0}
.music-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--input)}
.music-author{font-size:11px;color:var(--text-sec)}
.music-dur{font-size:11px;color:var(--text-sec);flex-shrink:0}

.reposts-section{margin-top:20px}
.reposts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.reposts-title{font-size:11px;color:var(--text-sec);text-transform:uppercase;letter-spacing:.5px}
.export-field-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-sec);cursor:pointer}
.export-field-check input{cursor:pointer}
.repost-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.repost-filter-field{flex:1;min-width:140px;position:relative}
.repost-filter-field input{width:100%;padding:8px 10px;border-radius:8px;border:none;background:var(--input);color:var(--text2);font-size:12px}
#btn-filter-clear{flex-shrink:0;font-size:12px;padding:8px 12px}
.comment-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.comment-filter-field{flex:1;min-width:140px;position:relative}
.comment-filter-field input{width:100%;padding:8px 10px;border-radius:8px;border:none;background:var(--input);color:var(--text2);font-size:12px}
#btn-comment-filter-clear{flex-shrink:0;font-size:12px;padding:8px 12px}
.comment-filters-export{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:0}
.reposts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.repost-item{background:var(--card);border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s;position:relative}
.repost-item:hover{transform:scale(1.03);box-shadow:0 4px 20px rgba(0,180,255,.18)}
.repost-cover{width:100%;aspect-ratio:9/16;object-fit:cover;display:block;background:var(--input)}
.repost-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,transparent 50%);display:flex;flex-direction:column;justify-content:flex-end;padding:6px;opacity:0;transition:opacity .15s}
.repost-item:hover .repost-overlay{opacity:1}
.repost-open-btn{background:var(--accent);color:#fff;border:none;border-radius:5px;font-size:10px;padding:4px 0;width:100%;cursor:pointer;font-weight:600}
.repost-info{padding:5px 6px 6px;font-size:10px}
.repost-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text2);margin-bottom:3px}
.repost-stats{display:flex;gap:8px;color:var(--text-sec)}
.reposts-loading{text-align:center;padding:20px;font-size:13px;color:var(--text-sec)}
.no-reposts{text-align:center;padding:16px;font-size:13px;color:var(--text-sec)}
.repost-analysis{margin:10px 0}
.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.analysis-card{background:var(--card);border-radius:8px;padding:10px 12px;border:1px solid rgba(255,255,255,0.06)}
.analysis-title{font-size:11px;color:var(--text-sec);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.analysis-list{margin:0;padding-left:16px;font-size:12px;line-height:1.7;color:var(--text2)}
.analysis-list li{display:flex;justify-content:space-between;gap:8px}
.analysis-list .a-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;color:var(--text2)}
.analysis-list .a-label:hover{color:var(--accent)}
.analysis-list .a-value{color:var(--accent);flex-shrink:0;font-weight:600}

.scanner-section{margin-top:18px;border-top:1px solid rgba(255,255,255,0.06);padding-top:16px}
.scanner-title{font-size:11px;color:var(--text-sec);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.scanner-status{background:var(--card);border-radius:8px;padding:10px 12px;margin-bottom:10px;display:none}
.scanner-status-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.scanner-label{font-size:12px;color:var(--text2);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scanner-skip{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-sec);padding:3px 10px;border-radius:6px;font-size:11px;cursor:pointer;white-space:nowrap;flex-shrink:0}
.scanner-skip:hover{border-color:var(--accent);color:var(--accent)}
.scanner-progress{font-size:11px;color:var(--text-sec);margin-top:5px}
.scanner-done{font-size:12px;color:var(--success);margin-bottom:8px;display:none}
.found-comments-list{display:flex;flex-direction:column;gap:6px}
.found-comment-card{background:var(--card);border-radius:8px;padding:10px 12px;border-left:2px solid var(--accent)}
.found-comment-video{font-size:10px;color:var(--text-sec);margin-bottom:5px;cursor:pointer}
.found-comment-video:hover{color:var(--accent)}
.found-comment-text{font-size:12px;line-height:1.5;color:var(--input);margin-bottom:4px}
.found-comment-meta{display:flex;gap:10px}
.found-comment-stat{font-size:11px;color:var(--text-sec)}
.found-comment-stat i{margin-right:3px}
.no-found{text-align:center;padding:12px;font-size:13px;color:var(--text-sec);display:none}

.ins-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,0.05);gap:8px}
.ins-row:last-child{border-bottom:none}
.ins-row span:first-child{color:var(--text-sec)}
.ins-row span:last-child{color:var(--text1);font-weight:500;flex-shrink:0;text-align:right}
.ins-section-title{font-size:12px;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:14px 0 8px}

.comments-section{margin-top:4px}
.comments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.comments-title{font-size:11px;color:var(--text-sec);text-transform:uppercase;letter-spacing:.5px}
.page-info{font-size:11px;color:var(--text-sec)}
.comments-list{display:flex;flex-direction:column;gap:6px}
.comment-card{background:var(--card);border-radius:8px;padding:10px 12px}
.comment-item{background:var(--card);border-radius:8px;padding:10px 12px}
.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.comment-user{font-size:12px;font-weight:600;color:var(--accent);cursor:pointer}
.comment-user:hover{text-decoration:underline}
.comment-time{font-size:10px;color:var(--text-sec);margin-left:auto}
.comment-text{font-size:12px;line-height:1.5;color:var(--input);margin-bottom:6px}
.comment-stats{display:flex;gap:12px}
.comment-stat{font-size:11px;color:var(--text-sec)}
.comment-stat.verified{color:var(--accent)}
.comment-top{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.comment-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;background:#333;flex-shrink:0;cursor:pointer}
.comment-username{font-size:12px;font-weight:600;color:var(--accent);cursor:pointer}
.comment-username:hover{text-decoration:underline}
.comment-meta{display:flex;gap:12px;margin-top:5px}
.comment-likes{font-size:11px;color:var(--text-sec)}
.comment-likes i{color:#ff6464;margin-right:3px}
.comment-replies{font-size:11px;color:var(--text-sec)}
.comment-replies i{color:var(--accent);margin-right:3px}
.page-nav{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px}
.nav-btn{background:var(--card);border:1px solid rgba(255,255,255,0.1);color:var(--input);padding:6px 14px;border-radius:8px;cursor:pointer;font-size:12px;transition:.2s}
.nav-btn:hover:not(:disabled){background:#3a3a55;border-color:var(--accent)}
.nav-btn:disabled{opacity:.35;cursor:not-allowed}
.nav-page-num{font-size:12px;color:var(--text-sec);min-width:80px;text-align:center}
.comments-loading{text-align:center;padding:20px;font-size:13px;color:var(--text-sec)}
.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-right:8px;vertical-align:middle}
@keyframes spin{to{transform:rotate(360deg)}}
.no-comments{text-align:center;padding:16px;font-size:13px;color:var(--text-sec)}

.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}
.modal{background:#1a1a2a;border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:820px;padding:24px;position:relative}
.modal-title{font-size:16px;font-weight:600;margin-bottom:4px;color:var(--input)}
.modal-sub{font-size:12px;color:var(--text-sec);margin-bottom:16px}
.modal-close{position:absolute;top:16px;right:16px;background:transparent;border:none;color:var(--text-sec);font-size:20px;cursor:pointer;line-height:1}
.modal-close:hover{color:var(--text)}
.timeline-wrap{position:relative;width:100%;overflow-x:auto}
canvas#timeline{display:block;width:100%;border-radius:8px}
.legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;color:var(--text1)}
.legend-item{display:flex;align-items:center;gap:6px;font-size:12px}
.legend-dot{width:10px;height:10px;border-radius:50%}
.time-range{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.range-btn{background:var(--secondary);border:1px solid rgba(255,255,255,.1);color:var(--text-sec);padding:4px 12px;border-radius:6px;font-size:12px;cursor:pointer}
.range-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}

.donate-group{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.10);border-radius:999px;padding:4px 12px 4px 8px;transition:background 0.2s,border-color 0.2s}
.donate-group:hover{background:rgba(255,255,255,0.10);border-color:rgba(255,255,255,0.18)}
.pixel-heart{display:inline-block;width:14px;height:14px;image-rendering:pixelated;flex-shrink:0;animation:heartbeat 1.4s ease-in-out infinite}
@keyframes heartbeat{0%,100%{transform:scale(1)}14%{transform:scale(1.25)}28%{transform:scale(1)}42%{transform:scale(1.15)}70%{transform:scale(1)}}
.donate-link{color:#e8c96e !important;font-weight:600;font-size:13px;text-decoration:none;transition:color 0.15s}
.donate-link:hover{color:#f5df9a !important}
.donate-sep{color:rgba(232,201,110,0.35);font-size:11px}

.crypto-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px}
.crypto-modal{width:100%;max-width:620px;background:var(--secondary);border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.45);animation:cryptoPop .18s ease-out}
@keyframes cryptoPop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.crypto-header{padding:18px;background:rgba(0,0,0,.15);border-bottom:1px solid rgba(255,255,255,.05);text-align:center}
.crypto-header h3{margin:0;color:#bb83ff;font-size:20px}
.crypto-header p{margin-top:6px;font-size:12px;color:var(--text-sec)}
.crypto-close{position:absolute;margin:12px;right:0;top:0;background:none;border:none;color:var(--text-sec);font-size:24px;cursor:pointer}
.crypto-close:hover{color:var(--accent)}
.crypto-list{padding:16px;display:flex;flex-direction:column;gap:10px}
.crypto-card{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:12px;transition:.15s}
.crypto-card:hover{border-color:var(--accent);background:rgba(157,110,214,.05)}
.crypto-name{color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-weight:600}
.crypto-address{color:var(--text1);font-family:monospace;font-size:12px;word-break:break-all;line-height:1.5}

@media(max-width:600px){
    body{padding:12px 10px;align-items:stretch}
    .global-nav,.container{width:100%;border-radius:12px}
    .global-nav{flex-wrap:wrap}
    .nav-link{flex:1 1 45%;font-size:11px}
    .tabs{gap:16px}
    .tab{font-size:13px}
    .content{padding:10px}
    .video-stats-grid{grid-template-columns:repeat(2,1fr)}
    .reposts-grid{grid-template-columns:repeat(2,1fr)}
    .screenshots-grid{grid-template-columns:1fr}
    .input-group{flex-direction:column}
    .input-group button{width:100%}
    .modal{padding:16px;border-radius:12px}
    .time-range{gap:6px}
    .range-btn{font-size:11px;padding:4px 8px}
    .video-info-header h3 {
        font-size: 16px;
    }
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .stat-item .stat-value {
        font-size: 17px;
    }
    .video-info-actions {
        flex-direction: column;
    }
    .video-info-actions button {
        width: 100%;
    }
    .author-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .author-details .author-stats {
        justify-content: center;
    }
    .info-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }
    .info-row .value {
        text-align: left;
        width: 100%;
    }
    .info-row .label {
        min-width: auto;
    }
}
@media(max-width:380px){
    .nav-link{flex:1 1 100%}
    .reposts-grid{grid-template-columns:1fr}
    .video-stats-grid{grid-template-columns:repeat(2,1fr)}
    .vstat-val{font-size:14px}
    .mon-name{font-size:13px}
}

.export-field-check input[data-field="replies"] {
    accent-color: var(--accent);
}

.export-field-check:has(input[data-field="replies"]) {
    font-weight: 600;
    color: var(--text1);
}

/* ============================================
   VIDEO DOWNLOADER - SIMPLIFIED
   ============================================ */

.video-downloader-card {
    background: var(--card);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
    margin-top: 14px;
}

.video-player-container {
    background: #000;
    position: relative;
    width: 100%;
    aspect-ratio: 9/16;
    max-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.video-player-container video {
    width: 100%;
    height: 100%;
    max-height: 500px;
    object-fit: contain;
    background: #000;
    display: block;
}

.download-actions-simple {
    display: flex;
    gap: 10px;
    padding: 16px 20px;
    background: var(--card);
}

.download-actions-simple button {
    flex: 1;
    padding: 12px 16px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    font-weight: 600;
    font-size: 13px;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.btn-download-primary {
    background: var(--accent);
    color: #fff;
}

.btn-download-primary:hover {
    background: #b896e8;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(157, 110, 214, 0.3);
}

.btn-copy-link {
    background: rgba(255, 255, 255, 0.06);
    color: var(--text1);
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.btn-copy-link:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--accent) !important;
}

.btn-copy-link.copied {
    background: rgba(75, 181, 67, 0.15);
    border-color: #4bb543 !important;
    color: #4bb543;
}

/* Mobile responsiveness */
@media(max-width: 600px) {
    .video-player-container {
        aspect-ratio: 9/16;
        max-height: 400px;
    }
    
    .video-player-container video {
        max-height: 400px;
    }
    
    .download-actions-simple {
        flex-direction: column;
        padding: 12px 16px;
    }
    
    .download-actions-simple button {
        width: 100%;
    }
}

/* Post Links Section */
#post-links .section-subtitle {
    font-size: 12px;
    color: var(--text-sec);
    margin-bottom: 12px;
}

#post-links-result .stat-box:last-of-type {
    margin-top: 10px;
}

#post-links-result .stat-value {
    font-size: 14px;
}
/* Documentation Section */
#documentation ul {
    list-style-type: none;
    padding-left: 0;
}

#documentation ul li {
    padding: 4px 0 4px 24px;
    position: relative;
}

#documentation ul li::before {
    content: "›";
    position: absolute;
    left: 4px;
    color: var(--accent);
    font-weight: bold;
    font-size: 18px;
}

#documentation .section-title {
    font-size: 20px;
    color: var(--accent);
    text-transform: none;
    letter-spacing: 0;
    font-weight: 600;
}

#documentation .stat-box {
    margin-bottom: 10px;
}

/* Documentation Dropdown Styles */
.doc-category {
    margin-bottom: 8px;
    border-radius: 10px;
    overflow: hidden;
    background: var(--card);
    border: 1px solid rgba(255,255,255,0.06);
}

.doc-toggle {
    width: 100%;
    background: var(--secondary);
    border: none;
    padding: 14px 18px;
    color: var(--text1);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: background 0.2s;
    text-align: left;
    border-bottom: 1px solid transparent;
}

.doc-toggle:hover {
    background: rgba(255,255,255,0.05);
}

.doc-toggle .doc-icon {
    font-size: 18px;
}

.doc-toggle .doc-arrow {
    margin-left: auto;
    transition: transform 0.3s ease;
    font-size: 12px;
    color: var(--text-sec);
}

.doc-toggle.open .doc-arrow {
    transform: rotate(180deg);
}

.doc-toggle.open {
    border-bottom-color: var(--accent);
}

.doc-content {
    display: none;
    padding: 0 18px 18px 18px;
    background: var(--card);
}

.doc-content.open {
    display: block;
}

.doc-item {
    padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}

.doc-item:last-child {
    border-bottom: none;
}

.doc-item-title {
    color: var(--accent);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 4px;
}

.doc-item-input {
    color: var(--text-sec);
    font-size: 12px;
    margin-bottom: 2px;
}

.doc-item-output {
    color: var(--text2);
    font-size: 12px;
    line-height: 1.5;
}

.doc-item-input strong,
.doc-item-output strong {
    color: var(--text1);
}


/* =========================================================
   User Monitoring Dashboard — styles
   ========================================================= */

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
}

.dashboard-card {
    background: var(--card);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 14px 16px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
    min-width: 0;
}
.dashboard-card canvas {
    width: 100% !important;
    display: block;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.15);
}

.card-title {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--text-sec);
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}
.card-title i { color: var(--accent); font-size: 12px; }

.dash-card-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

/* ---------- Second-user input row ---------- */
.dash-second-user-row { margin-top: 10px; }

/* ---------- Multi-user settings ---------- */
.dash-multiuser-settings {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    background: rgba(0, 0, 0, 0.18);
    border-radius: 10px;
    padding: 8px 12px;
    margin: 12px 0;
}
.dash-user-toggle-pills {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.dash-user-pill {
    display: flex;
    align-items: center;
    gap: 5px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid transparent;
    border-radius: 20px;
    padding: 3px 8px 3px 10px;
    opacity: 0.5;
    transition: 0.15s;
}
.dash-user-pill.active {
    opacity: 1;
    border-color: rgba(157, 110, 214, 0.35);
    background: rgba(157, 110, 214, 0.12);
}
.dash-user-pill-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.dash-user-pill-toggle {
    border: none;
    background: transparent;
    color: var(--text1);
    font-size: 12px;
    cursor: pointer;
    padding: 0;
}
.dash-user-pill-remove {
    color: var(--text-sec);
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    padding: 1px 3px;
    border-radius: 50%;
    transition: 0.15s;
}
.dash-user-pill-remove:hover { color: #f87171; background: rgba(248, 113, 113, 0.12); }

.dash-overlap-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--text-sec);
    cursor: pointer;
    user-select: none;
}
.dash-overlap-label input { accent-color: var(--accent); cursor: pointer; }
.dash-icon-btn {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: transparent;
    color: var(--text-sec);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: 0.15s;
    flex-shrink: 0;
}
.dash-icon-btn:hover { border-color: var(--accent); color: var(--accent); }

.dash-nav-group {
    display: flex;
    align-items: center;
    gap: 4px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 7px;
    padding: 2px 4px;
}
.dash-nav-group .dash-icon-btn { width: 22px; height: 22px; border: none; }
.dash-nav-label {
    font-size: 10px;
    color: var(--text-sec);
    white-space: nowrap;
    padding: 0 4px;
    min-width: 44px;
    text-align: center;
}

/* ---------- User block ---------- */
.dash-user-block { margin-bottom: 20px; }
.dash-user-block:last-child { margin-bottom: 0; }

.dash-block-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}
.dash-block-avatar-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex-shrink: 0;
}
.dash-block-name {
    font-weight: 600;
    color: var(--text1);
    font-size: 13px;
}
.dash-status {
    margin-left: auto;
    font-size: 11px;
    padding: 3px 12px;
    border-radius: 20px;
    background: rgba(75, 181, 67, 0.15);
    color: #4ade80;
    border: 1px solid rgba(75, 181, 67, 0.2);
    display: flex;
    align-items: center;
    gap: 4px;
}
.dash-status .dot-pulse {
    width: 6px; height: 6px; border-radius: 50%;
    background: #4ade80;
    animation: pulse-dot 1.4s ease-in-out infinite;
}
@keyframes pulse-dot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(0.7); }
}
@media (prefers-reduced-motion: reduce) {
    .dash-status .dot-pulse { animation: none; }
}

/* ---------- Timeline card ---------- */
.dash-timeline-card { margin-bottom: 16px; }

.dash-timeline-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.dash-toggle-group {
    display: flex;
    gap: 2px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 7px;
    padding: 2px;
}
.dash-toggle-group button {
    padding: 5px 10px;
    border-radius: 5px;
    border: none;
    background: transparent;
    color: var(--text-sec);
    font-size: 11px;
    cursor: pointer;
    transition: 0.15s;
}
.dash-toggle-group button.active { background: var(--accent); color: #fff; }

.dash-range-picker {
    display: flex;
    gap: 2px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 7px;
    padding: 2px;
    flex-wrap: wrap;
}
.dash-range-picker button {
    padding: 5px 9px;
    border-radius: 5px;
    border: none;
    background: transparent;
    color: var(--text-sec);
    font-size: 10px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.15s;
}
.dash-range-picker button.active { background: var(--accent); color: #fff; }
.dash-range-picker button:hover:not(.active) { color: var(--text1); }

.dash-timeline-chart-wrap {
    position: relative;
}
.dash-timeline-chart-wrap canvas {
    cursor: crosshair;
}
.dash-reset-zoom {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 4px 10px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(20, 20, 30, 0.85);
    color: var(--text1);
    font-size: 10px;
    cursor: pointer;
}
.dash-reset-zoom:hover { border-color: var(--accent); color: var(--accent); }

.dash-timeline-list {
    max-height: 340px;
    overflow-y: auto;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.15);
}
.dash-timeline-list::-webkit-scrollbar { width: 6px; }
.dash-timeline-list::-webkit-scrollbar-thumb {
    background: rgba(157, 110, 214, 0.3);
    border-radius: 6px;
}
.dash-list-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    font-size: 12px;
    color: var(--text1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}
.dash-list-row:last-child { border-bottom: none; }
.dash-list-dot {
    width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
}
.dash-list-time {
    color: var(--text-sec);
    font-size: 11px;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.dash-list-desc { flex: 1; min-width: 0; }
.dash-list-empty {
    text-align: center;
    padding: 24px 12px;
    color: var(--text-sec);
    font-size: 12px;
}

/* ---------- Breakdown (pie + line) ---------- */
.dash-breakdown-section { margin-top: 4px; }

/* ---------- Legend ---------- */
.timeline-legend-compact {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
    justify-content: center;
}
.timeline-legend-compact .leg-item {
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 20px;
    padding: 3px 10px 3px 8px;
    font-size: 10.5px;
    color: var(--text1);
    font-variant-numeric: tabular-nums;
}
.timeline-legend-compact .leg-dot {
    width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex-shrink: 0;
}

/* ---------- Empty / notice states ---------- */
.empty-dash {
    text-align: center;
    padding: 30px 16px;
    color: var(--text-sec);
    font-size: 13px;
    border: 1px dashed rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    margin-bottom: 16px;
}
.empty-dash i { font-size: 32px; color: rgba(157, 110, 214, 0.25); margin-bottom: 10px; display: block; }
.empty-dash .sub { font-size: 12px; color: var(--text-sec); opacity: 0.7; margin-top: 4px; }

.dash-notice {
    background: rgba(255, 200, 50, 0.08);
    border: 1px solid rgba(255, 200, 50, 0.15);
    border-left: 3px solid #fbbf24;
    border-radius: 10px;
    padding: 12px 16px;
    color: var(--text2);
    font-size: 13px;
    margin-top: 12px;
    display: none;
}
.dash-notice.show { display: block; }
.dash-notice i { color: #fbbf24; margin-right: 8px; }

/* ---------- Fullscreen overlay ---------- */
.dash-fullscreen-overlay {
    position: fixed;
    inset: 0;
    background: rgba(10, 10, 16, 0.92);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.dash-fullscreen-inner {
    background: var(--card);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    width: 100%;
    max-width: 1100px;
    height: 100%;
    max-height: 720px;
    display: flex;
    flex-direction: column;
    padding: 16px 20px;
}
.dash-fullscreen-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text1);
}
.dash-fullscreen-canvas-wrap {
    flex: 1;
    position: relative;
    min-height: 0;
}
.dash-fullscreen-canvas-wrap canvas {
    width: 100% !important;
    height: 100% !important;
    cursor: crosshair;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.15);
}
.dash-fullscreen-hint {
    margin-top: 10px;
    font-size: 11px;
    color: var(--text-sec);
    display: flex;
    align-items: center;
    gap: 10px;
}

/* ---------- Responsive ---------- */
@media (max-width: 640px) {
    .dashboard-grid { grid-template-columns: 1fr; }
    .dash-multiuser-settings { flex-direction: column; align-items: stretch; }
    .dash-remove-second { margin-left: 0; align-self: flex-end; }
    .dash-card-header-row { flex-direction: column; align-items: stretch; }
    .dash-timeline-toolbar { justify-content: space-between; }
    .dash-fullscreen-inner { padding: 12px; }
}