*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-body{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-box{background:#fff;border-radius:16px;width:100%;max-width:450px;padding:40px;animation:.5s ease-out slideIn;box-shadow:0 20px 60px #0000004d}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-title{text-align:center;color:#667eea;margin-bottom:10px;font-size:32px}.login-subtitle{text-align:center;color:#666;margin-bottom:30px;font-size:18px;font-weight:400}.login-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#555;font-size:14px;font-weight:600}.form-group input{border:2px solid #e0e0e0;border-radius:8px;outline:none;padding:12px 16px;font-size:16px;transition:all .3s}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;margin-top:10px;padding:14px;font-size:16px;font-weight:600;transition:transform .2s,box-shadow .2s}.login-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.error-msg{color:#c33;text-align:center;background:#fee;border:1px solid #fcc;border-radius:8px;padding:12px;font-size:14px}.dashboard-container{background:#f5f7fa;max-width:1400px;min-height:100vh;margin:0 auto;padding:20px}.dashboard-header{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:24px 32px;display:flex;box-shadow:0 2px 8px #0000001a}.dashboard-header h1{color:#667eea;font-size:32px;font-weight:700}.logout-button{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600}.logout-button:hover{background:#c82333}.filters-section{background:#fff;border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 2px 8px #0000001a}.date-filters{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.date-input-group{flex-direction:column;gap:8px;display:flex}.date-input-group label{color:#555;font-size:14px;font-weight:600}.date-input{border:2px solid #e0e0e0;border-radius:8px;outline:none;min-width:160px;padding:10px 14px;font-size:14px;transition:all .3s}.date-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.view-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;height:fit-content;padding:10px 24px;font-size:14px;font-weight:600;transition:transform .2s}.view-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.quick-filters{flex-wrap:wrap;gap:12px;display:flex}.quick-filter-btn{color:#555;cursor:pointer;background:#f0f0f0;border:2px solid #e0e0e0;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .3s}.quick-filter-btn:hover,.quick-filter-btn.active{color:#fff;background:#667eea;border-color:#667eea}.section-divider{border-top:2px solid #e0e0e0;margin-top:20px;padding-top:20px}.section-label{color:#555;margin-bottom:10px;font-weight:600;display:block}.dsp-filters{flex-wrap:wrap;gap:12px;display:flex}.dsp-filter-btn{color:#555;cursor:pointer;background:#f0f0f0;border:2px solid #e0e0e0;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .3s}.dsp-filter-btn:hover,.dsp-filter-btn.active{color:#fff;background:#667eea;border-color:#667eea}.export-buttons{flex-wrap:wrap;gap:12px;display:flex}.export-btn{color:#fff;cursor:pointer;background:#28a745;border:2px solid #28a745;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s}.export-btn:hover{background:#218838;border-color:#218838;transform:translateY(-2px);box-shadow:0 4px 8px #28a7454d}.loading-indicator{text-align:center;background:#fff;border-radius:12px;margin-bottom:24px;padding:40px;box-shadow:0 2px 8px #0000001a}.spinner{border:4px solid #f3f3f3;border-top-color:#667eea;border-radius:50%;width:50px;height:50px;margin:0 auto 16px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-indicator p{color:#666;font-size:16px}.error-banner{color:#c33;background:#fee;border:1px solid #fcc;border-radius:8px;margin-bottom:24px;padding:16px}.date-section{margin-bottom:40px}.date-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px 12px 0 0;padding:16px 24px;box-shadow:0 2px 8px #0000001a}.date-header h2{margin:0;font-size:20px;font-weight:600}.campaign-block{background:#fff;margin-bottom:0;box-shadow:0 2px 8px #0000001a}.campaign-block:last-child{border-radius:0 0 12px 12px}.metadata-section{border-bottom:1px solid #e0e0e0;flex-wrap:wrap;gap:32px;padding:20px 24px;display:flex}.metadata-item{color:#555;font-size:15px}.metadata-item strong{color:#333;margin-right:8px}.metadata-item span{color:#667eea;font-weight:600}.clickable-link{color:#667eea;word-break:break-all;font-weight:600;text-decoration:none}.clickable-link:hover{color:#764ba2;text-decoration:underline}.cut-dropdown{color:#333;cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:6px;outline:none;min-width:80px;padding:8px 12px;font-size:14px;font-weight:600;transition:all .3s}.cut-dropdown:focus,.cut-dropdown:hover{border-color:#667eea}.table-wrapper{padding:24px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:1200px;font-size:14px}.data-table thead{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.data-table th{text-align:center;white-space:nowrap;border-right:1px solid #fff3;padding:14px 12px;font-weight:600}.data-table th:first-child{z-index:11;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-width:120px;position:sticky;left:0}.data-table th:nth-child(2){z-index:11;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-left:2px solid #ffffff4d;min-width:100px;position:sticky;left:120px}.data-table tbody tr:nth-child(2n){background:#f8f9fa}.data-table tbody tr:nth-child(odd){background:#fff}.data-table tbody tr:hover{background:#e8f0fe}.data-table td{text-align:center;white-space:nowrap;border-bottom:1px solid #e0e0e0;border-right:1px solid #e0e0e0;padding:12px}.data-table td:first-child{background:inherit;z-index:5;color:#333;min-width:120px;font-weight:600;position:sticky;left:0}.data-table td:nth-child(2){background:inherit;z-index:5;color:#667eea;border-left:2px solid #e0e0e0;min-width:100px;font-weight:600;position:sticky;left:120px}.data-table tbody tr:nth-child(2n) td:first-child,.data-table tbody tr:nth-child(2n) td:nth-child(2){background:#f8f9fa}.data-table tbody tr:nth-child(odd) td:first-child,.data-table tbody tr:nth-child(odd) td:nth-child(2){background:#fff}.data-table tbody tr:hover td:first-child,.data-table tbody tr:hover td:nth-child(2){background:#e8f0fe}.cr-cell{color:#667eea;background:#f8f9fa!important}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:flex-start;padding-top:5%;animation:.3s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;animation:.3s slideDown;box-shadow:0 4px 20px #0000004d}@keyframes slideDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{margin:0;font-size:20px;font-weight:600}.modal-close{color:#fff;cursor:pointer;font-size:28px;font-weight:700;line-height:1}.modal-close:hover{transform:scale(1.2)}.modal-body{max-height:400px;padding:24px;overflow-y:auto}.modal-footer{background:#f8f8f8;border-radius:0 0 12px 12px;justify-content:flex-end;gap:12px;padding:20px 24px;display:flex}.cancel-btn{color:#555;cursor:pointer;background:#f0f0f0;border:none;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:600}.cancel-btn:hover{background:#e0e0e0}.confirm-btn{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:600}.confirm-btn:hover{background:#218838}.date-selection-controls{border-bottom:2px solid #e0e0e0;gap:10px;margin-bottom:20px;padding-bottom:15px;display:flex}.select-btn{color:#555;cursor:pointer;background:#f0f0f0;border:2px solid #e0e0e0;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600}.select-btn:hover{color:#fff;background:#667eea;border-color:#667eea}.date-checkboxes{flex-direction:column;gap:12px;display:flex}.date-checkbox-item{background:#f8f8f8;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.date-checkbox-item:hover{background:#f0f0f0}.date-checkbox-item input{cursor:pointer;accent-color:#667eea;width:20px;height:20px}.date-checkbox-item label{cursor:pointer;color:#333;flex:1;font-size:15px;font-weight:500}.empty-state{text-align:center;color:#999;background:#fff;border-radius:12px;padding:40px;box-shadow:0 2px 8px #0000001a}@media (width<=768px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:16px}.dashboard-header h1{font-size:24px}.date-filters{flex-direction:column;align-items:stretch}.date-input{width:100%}.metadata-section{flex-direction:column;gap:12px}.data-table{font-size:12px}.data-table th,.data-table td{padding:8px 6px}}
