*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f0f2f5;color:#1a1a2e;line-height:1.6}.app{max-width:1400px;margin:0 auto;padding:20px}.header{background:linear-gradient(135deg,red,#c00);color:#fff;padding:24px 32px;border-radius:12px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center}.header h1{font-size:24px;font-weight:700}.header .period{font-size:14px;opacity:.9}.header-actions{display:flex;gap:12px;align-items:center}.header-actions button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;transition:background .2s}.header-actions button:hover{background:#ffffff4d}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e)}.login-box{background:#fff;padding:40px;border-radius:16px;width:380px;box-shadow:0 20px 40px #0000004d}.login-box h2{text-align:center;margin-bottom:24px;color:#c00}.login-box input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;margin-bottom:12px;outline:none;transition:border-color .2s}.login-box input:focus{border-color:#c00}.login-box button{width:100%;padding:12px;background:#c00;color:#fff;border:none;border-radius:8px;font-size:16px;cursor:pointer;font-weight:600;transition:background .2s}.login-box button:hover{background:#a00}.login-error{color:#c00;text-align:center;margin-top:12px;font-size:14px}.tabs{display:flex;gap:4px;background:#fff;padding:6px;border-radius:12px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.tab{padding:10px 20px;border:none;background:transparent;cursor:pointer;border-radius:8px;font-size:14px;font-weight:500;color:#666;transition:all .2s}.tab:hover{background:#f5f5f5}.tab.active{background:#c00;color:#fff}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000000f}.card .label{font-size:13px;color:#888;margin-bottom:4px}.card .value{font-size:28px;font-weight:700;color:#1a1a2e}.card .change{font-size:13px;margin-top:4px}.change.positive{color:#00a651}.change.negative{color:#c00}.table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f;margin-bottom:24px}.table-container h3{padding:16px 20px;border-bottom:1px solid #eee;font-size:16px}table{width:100%;border-collapse:collapse}th{background:#f8f9fa;padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:#666;border-bottom:2px solid #eee}td{padding:12px 16px;border-bottom:1px solid #f0f0f0;font-size:14px}tr:hover{background:#fafafa}.num{text-align:right;font-variant-numeric:tabular-nums}.top3-section{margin-bottom:24px}.top3-section h3{margin-bottom:12px;font-size:18px}.top3-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.top3-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f;display:flex;gap:12px;padding:12px}.top3-card .rank{font-size:28px;font-weight:800;color:#c00;min-width:40px;display:flex;align-items:center;justify-content:center}.top3-card img{width:120px;height:68px;object-fit:cover;border-radius:6px}.top3-card .info{flex:1}.top3-card .info .title{font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.top3-card .info .channel{font-size:12px;color:#888;margin-top:4px}.top3-card .info .views{font-size:13px;font-weight:600;color:#c00;margin-top:4px}.segment-filter{display:flex;gap:4px;background:#fff;padding:4px;border-radius:10px;margin-bottom:16px;box-shadow:0 1px 4px #0000000f;display:inline-flex}.segment-btn{padding:8px 18px;border:none;background:transparent;cursor:pointer;border-radius:8px;font-size:13px;font-weight:500;color:#666;transition:all .15s;white-space:nowrap}.segment-btn:hover{background:#f5f5f5}.segment-btn.active{background:#c00;color:#fff}.cat-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500}.cat-badge.markaziy{background:#e3f2fd;color:#1565c0}.cat-badge.hududiy{background:#f3e5f5;color:#7b1fa2}.loading{text-align:center;padding:60px;font-size:16px;color:#888}.empty-state{text-align:center;padding:60px;color:#888}.empty-state p{margin-bottom:16px}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.date-range-picker{position:relative}.date-range-trigger{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;color:#333;transition:border-color .15s}.date-range-trigger:hover{border-color:#c00}.date-range-icon{font-size:16px}.date-range-dropdown{position:absolute;top:calc(100% + 8px);left:0;z-index:100;background:#fff;border-radius:14px;box-shadow:0 8px 32px #0000002e;padding:16px;width:300px;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cal-header button{background:none;border:none;font-size:20px;cursor:pointer;width:32px;height:32px;border-radius:8px;color:#666;display:flex;align-items:center;justify-content:center}.cal-header button:hover{background:#f0f0f0}.cal-title{font-weight:600;font-size:15px}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:4px}.cal-wd{text-align:center;font-size:11px;font-weight:600;color:#999;padding:4px 0}.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-day{text-align:center;padding:7px 0;font-size:13px;border-radius:8px;cursor:pointer;transition:all .1s;position:relative}.cal-day:hover{background:#f0f0f0}.cal-day.other-month{color:#ccc}.cal-day.today{font-weight:700}.cal-day.range-start{background:#c00;color:#fff;border-radius:8px 0 0 8px}.cal-day.range-end{background:#c00;color:#fff;border-radius:0 8px 8px 0}.cal-day.range-start.range-end{border-radius:8px}.cal-day.in-range{background:#ffe0e0;border-radius:0;color:#c00}.cal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #eee}.cal-selected{font-size:13px;color:#666}.cal-selected .has-val{color:#c00;font-weight:600}.cal-apply{padding:8px 20px;background:#c00;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600}.cal-apply:disabled{background:#ddd;cursor:not-allowed}.playlist-layout{display:flex;gap:16px;min-height:500px}.playlist-sidebar{width:240px;flex-shrink:0;background:#fff;border-radius:12px;padding:8px;box-shadow:0 2px 8px #0000000f;max-height:600px;overflow-y:auto}.sidebar-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:13px;color:#333;text-align:left;transition:background .1s}.sidebar-item:hover{background:#f5f5f5}.sidebar-item.active{background:#c00;color:#fff}.sidebar-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0}.playlist-content{flex:1;min-width:0}@media(max-width:768px){.playlist-layout{flex-direction:column}.playlist-sidebar{width:100%;max-height:200px;flex-direction:row;display:flex;flex-wrap:wrap}.sidebar-item{width:auto}}.settings-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px}.settings-section h3{margin-bottom:16px}.settings-row{display:flex;gap:12px;margin-bottom:12px;align-items:center}.settings-row input{padding:8px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;outline:none;flex:1}.settings-row button{padding:8px 20px;background:#c00;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;white-space:nowrap}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.status-badge.idle{background:#e8f5e9;color:#2e7d32}.status-badge.running{background:#fff3e0;color:#e65100}@media(max-width:768px){.app{padding:12px}.header{padding:16px;flex-direction:column;gap:12px}.tabs{overflow-x:auto}.summary-cards{grid-template-columns:repeat(2,1fr)}.top3-grid{grid-template-columns:1fr}}
