*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:white;color:#333;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:20px}.header{background-color:#1877f2;color:white;padding:20px 0}.header h1{font-size:24px;font-weight:600;margin-bottom:16px}.header-tabs{display:flex;gap:8px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:0}.header-tab{background:none;color:rgba(255,255,255,.8);font-size:15px;font-weight:500;padding:10px 16px;cursor:pointer;border:none;border-bottom:3px solid transparent;transition:all .2s;position:relative;bottom:-1px}.header-tab:hover{color:white;background-color:rgba(255,255,255,.1)}.header-tab-active{color:white;border-bottom-color:white}.button{padding:10px 20px;background-color:#1877f2;color:white;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:background-color .2s}.button:hover{background-color:#166fe5}.button:disabled{background-color:#ccc;cursor:not-allowed}.button-secondary{background-color:#42b72a}.button-secondary:hover{background-color:#36a420}.button-danger{background-color:#dc3545}.button-danger:hover{background-color:#c82333}.button-small,.time-frame-select{padding:6px 12px;font-size:14px}.time-frame-select{border:1px solid #dddfe2;border-radius:6px;background-color:white;cursor:pointer;color:#1c1e21;font-weight:500;transition:all .2s}.time-frame-select:hover{border-color:#1877f2}.time-frame-select:focus{outline:none;border-color:#1877f2;box-shadow:0 0 0 2px rgba(24,119,242,.1)}.card{background:white;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.campaign-list{gap:15px}.campaign-item,.campaign-list{display:flex;flex-direction:column}.campaign-item{background:white;border:1px solid #e1e4e8;border-radius:8px;padding:20px;gap:12px}.campaign-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.campaign-name{font-size:18px;font-weight:600;color:#1c1e21}.campaign-status{display:inline-block;padding:4px 12px;border-radius:12px;font-size:14px;font-weight:500}.status-active{background-color:#d4edda;color:#155724}.status-paused{background-color:#fff3cd;color:#856404}.campaign-controls{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.budget-section{display:flex;align-items:center;gap:10px}.budget-input{padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;width:120px}.budget-input:focus{outline:none;border-color:#1877f2}.toggle-switch{position:relative;display:inline-block;width:50px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:white;transition:.3s;border-radius:50%}input:checked+.toggle-slider{background-color:#42b72a}input:checked+.toggle-slider:before{transform:translateX(26px)}.error-message{background-color:#f8d7da;color:#721c24;border-radius:6px;border:1px solid #f5c6cb}.error-message,.success-message{padding:12px 16px;margin-bottom:20px}.success-message{background-color:#d4edda;color:#155724;border-radius:6px;border:1px solid #c3e6cb}.loading{padding:40px}.empty-state,.loading{text-align:center;color:#666}.empty-state{padding:60px 20px}.empty-state h2{font-size:20px;margin-bottom:10px}.preview-sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.4);z-index:998;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.preview-sidebar-overlay.open{opacity:1;visibility:visible}.preview-sidebar{position:fixed;top:0;right:0;width:-moz-fit-content;width:fit-content;max-width:100vw;height:100vh;background-color:#fff;box-shadow:-4px 0 20px rgba(0,0,0,.15);z-index:999;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.preview-sidebar.open{transform:translateX(0)}.preview-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e0e0e0;background-color:#fafafa}.preview-sidebar-header h3{font-size:16px;font-weight:600;color:#1c1e21;margin:0}.preview-sidebar-close{width:32px;height:32px;border:none;background:none;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#65676b;transition:background-color .2s}.preview-sidebar-close:hover{background-color:#e4e6eb}.preview-sidebar-controls{padding:12px 20px;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;gap:10px}.preview-sidebar-controls label{font-size:13px;font-weight:500;color:#65676b}.preview-sidebar-controls select{flex:1 1;padding:8px 12px;border:1px solid #dddfe2;border-radius:6px;font-size:13px;background-color:#fff;cursor:pointer}.preview-sidebar-controls select:focus{outline:none;border-color:#1877f2}.preview-sidebar-content{flex:1 1;overflow:auto;display:flex;flex-direction:column;margin:0;padding:0}.preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#65676b;width:100%;min-height:200px}.preview-loading-spinner{width:32px;height:32px;border:3px solid #e4e6eb;border-top-color:#1877f2;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes expandIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.preview-error{text-align:center;padding:40px 20px;color:#65676b;width:100%}.preview-error-icon{font-size:48px;margin-bottom:12px}.preview-error p{font-size:14px;margin-bottom:8px}.preview-error small{font-size:12px;color:#8a8d91}.preview-iframe-container{width:-moz-fit-content;width:fit-content}.preview-iframe-container,.preview-iframe-container>div{margin:0;padding:0;display:block}.preview-iframe-container iframe{border:none;display:block;margin:0;padding:0}.context-menu{background-color:white;border:1px solid #dddfe2;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.15);padding:8px 0;min-width:180px;z-index:1000}.context-menu-item{display:flex;align-items:center;gap:10px;padding:10px 16px;width:100%;background:none;border:none;text-align:left;cursor:pointer;font-size:14px;color:#1c1e21;transition:background-color .2s}.context-menu-item:hover{background-color:#f2f3f5}.context-menu-icon{font-size:16px}.comment-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#1877f2;cursor:pointer;transition:color .2s;flex-shrink:0}.comment-icon:hover{color:#166fe5}.comment-count{position:absolute;top:-4px;right:-4px;background-color:#dc3545;color:white;font-size:9px;font-weight:600;padding:2px 4px;border-radius:8px;min-width:14px;text-align:center}.comment-tooltip{position:fixed;background-color:#2c2c2c;color:white;border-radius:8px;padding:10px;max-width:300px;z-index:10000;box-shadow:0 4px 12px rgba(0,0,0,.3);pointer-events:none}.comment-tooltip-header{font-size:12px;font-weight:600;margin-bottom:8px;color:#e4e6eb}.comment-tooltip-list{display:flex;flex-direction:column;gap:8px}.comment-tooltip-item{border-top:1px solid rgba(255,255,255,.1);padding-top:6px}.comment-tooltip-item:first-child{border-top:none;padding-top:0}.comment-tooltip-date{font-size:10px;color:#b0b3b8;margin-bottom:4px}.comment-tooltip-text{font-size:12px;line-height:1.4;color:#e4e6eb}.comment-tooltip-more{font-size:11px;color:#b0b3b8;margin-top:4px;font-style:italic}.comment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:1000;display:flex;align-items:center;justify-content:center}.comment-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:white;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.3);max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column;z-index:1001}.comment-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px;border-bottom:1px solid #e0e0e0}.comment-modal-header h3{font-size:18px;font-weight:600;color:#1c1e21;margin:0 0 4px}.comment-modal-entity{font-size:13px;color:#65676b;margin-top:4px}.comment-modal-close{width:32px;height:32px;border:none;background:none;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#65676b;transition:background-color .2s;flex-shrink:0}.comment-modal-close:hover{background-color:#e4e6eb}.comment-modal-body{flex:1 1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px}.comment-modal-section-title{font-size:13px;font-weight:600;color:#65676b;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.comment-modal-existing{display:flex;flex-direction:column;gap:12px}.comment-modal-list{display:flex;flex-direction:column;gap:10px;max-height:200px;overflow-y:auto}.comment-modal-item{background-color:#f7f8fa;border-radius:8px;padding:12px}.comment-modal-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.comment-modal-item-date{font-size:11px;color:#8a8d91}.comment-modal-item-actions{display:flex;gap:8px}.comment-modal-item-action{padding:4px;background:none;border:none;cursor:pointer;color:#65676b;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.comment-modal-item-action:hover{background-color:#e4e6eb;color:#1c1e21}.comment-modal-item-delete:hover{background-color:#fee;color:#dc3545}.comment-modal-item-content{font-size:13px;color:#1c1e21;line-height:1.5;white-space:pre-wrap;word-break:break-word}.comment-modal-input-section{display:flex;flex-direction:column;gap:8px}.comment-modal-textarea{width:100%;padding:12px;border:1px solid #dddfe2;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:100px;transition:border-color .2s}.comment-modal-textarea:focus{outline:none;border-color:#1877f2}.comment-modal-hint{font-size:11px;color:#8a8d91}.comment-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid #e0e0e0;gap:12px}.comment-modal-actions{display:flex;gap:8px;margin-left:auto}.comment-modal-button{padding:8px 16px;border:1px solid #dddfe2;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;background-color:white;color:#1c1e21}.comment-modal-button:hover{background-color:#f2f3f5}.comment-modal-button:disabled{opacity:.5;cursor:not-allowed}.comment-modal-button-primary{background-color:#1877f2;color:white;border-color:#1877f2}.comment-modal-button-primary:hover:not(:disabled){background-color:#166fe5}.comment-modal-button-delete{background-color:white;color:#dc3545;border-color:#dc3545}.comment-modal-button-delete:hover{background-color:#fee}.comment-modal-delete-confirm{display:flex;align-items:center;gap:12px;font-size:13px;color:#1c1e21}.comment-modal-button-delete-confirm{background-color:#dc3545;color:white;border-color:#dc3545}.comment-modal-button-delete-confirm:hover{background-color:#c82333}@media (max-width:768px){.campaign-controls,.campaign-header{flex-direction:column;align-items:flex-start}.budget-section,.campaign-controls{width:100%}.budget-input{flex:1 1}.preview-sidebar{width:100vw}.comment-modal{width:95%;max-height:90vh}.comment-tooltip{max-width:250px}}