@import"https://fonts.googleapis.com/css2?family=Inter+Display:wght@300;400;500;600;700;800&display=swap";:root{--color-bg-primary: #FAFAFA;--color-bg-secondary: #FFFFFF;--color-bg-elevated: #FFFFFF;--color-bg-hover: #F5F5F5;--color-text-primary: #1A1A1A;--color-text-secondary: #666666;--color-text-muted: #999999;--color-orange: #FF6B35;--color-orange-hover: #FF5722;--color-orange-light: #FFF4F0;--color-border: #E5E5E5;--color-border-light: #F0F0F0;--font-primary: "Inter Display", -apple-system, BlinkMacSystemFont, sans-serif;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08);--shadow-hover: 0 12px 32px rgba(0, 0, 0, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 999px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6}#root{min-height:100vh;position:relative}.app{min-height:100vh;display:flex;flex-direction:column;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.header{background:var(--color-bg-secondary);padding:2rem 3rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;animation:slideDown .4s ease-out}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.header h1{font-family:var(--font-primary);font-size:1.5rem;font-weight:600;color:var(--color-text-primary);letter-spacing:-.01em}.back-button{padding:.625rem 1.25rem;background:var(--color-bg-hover);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-primary);font-size:.875rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:.5rem}.back-button:hover{background:var(--color-text-primary);color:var(--color-bg-secondary);border-color:var(--color-text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.back-button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.main-content{flex:1;padding:3rem;width:100%;max-width:1600px;margin:0 auto;animation:fadeInUp .5s ease-out .1s both;overflow:visible}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.client-list h2{margin-bottom:2rem;color:var(--color-text-secondary);font-family:var(--font-primary);font-size:.875rem;font-weight:500;letter-spacing:.02em;opacity:0;animation:fadeIn .4s ease-out .2s both}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.card{background:var(--color-bg-elevated);padding:2rem;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;opacity:0;animation:fadeInUp .4s ease-out both;box-shadow:var(--shadow-sm)}.card:nth-child(1){animation-delay:.05s}.card:nth-child(2){animation-delay:.1s}.card:nth-child(3){animation-delay:.15s}.card:nth-child(4){animation-delay:.2s}.card:nth-child(5){animation-delay:.25s}.card:nth-child(n+6){animation-delay:.3s}.card:hover{border-color:var(--color-orange);transform:translateY(-4px);box-shadow:var(--shadow-hover)}.client-logo{width:100%;height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border-light)}.client-logo img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(100%);opacity:.7;transition:all .3s ease}.card:hover .client-logo img{filter:grayscale(0%);opacity:1}.client-card h3{margin-bottom:.5rem;color:var(--color-text-primary);font-family:var(--font-primary);font-size:1.5rem;font-weight:600;letter-spacing:-.02em;line-height:1.3;transition:color .2s ease}.card:hover .client-card h3{color:var(--color-orange)}.client-card p{color:var(--color-text-secondary);font-family:var(--font-primary);font-size:.875rem;font-weight:400}.campaign-client-logo{width:100%;height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border-light);opacity:0;animation:fadeIn .4s ease-out .1s both}.campaign-client-logo img{max-width:100%;max-height:100%;object-fit:contain}.campaign-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border);opacity:0;animation:fadeIn .4s ease-out .2s both}.campaign-list h2{margin:0;color:var(--color-text-primary);font-family:var(--font-primary);font-size:1.75rem;font-weight:600;letter-spacing:-.02em}.controls-wrapper{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.sort-controls{display:flex;align-items:center;gap:.75rem}.sort-label{font-family:var(--font-primary);font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);margin-right:.25rem}.sort-button{padding:.625rem 1rem;background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-primary);font-size:.8125rem;font-weight:500;color:var(--color-text-primary);transition:all .2s cubic-bezier(.4,0,.2,1)}.sort-button:hover{background:var(--color-text-primary);color:var(--color-bg-secondary);border-color:var(--color-text-primary);box-shadow:var(--shadow-md)}.sort-button.active{background:var(--color-orange);color:#fff;border-color:var(--color-orange)}.sort-button.active:hover{background:var(--color-orange-hover);border-color:var(--color-orange-hover)}.sort-button:active{transform:scale(.98);box-shadow:var(--shadow-sm)}.view-controls{display:flex;gap:.75rem}.view-button{padding:.625rem 1rem;background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-primary);font-size:.8125rem;font-weight:500;color:var(--color-text-primary);transition:all .2s cubic-bezier(.4,0,.2,1)}.view-button:hover{background:var(--color-text-primary);color:var(--color-bg-secondary);border-color:var(--color-text-primary);box-shadow:var(--shadow-md)}.view-button.active{background:var(--color-orange);color:#fff;border-color:var(--color-orange)}.view-button.active:hover{background:var(--color-orange-hover);border-color:var(--color-orange-hover)}.view-button:active{transform:scale(.98);box-shadow:var(--shadow-sm)}.campaign-card{position:relative}.campaign-card h3{margin-bottom:.5rem;color:var(--color-text-primary);font-family:var(--font-primary);font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.3;transition:color .2s ease}.card:hover .campaign-card h3{color:var(--color-orange)}.campaign-card p{color:var(--color-text-secondary);font-family:var(--font-primary);font-size:.875rem;margin-bottom:.5rem;font-weight:400}.campaign-card .description{color:var(--color-text-muted);font-family:var(--font-primary);font-size:.875rem;margin-top:1rem;line-height:1.5;font-weight:400;padding-top:1rem;border-top:1px solid var(--color-border-light)}.table-view{width:100%;opacity:0;animation:fadeIn .4s ease-out .2s both}.campaign-table{width:100%;border-collapse:collapse;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.campaign-table thead{background:var(--color-bg-hover);border-bottom:2px solid var(--color-border)}.campaign-table th{padding:1rem 1.5rem;text-align:left;font-family:var(--font-primary);font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);letter-spacing:.02em;text-transform:uppercase}.campaign-table tbody tr{border-bottom:1px solid var(--color-border-light);transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer}.campaign-table tbody tr:last-child{border-bottom:none}.campaign-table tbody tr:hover{background:var(--color-bg-hover);box-shadow:inset 3px 0 0 var(--color-orange)}.campaign-table td{padding:1.25rem 1.5rem;font-family:var(--font-primary);font-size:.9375rem;color:var(--color-text-primary)}.campaign-table .campaign-name{font-weight:600;color:var(--color-text-primary);transition:color .2s ease}.campaign-table tbody tr:hover .campaign-name{color:var(--color-orange)}.campaign-table .banner-count{font-weight:500;color:var(--color-text-secondary);width:100px;text-align:center}.campaign-table .campaign-description{color:var(--color-text-muted);font-size:.875rem;max-width:500px}.banner-gallery{width:100%;overflow:visible}.banner-gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;flex-wrap:wrap;gap:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border);opacity:0;animation:fadeIn .4s ease-out .2s both}.banner-gallery-header h2{margin:0;color:var(--color-text-primary);font-family:var(--font-primary);font-size:1.75rem;font-weight:600;letter-spacing:-.02em;line-height:1.3}.banner-controls{display:flex;gap:.75rem}.control-button{padding:.625rem 1rem;background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-primary);font-size:.8125rem;font-weight:500;color:var(--color-text-primary);transition:all .2s cubic-bezier(.4,0,.2,1)}.control-button:hover{background:var(--color-text-primary);color:var(--color-bg-secondary);border-color:var(--color-text-primary);box-shadow:var(--shadow-md)}.control-button.active{background:var(--color-orange);color:#fff;border-color:var(--color-orange)}.control-button.active:hover{background:var(--color-orange-hover);border-color:var(--color-orange-hover)}.control-button:active{transform:scale(.98);box-shadow:var(--shadow-sm)}.banner-grid.horizontal{display:flex;flex-direction:row;gap:2rem;padding:1rem 0 2rem;overflow-x:auto;overflow-y:visible;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.banner-grid.horizontal::-webkit-scrollbar{height:8px}.banner-grid.horizontal::-webkit-scrollbar-track{background:transparent}.banner-grid.horizontal::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.banner-grid.horizontal::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.banner-grid.vertical{display:flex;flex-direction:column;gap:2rem;padding-bottom:2rem;align-items:flex-start}.banner-grid.flex{display:flex;flex-direction:row;flex-wrap:wrap;gap:2rem;padding-bottom:2rem;align-items:flex-start}.banner-item{display:flex;flex-direction:column;align-items:center;background:var(--color-bg-elevated);padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;opacity:0;animation:fadeInUp .4s ease-out both;box-shadow:var(--shadow-sm)}.banner-item:nth-child(1){animation-delay:.05s}.banner-item:nth-child(2){animation-delay:.1s}.banner-item:nth-child(3){animation-delay:.15s}.banner-item:nth-child(4){animation-delay:.2s}.banner-item:nth-child(5){animation-delay:.25s}.banner-item:nth-child(n+6){animation-delay:.3s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.banner-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--color-orange)}.banner-info{margin-bottom:1rem;text-align:center;padding-bottom:1rem;border-bottom:1px solid var(--color-border-light);width:100%}.banner-info h3{font-family:var(--font-primary);font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.25rem;letter-spacing:-.01em}.banner-name{font-family:var(--font-primary);font-size:.75rem;font-weight:400;color:var(--color-text-secondary)}.banner-frame-wrapper{position:relative;border:none;background:#fff;overflow:hidden;transition:all .25s ease}.banner-item:hover .banner-frame-wrapper{box-shadow:none}.banner-iframe{display:block;border:none}.adblocker-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease-out}.adblocker-modal{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:500px;width:90%;padding:3rem;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.adblocker-modal-content{text-align:center}.adblocker-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.9;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.adblocker-modal h2{margin:0 0 1.5rem;color:var(--color-text-primary);font-family:var(--font-primary);font-size:1.75rem;font-weight:600;letter-spacing:-.02em}.adblocker-modal p{margin:0 0 1rem;color:var(--color-text-secondary);font-family:var(--font-primary);font-size:1rem;line-height:1.6}.adblocker-modal p:last-of-type{margin-bottom:2rem}.adblocker-modal strong{color:var(--color-orange);font-weight:600}.adblocker-dismiss-btn{padding:.875rem 2rem;background:var(--color-orange);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md)}.adblocker-dismiss-btn:hover{background:var(--color-orange-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.adblocker-dismiss-btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}
