:root{--primary-orange:#ff6b35;--primary-orange-hover:#ff8c61;--primary-orange-active:#e55a2b;--gray-black:#1a1a1a;--gray-white:#fff;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-200:#e5e5e5;--gray-300:#d4d4d4;--gray-400:#a3a3a3;--gray-500:#737373;--gray-600:#525252;--gray-800:#262626;--gray-900:#171717;--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-tertiary:#fafafa;--text-primary:#1a1a1a;--text-secondary:#525252;--text-tertiary:#737373;--sidebar-bg:#1a1a1a;--sidebar-text:#fff;--border-color:#e5e5e5;--input-bg:#fff;--input-border:#d4d4d4;--input-focus-border:#ff6b35;--status-success-bg:#d1fae5;--status-success-text:#065f46;--status-success-border:#10b981;--status-error-bg:#fee2e2;--status-error-text:#7f1d1d;--status-error-border:#ef4444;--status-info-bg:#dbeafe;--status-info-text:#0c2340;--status-info-border:#3b82f6;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-sm:12px;--font-size-base:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px #0000001a;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease;--sidebar-width:240px;--sidebar-width-collapsed:64px;--header-height:56px}.app-layout{background-color:var(--bg-secondary);display:flex;min-height:100vh}.app-layout__sidebar{background-color:var(--sidebar-bg);bottom:0;color:var(--sidebar-text);display:flex;flex-direction:column;left:0;overflow-x:hidden;position:fixed;top:0;transition:width var(--transition-normal),transform var(--transition-normal);width:240px;width:var(--sidebar-width);z-index:40}.app-layout--collapsed .app-layout__sidebar{width:64px;width:var(--sidebar-width-collapsed)}.app-layout__main{display:flex;flex:1 1;flex-direction:column;margin-left:240px;margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-normal)}.app-layout--collapsed .app-layout__main{margin-left:64px;margin-left:var(--sidebar-width-collapsed)}.app-layout__header{align-items:center;background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;gap:var(--spacing-md);height:56px;height:var(--header-height);padding:0 var(--spacing-lg);position:sticky;top:0;z-index:30}.app-layout__menu-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:none;flex-shrink:0;height:36px;justify-content:center;padding:0;transition:background-color var(--transition-fast);width:36px}.app-layout__menu-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.app-layout__content{flex:1 1;overflow-y:auto;padding:var(--spacing-lg)}.app-layout__overlay{display:none}@media (max-width:1200px){.app-layout__sidebar{width:64px;width:var(--sidebar-width-collapsed)}.app-layout__main{margin-left:64px;margin-left:var(--sidebar-width-collapsed)}.app-layout__menu-btn{display:inline-flex}.app-layout:not(.app-layout--collapsed) .app-layout__sidebar{width:64px;width:var(--sidebar-width-collapsed)}}@media (max-width:768px){.app-layout__sidebar{transform:translateX(-100%);width:240px;width:var(--sidebar-width)}.app-layout__sidebar--open{transform:translateX(0)}.app-layout__main{margin-left:0}.app-layout__menu-btn{display:inline-flex}.app-layout__overlay{background-color:#0006;display:block;inset:0;position:fixed;z-index:35}.app-layout__content{padding:var(--spacing-md)}.app-layout__header{padding:0 var(--spacing-md)}}.sidebar{display:flex;flex-direction:column;height:100%;overflow:hidden}.sidebar__logo{border-bottom:1px solid #ffffff14;flex-shrink:0;overflow:hidden;padding:var(--spacing-lg) var(--spacing-md);white-space:nowrap}.sidebar__logo-text{color:var(--sidebar-text);font-size:var(--font-size-lg);font-weight:700;line-height:var(--line-height-tight)}.sidebar__logo-sub{color:#ffffff73;font-size:var(--font-size-sm);margin-top:2px}.sidebar__nav{flex:1 1;overflow-y:auto;padding:var(--spacing-sm) 0}.sidebar-item{align-items:center;background:none;border:none;color:#ffffffa6;cursor:pointer;display:flex;font-family:inherit;font-size:var(--font-size-base);font-weight:500;gap:var(--spacing-sm);overflow:hidden;padding:10px var(--spacing-md);text-align:left;text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast);white-space:nowrap;width:100%}.sidebar-item:hover{background-color:#ffffff0f;color:var(--sidebar-text)}.sidebar-item--active{background-color:var(--primary-orange);color:#fff}.sidebar-item--active:hover{background-color:var(--primary-orange-hover)}.sidebar-item__icon{align-items:center;display:inline-flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.sidebar-item__label{overflow:hidden;text-overflow:ellipsis}.sidebar-group{margin-top:var(--spacing-sm)}.sidebar-group__title{color:#ffffff4d;font-size:11px;font-weight:600;letter-spacing:.05em;overflow:hidden;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-xs);text-transform:uppercase;white-space:nowrap}.sidebar__footer{border-top:1px solid #ffffff14;flex-shrink:0;overflow:hidden;padding:var(--spacing-md)}.app-layout--collapsed .sidebar-group__title,.app-layout--collapsed .sidebar-item__label,.app-layout--collapsed .sidebar__logo-sub,.app-layout--collapsed .sidebar__logo-text{opacity:0;width:0}.app-layout--collapsed .sidebar-item{justify-content:center;padding:10px 0}.app-layout--collapsed .sidebar__logo{padding:var(--spacing-lg) var(--spacing-sm);text-align:center}@media (max-width:1200px){.sidebar-group__title,.sidebar-item__label,.sidebar__logo-sub{opacity:0;width:0}.sidebar-item{justify-content:center;padding:10px 0}.sidebar__logo{padding:var(--spacing-lg) var(--spacing-sm);text-align:center}}@media (max-width:768px){.sidebar-group__title,.sidebar-item__label,.sidebar__logo-sub{opacity:1;width:auto}.sidebar-item{justify-content:flex-start;padding:10px var(--spacing-md)}.sidebar__logo{padding:var(--spacing-lg) var(--spacing-md);text-align:left}}.table-wrapper{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.table{border-collapse:collapse;font-size:var(--font-size-base);width:100%}.table__th{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600;padding:12px var(--spacing-md);text-align:left;-webkit-user-select:none;user-select:none;white-space:nowrap}.table__th--center{text-align:center}.table__th--right{text-align:right}.table__th--sortable{cursor:pointer;transition:color var(--transition-fast)}.table__th--sortable:hover{color:var(--text-primary)}.table__th--sorted{color:var(--primary-orange)}.table__th-content{align-items:center;display:inline-flex;gap:var(--spacing-xs)}.table__sort-icon{font-size:12px;opacity:.5}.table__th--sorted .table__sort-icon{opacity:1}.table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:12px var(--spacing-md);vertical-align:middle}.table__td--center{text-align:center}.table__td--right{text-align:right}.table tbody tr:last-child td{border-bottom:none}.table__row:hover{background-color:var(--bg-tertiary)}.table__row--clickable{cursor:pointer}.table__row--clickable:hover{background-color:#ff6b350a}.table__empty{color:var(--text-tertiary);font-size:var(--font-size-base);padding:var(--spacing-2xl) var(--spacing-md)!important;text-align:center}@media (max-width:768px){.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.table{min-width:600px}}.modal-overlay{align-items:center;animation:modal-fade-in .2s ease;background-color:#00000073;display:flex;inset:0;justify-content:center;padding:var(--spacing-md);position:fixed;z-index:100}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal{animation:modal-slide-in .2s ease;background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:85vh}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal--sm{width:400px}.modal--md{width:520px}.modal--lg{width:680px}.modal--xl{width:900px}.modal__header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.modal__title{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:600;margin:0}.modal__close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:background-color var(--transition-fast),color var(--transition-fast);width:32px}.modal__close:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.modal__body{flex:1 1;overflow-y:auto;padding:var(--spacing-lg)}.modal__footer{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-shrink:0;gap:var(--spacing-sm);justify-content:flex-end;padding:var(--spacing-md) var(--spacing-lg)}@media (max-width:768px){.modal{align-self:flex-end;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh;width:100%!important}}.toast-container{display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:420px;pointer-events:none;position:fixed;width:100%;z-index:200}.toast-container--top-right{right:var(--spacing-lg);top:var(--spacing-lg)}.toast-container--top-left{left:var(--spacing-lg);top:var(--spacing-lg)}.toast-container--bottom-right{bottom:var(--spacing-lg);right:var(--spacing-lg)}.toast-container--bottom-left{bottom:var(--spacing-lg);left:var(--spacing-lg)}.toast{align-items:flex-start;animation:toast-slide-in .25s ease;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;font-size:var(--font-size-base);gap:var(--spacing-sm);line-height:var(--line-height-normal);padding:12px var(--spacing-md);pointer-events:auto}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}.toast--success{background-color:#d1fae5;border-left:3px solid #10b981;color:#065f46}.toast--error{background-color:#fee2e2;border-left:3px solid #ef4444;color:#7f1d1d}.toast--info{background-color:#dbeafe;border-left:3px solid #3b82f6;color:#0c2340}.toast__icon{display:inline-flex;flex-shrink:0;margin-top:1px}.toast__message{flex:1 1}.toast__close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:inherit;cursor:pointer;display:inline-flex;flex-shrink:0;height:24px;justify-content:center;opacity:.5;padding:0;transition:opacity var(--transition-fast);width:24px}.toast__close:hover{opacity:1}@media (max-width:768px){.toast-container{left:var(--spacing-md)!important;max-width:none;right:var(--spacing-md)!important}}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-family);font-weight:500;gap:var(--spacing-sm);justify-content:center;text-decoration:none;transition:all var(--transition-fast)}.btn-sm{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md)}.btn-md{font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-lg)}.btn-lg{font-size:var(--font-size-md);padding:var(--spacing-md) var(--spacing-xl)}.btn-primary{background-color:var(--primary-orange);box-shadow:var(--shadow-sm);color:var(--gray-white)}.btn-primary:hover{background-color:var(--primary-orange-hover);box-shadow:var(--shadow-md)}.btn-primary:active{background-color:var(--primary-orange-active)}.btn-primary:disabled{background-color:var(--gray-300);box-shadow:none;cursor:not-allowed}.btn-secondary{background-color:initial;border:2px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--bg-secondary);border-color:var(--primary-orange);color:var(--primary-orange)}.btn-secondary:active{background-color:var(--primary-orange);border-color:var(--primary-orange);color:var(--gray-white)}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-ghost{background-color:initial;border:none;color:var(--text-secondary)}.btn-ghost:hover{background-color:var(--bg-secondary);color:var(--primary-orange)}.btn-ghost:active{background-color:var(--bg-tertiary)}.btn-ghost:disabled{cursor:not-allowed;opacity:.5}.input-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.input-label{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500}.input-field,.select-field,.textarea-field{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-base);outline:none;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.input-field:focus,.select-field:focus,.textarea-field:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px #ff6b351a}.input-field:disabled,.select-field:disabled,.textarea-field:disabled{background-color:var(--bg-secondary);color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.textarea-field{min-height:100px;resize:vertical}.badge{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md)}.badge-primary{background-color:var(--primary-orange);border-color:var(--primary-orange);color:var(--gray-white)}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition-fast)}.card:hover{box-shadow:var(--shadow-md)}.card-header{border-bottom:1px solid var(--border-color);padding:var(--spacing-lg)}.card-header-highlighted{background-color:var(--primary-orange);color:var(--gray-white)}.card-body,.card-footer{padding:var(--spacing-lg)}.card-footer{background-color:var(--bg-tertiary);border-top:1px solid var(--border-color)}.card-image{aspect-ratio:1;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden;position:relative}.card-image img{height:100%;object-fit:cover;width:100%}.spinner{animation:spin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-orange);display:inline-block;height:24px;width:24px}@keyframes spin{to{transform:rotate(1turn)}}.status-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 4 4 4-4' stroke='%23737373' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;background-size:10px;border:1px solid #0000;border-radius:999px;cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;outline:none;padding:3px 22px 3px 8px;transition:border-color var(--transition-fast)}.status-select:hover{border-color:var(--gray-300)}.status-select:focus{border-color:var(--primary-orange)}.status-select:disabled{cursor:not-allowed;opacity:.5}.status-select--draft{background-color:#fef3c7;color:#92400e}.status-select--active{background-color:#d1fae5;color:#065f46}.status-select--paused{background-color:var(--bg-secondary);color:var(--text-tertiary)}.status-select--archived{background-color:var(--bg-secondary);color:var(--gray-400)}.toggle{align-items:center;cursor:pointer;display:flex;flex-shrink:0}.toggle input{height:0;opacity:0;position:absolute;width:0}.toggle__track{background:var(--gray-300);border-radius:11px;display:block;height:22px;position:relative;transition:background var(--transition-fast);width:40px}.toggle input:checked+.toggle__track{background:var(--primary-orange)}.toggle__thumb{background:var(--gray-white);border-radius:50%;box-shadow:0 1px 3px #00000026;height:18px;left:2px;position:absolute;top:2px;transition:transform var(--transition-fast);width:18px}.toggle input:checked+.toggle__track .toggle__thumb{transform:translateX(18px)}.pill{background:var(--bg-primary);border:1px solid var(--input-border);border-radius:20px;color:var(--text-primary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);line-height:var(--line-height-normal);padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-fast)}.pill:hover:not(:disabled){border-color:var(--primary-orange);color:var(--primary-orange)}.pill--active{background:#ff6b3514;border-color:var(--primary-orange);color:var(--primary-orange-active);font-weight:500}.pill:disabled{cursor:not-allowed;opacity:.5}.targeting-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.targeting-card:hover{border-color:var(--gray-300)}.targeting-card--enabled{box-shadow:0 0 0 1px #ff6b3526}.targeting-card--enabled,.targeting-card--enabled:hover{border-color:var(--primary-orange)}.targeting-card__header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);-webkit-user-select:none;user-select:none}.targeting-card__header-left{align-items:center;display:flex;gap:var(--spacing-md)}.targeting-card__icon{align-items:center;background:var(--bg-secondary);border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:var(--font-size-xl);height:36px;justify-content:center;width:36px}.targeting-card--enabled .targeting-card__icon{background:#ff6b3514}.targeting-card__title{color:var(--text-primary);font-size:var(--font-size-md);font-weight:600;line-height:var(--line-height-tight);margin:0}.targeting-card__subtitle{color:var(--text-tertiary);font-size:var(--font-size-sm);margin:2px 0 0}.targeting-card__body{border-top:1px solid var(--border-color);padding:0 var(--spacing-lg) var(--spacing-lg);padding-top:var(--spacing-md)}.targeting-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.targeting-section+.targeting-section{margin-top:var(--spacing-sm)}.targeting-section--enabled{border-color:var(--primary-orange);box-shadow:0 0 0 1px #ff6b3526}.targeting-section__header{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);-webkit-user-select:none;user-select:none}.targeting-section__header:hover{background:var(--bg-tertiary);border-radius:var(--radius-lg)}.targeting-section--enabled .targeting-section__header:hover{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.targeting-section__icon{align-items:center;background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--text-secondary);display:flex;flex-shrink:0;height:36px;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast);width:36px}.targeting-section--enabled .targeting-section__icon{background:#ff6b351a;color:var(--primary-orange)}.targeting-section__info{flex:1 1;min-width:0}.targeting-section__title{color:var(--text-primary);font-size:var(--font-size-md);font-weight:600;line-height:var(--line-height-tight);margin:0}.targeting-section__summary{color:var(--text-tertiary);font-size:var(--font-size-sm);margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.targeting-section--enabled .targeting-section__summary{color:var(--primary-orange-active)}.targeting-section__body{border-top:1px solid var(--border-color);margin-top:0;padding:0 var(--spacing-lg) var(--spacing-lg);padding-top:var(--spacing-lg)}.keywords-dialog__textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);min-height:240px;padding:var(--spacing-md);resize:vertical;transition:border-color var(--transition-fast);width:100%}.keywords-dialog__textarea:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px #ff6b351a;outline:none}.keywords-dialog__toolbar{align-items:center;display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.keywords-dialog__split-group{align-items:center;display:flex;gap:var(--spacing-xs);margin-left:auto}.keywords-dialog__split-input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-primary);font-family:monospace;font-size:var(--font-size-sm);padding:6px 10px;text-align:center;width:60px}.keywords-dialog__split-input:focus{border-color:var(--input-focus-border);outline:none}.keywords-dialog__split-label{color:var(--text-secondary);font-size:var(--font-size-sm)}.keywords-dialog__count{color:var(--text-tertiary);font-size:var(--font-size-sm)}.keywords-trigger{align-items:center;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--font-size-base);justify-content:space-between;padding:10px 14px;text-align:left;transition:border-color var(--transition-fast);width:100%}.keywords-trigger:hover{border-color:var(--primary-orange)}.keywords-trigger__count{font-size:var(--font-size-sm)}.keywords-trigger--empty,.keywords-trigger__count{color:var(--text-tertiary)}.login-container{display:flex;min-height:100vh}.login-visual{align-items:center;background:linear-gradient(135deg,#1a1a1a,#2d1810);display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow:hidden;padding:var(--spacing-2xl);position:relative}.login-visual:before{background:radial-gradient(circle,#ff6b3526 0,#0000 70%);border-radius:50%;content:"";height:600px;position:absolute;right:-20%;top:-30%;width:600px}.login-visual__content{max-width:420px;position:relative;text-align:center;z-index:1}.login-visual__logo{color:var(--gray-white);font-size:48px;font-weight:700;letter-spacing:-1px;margin-bottom:var(--spacing-md)}.login-visual__logo span{color:var(--primary-orange)}.login-visual__tagline{color:var(--gray-400);font-size:var(--font-size-lg);line-height:1.6}.login-form-panel{background:var(--bg-primary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl) 64px;width:480px}.login-form__header{margin-bottom:var(--spacing-xl)}.login-form__subtitle{color:var(--primary-orange);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.05em;margin-bottom:var(--spacing-sm);text-transform:uppercase}.login-form__title{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:700;margin:0 0 var(--spacing-xs)}.login-form__desc{color:var(--text-tertiary);font-size:var(--font-size-base);margin:0}.login-form__footer{color:var(--text-tertiary);font-size:var(--font-size-sm);margin-top:var(--spacing-lg);text-align:center}.login-form__footer a{color:var(--primary-orange);font-weight:500;text-decoration:none}.login-error{background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:var(--radius-md);color:var(--status-error-text);font-size:var(--font-size-base);margin-bottom:var(--spacing-md);padding:10px}.company-select__list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.company-select__item{align-items:center;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:border-color var(--transition-fast),background var(--transition-fast)}.company-select__item:hover{background:#ff6b3508;border-color:var(--primary-orange)}.company-select__item--active{background:#ff6b350d;border-color:var(--primary-orange)}.company-select__radio{align-items:center;border:2px solid var(--gray-300);border-radius:50%;display:flex;flex-shrink:0;height:18px;justify-content:center;width:18px}.company-select__item--active .company-select__radio{border-color:var(--primary-orange)}.company-select__radio-dot{background:var(--primary-orange);border-radius:50%;display:none;height:10px;width:10px}.company-select__item--active .company-select__radio-dot{display:block}.company-select__name{color:var(--text-primary);font-weight:500}.company-select__id{color:var(--text-tertiary);font-size:var(--font-size-sm)}@media (max-width:1024px){.login-visual{display:none}.login-form-panel{margin:0 auto;max-width:480px;width:100%}}@media (max-width:768px){.login-form-panel{padding:var(--spacing-lg)}}.stats-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(4,1fr);margin-bottom:var(--spacing-lg)}.stat-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg)}.stat-card__label{color:var(--text-tertiary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.stat-card__value{color:var(--text-primary);font-size:28px;font-weight:700}.filter-bar{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.filter-chip{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;padding:6px 14px;transition:all var(--transition-fast)}.filter-chip:hover{border-color:var(--primary-orange);color:var(--primary-orange)}.filter-chip.active{background:var(--primary-orange);border-color:var(--primary-orange);color:#fff}.empty-state{background:var(--bg-primary);border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:80px 20px;text-align:center}.empty-state p{color:var(--text-secondary);font-size:var(--font-size-lg);margin:0 0 8px}.empty-state__hint{color:var(--text-tertiary)!important;font-size:var(--font-size-base)!important}.error-box{background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:var(--radius-lg);color:var(--status-error-text);margin-bottom:var(--spacing-md);padding:40px;text-align:center}@media (max-width:1200px){.stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.stats-row{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}}.dayparts-wrapper{width:100%}.dayparts-actions{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.dayparts-action-btn{background:var(--bg-primary);border:1px solid var(--input-border);border-radius:20px;color:var(--text-primary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-fast)}.dayparts-action-btn:hover:not(:disabled){border-color:var(--primary-orange);color:var(--primary-orange)}.dayparts-action-btn:disabled{cursor:not-allowed;opacity:.5}.dayparts-grid{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow-x:auto;position:relative;user-select:none;-webkit-user-select:none}.dayparts-grid.disabled{opacity:.5;pointer-events:none}.dayparts-selection-box{background:#ff6b3514;border:2px dashed var(--primary-orange);border-radius:2px;pointer-events:none;position:absolute;z-index:10}.dayparts-header-row{align-items:center;border-bottom:1px solid var(--border-color);display:grid;grid-template-columns:52px repeat(24,28px)}.dayparts-day-label-cell{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:500;padding:0 var(--spacing-sm)}.dayparts-day-label-cell.clickable{cursor:pointer;transition:color var(--transition-fast)}.dayparts-day-label-cell.clickable:hover{color:var(--primary-orange)}.dayparts-hour-header{align-items:center;color:var(--text-tertiary);display:flex;font-family:monospace;font-size:var(--font-size-sm);height:var(--spacing-lg);justify-content:center}.dayparts-day-row{align-items:center;border-bottom:1px solid var(--bg-secondary);display:grid;grid-template-columns:52px repeat(48,14px)}.dayparts-day-row:last-child{border-bottom:none}.dayparts-cell{background:var(--bg-secondary);cursor:pointer;height:14px;transition:background .08s;width:14px}.dayparts-cell:hover{background:#ff6b3526}.dayparts-cell.selected{background:var(--primary-orange)}.dayparts-cell.selected:hover{background:var(--primary-orange-active)}.dayparts-legend{align-items:center;color:var(--text-tertiary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-md);margin-top:var(--spacing-sm)}.dayparts-legend-item{align-items:center;display:flex;gap:var(--spacing-xs)}.dayparts-legend-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:2px;display:inline-block;height:12px;width:12px}.dayparts-legend-box.selected{background:var(--primary-orange);border-color:var(--primary-orange)}.dayparts-legend-hint{font-style:italic;margin-left:auto}.audience-v2{width:100%}.audience-v2__label{color:var(--text-primary);display:block;font-size:var(--font-size-base);font-weight:500;margin-bottom:var(--spacing-sm)}.audience-v2__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.audience-v2__tag{align-items:center;background:#ff6b3514;border:1px solid #ff6b3540;border-radius:20px;color:var(--primary-orange-active);display:inline-flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.audience-v2__tag-remove{background:none;border:none;color:var(--gray-400);cursor:pointer;font-size:var(--font-size-base);line-height:1;padding:0}.audience-v2__tag-remove:hover{color:var(--primary-orange)}.audience-v2__search-wrapper{margin-bottom:var(--spacing-md);position:relative}.audience-v2__search-icon{color:var(--text-tertiary);left:var(--spacing-sm);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.audience-v2__search{background:var(--bg-primary);border:1px solid var(--input-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md) var(--spacing-sm) var(--spacing-xl);transition:border-color var(--transition-fast);width:100%}.audience-v2__search:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px #ff6b351a;outline:none}.audience-v2__groups{border:1px solid var(--border-color);border-radius:var(--radius-md);max-height:420px;overflow:hidden;overflow-y:auto}.audience-v2__group{border-bottom:1px solid var(--border-color)}.audience-v2__group:last-child{border-bottom:none}.audience-v2__group-header{align-items:center;background:var(--bg-tertiary);cursor:pointer;display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);transition:background var(--transition-fast);-webkit-user-select:none;user-select:none}.audience-v2__group-header:hover{background:var(--gray-100)}.audience-v2__group-title{align-items:center;color:var(--text-primary);display:flex;font-size:var(--font-size-base);font-weight:500;gap:var(--spacing-sm)}.audience-v2__group-count{color:var(--text-tertiary);font-size:var(--font-size-sm);font-weight:400}.audience-v2__group-selected{color:var(--primary-orange);font-size:var(--font-size-sm);font-weight:500}.audience-v2__group-chevron{color:var(--text-tertiary);display:flex;transition:transform var(--transition-fast)}.audience-v2__group.open .audience-v2__group-chevron{transform:rotate(180deg)}.audience-v2__group-body{background:var(--bg-primary);display:none;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md)}.audience-v2__group.open .audience-v2__group-body{display:block}.audience-v2__options{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.audience-v2__no-results{color:var(--text-tertiary);font-size:var(--font-size-base);padding:var(--spacing-lg);text-align:center}.targeting-form{display:flex;flex-direction:column;gap:0}.targeting-form__header{margin-bottom:var(--spacing-lg)}.targeting-form__header h2{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:600;margin:0 0 var(--spacing-xs)}.targeting-form__description{color:var(--text-secondary);font-size:var(--font-size-base);margin:0}.targeting-form .form-group{margin-bottom:var(--spacing-md)}.targeting-form .form-group:last-child{margin-bottom:0}.targeting-form .form-group>label{color:var(--text-primary);display:block;font-size:var(--font-size-base);font-weight:500;margin-bottom:var(--spacing-sm)}.targeting-form .form-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.targeting-form input[type=number]{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast);width:100%}.targeting-form input[type=number]:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px #ff6b351a;outline:none}.targeting-form .pill-options{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.targeting-form__empty{color:var(--text-secondary);font-size:var(--font-size-base);padding:var(--spacing-xl);text-align:center}@media (max-width:600px){.targeting-form .form-row{grid-template-columns:1fr}}.create-ad-wizard{margin:0 auto;max-width:800px;padding:var(--spacing-xl)}.create-ad-wizard:has(.step-3){max-width:1200px}.wizard-header{margin-bottom:var(--spacing-2xl)}.wizard-header h1{color:var(--text-primary);font-size:28px;font-weight:600;margin-bottom:var(--spacing-lg)}.wizard-steps{gap:var(--spacing-md);justify-content:center;padding:var(--spacing-lg) 0}.step,.wizard-steps{align-items:center;display:flex}.step{flex-direction:column;gap:var(--spacing-sm)}.step-number{align-items:center;background:var(--gray-200);border-radius:50%;color:var(--text-secondary);display:flex;font-size:18px;font-weight:600;height:40px;justify-content:center;transition:all .3s;width:40px}.step.active .step-number{background:var(--primary-orange);color:#fff}.step-label{color:var(--text-secondary);font-size:var(--font-size-base);font-weight:500}.step.active .step-label{color:var(--text-primary)}.step.clickable{cursor:pointer}.step.clickable:hover .step-number{transform:scale(1.1)}.step-line{background:var(--gray-200);height:2px;width:120px}.wizard-content{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.step-1 h2,.step-2 h2,.step-3 h2{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-sm)}.step-description{color:var(--text-secondary);font-size:var(--font-size-base)}.form-group,.step-description{margin-bottom:var(--spacing-lg)}.form-group label{color:var(--text-primary);display:block;font-size:var(--font-size-base);font-weight:500;margin-bottom:var(--spacing-sm)}.form-group input,.form-group select{border:1px solid var(--input-border);border-radius:var(--radius-md);font-size:var(--font-size-base);padding:10px 14px;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px #ff6b351a;outline:none}.form-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.wizard-actions{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:space-between;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}.wizard-actions-right{display:flex;gap:var(--spacing-sm)}.wizard-actions button{border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);font-weight:500;padding:10px 24px;transition:all .2s}.datetime-inputs{display:flex;gap:var(--spacing-sm)}.datetime-inputs input[type=date]{flex:1 1}.datetime-inputs input[type=time]{width:120px}.time-input{font-family:monospace;text-align:center;width:80px!important}.readonly-value{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-base);padding:10px 14px}.create-ad-wizard .loading{color:var(--text-secondary);font-size:var(--font-size-base);padding:var(--spacing-2xl);text-align:center}.placement-code{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.placement-code__tabs{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex}.placement-code__tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.placement-code__tab:hover{color:var(--text-primary)}.placement-code__tab--active{border-bottom-color:var(--primary-orange);color:var(--primary-orange);font-weight:500}.placement-code__block{background:var(--bg-primary);max-height:320px;overflow:auto;padding:var(--spacing-md)}.placement-code__block pre{margin:0;white-space:pre-wrap;word-break:break-all}.placement-code__block code{color:var(--text-primary);font-family:SF Mono,Consolas,Monaco,monospace;font-size:var(--font-size-sm);line-height:1.6}.placement-code__actions{background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;padding:var(--spacing-sm) var(--spacing-md)}.ad-report__controls{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.ad-report__date,.ad-report__select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-base);padding:var(--spacing-xs) var(--spacing-md)}.ad-report__date:focus,.ad-report__select:focus{border-color:var(--primary-orange);outline:none}.ad-report__separator{color:var(--text-tertiary);font-size:var(--font-size-base)}.ad-report__btn{background:var(--primary-orange);border:none;border-radius:var(--radius-md);color:var(--gray-white);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:500;padding:var(--spacing-xs) var(--spacing-md);transition:background var(--transition-fast)}.ad-report__btn:hover:not(:disabled){background:var(--primary-orange-active)}.ad-report__btn:disabled{cursor:not-allowed;opacity:.5}.ad-report__chart{background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-sm) 0;position:relative}.ad-report__svg{height:200px;width:100%}.ad-report__legend{color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-xs) var(--spacing-sm)}.ad-report__legend-item{align-items:center;display:flex;gap:var(--spacing-xs)}.ad-report__legend-dot{border-radius:50%;display:inline-block;height:var(--spacing-sm);width:var(--spacing-sm)}.ad-report__tooltip{background:var(--gray-800);border-radius:var(--radius-md);color:var(--gray-white);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);pointer-events:none;position:absolute;top:var(--spacing-sm);transform:translateX(-50%);white-space:nowrap;z-index:10}.ad-report__tooltip-time{font-weight:600;margin-bottom:var(--spacing-xs)}.ad-report__tooltip-row{align-items:center;display:flex;gap:var(--spacing-xs)}.ad-report__table-wrap{overflow-x:auto}.ad-report__table{border-collapse:collapse;font-size:var(--font-size-sm);width:100%}.ad-report__table th{border-bottom:1px solid var(--border-color);color:var(--text-tertiary);font-weight:600;padding:var(--spacing-sm);white-space:nowrap}.ad-report__table td{border-bottom:1px solid var(--bg-secondary);color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-sm);white-space:nowrap}.ad-report__table tbody tr:hover{background:var(--bg-tertiary)}.ad-report__totals-row{background:var(--bg-secondary)}.ad-report__totals-row td{border-bottom:none}.ad-report__empty{color:var(--text-tertiary);font-size:var(--font-size-base);padding:var(--spacing-xl);text-align:center}.ad-report__error{background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:var(--radius-md);color:var(--status-error-text);padding:var(--spacing-md);text-align:center}.ad-report__error,.breadcrumb{margin-bottom:var(--spacing-md)}.breadcrumb{font-size:var(--font-size-sm)}.breadcrumb__sep{color:var(--gray-300)}.breadcrumb__current{color:var(--text-primary);font-weight:500}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.page-header h1{font-size:var(--font-size-xl);font-weight:700;margin:0}.detail-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);padding:var(--spacing-lg)}.detail-section__title{border-bottom:1px solid var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-md);font-weight:600;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.detail-grid{grid-gap:var(--spacing-md) var(--spacing-xl);display:grid;gap:var(--spacing-md) var(--spacing-xl);grid-template-columns:1fr 1fr}.detail-item__label{color:var(--text-tertiary);font-size:var(--font-size-sm);margin-bottom:2px}.detail-item__value{color:var(--text-primary);font-size:var(--font-size-base);font-weight:500}.detail-item__value.mono{color:var(--text-secondary);font-family:monospace;font-size:var(--font-size-sm);word-break:break-all}.detail-item--full{grid-column:1/-1}.detail-empty{color:var(--text-tertiary);font-size:var(--font-size-base);margin:0}.detail-section--muted{opacity:.7}.ad-detail-error{color:var(--text-tertiary);padding:80px 20px;text-align:center}.ad-detail-error p{color:var(--status-error-text);margin-bottom:var(--spacing-md)}.creative-editor-page{background:var(--bg-secondary);bottom:0;display:flex;flex-direction:column;left:240px;left:var(--sidebar-width,240px);overflow:hidden;position:fixed;right:0;top:0;z-index:50}.editor-header{align-items:center;background:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;height:56px;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-lg);z-index:10}.editor-header-left{align-items:center;display:flex;gap:var(--spacing-md)}.breadcrumb,.editor-header-right{align-items:center;display:flex;gap:var(--spacing-sm)}.breadcrumb{font-size:12px}.breadcrumb a{color:var(--text-tertiary);text-decoration:none}.breadcrumb a:hover{color:var(--primary-orange)}.breadcrumb .sep{color:#d4d4d4;color:var(--gray-300,#d4d4d4)}.breadcrumb .current{color:var(--text-primary);font-weight:500}.header-template-info{color:var(--text-tertiary);font-size:13px;margin-right:var(--spacing-sm)}.editor-header .btn-secondary{border-width:1px}.editor-header .btn-primary:disabled{background-color:var(--primary-orange);opacity:.5}.creative-editor-layout{display:flex;flex:1 1;min-height:0}.creative-editor-content{flex:0 1 560px;max-width:560px;min-height:0;overflow-y:auto;padding:var(--spacing-lg)}.template-selector{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg,12px);margin-bottom:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.template-selector label{color:var(--text-secondary);display:block;font-size:12px;font-weight:600;margin-bottom:var(--spacing-sm)}.template-selector select{background:var(--bg-primary);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;padding:var(--spacing-sm) var(--spacing-md);width:100%}.template-selector select:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px #ff6b351a;outline:none}.template-selector textarea{background:var(--bg-primary);border:1px solid var(--input-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:14px;min-height:60px;padding:var(--spacing-sm) var(--spacing-md);resize:vertical;width:100%}.form-sections{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg,12px);overflow:hidden;transition:border-color .15s ease}.form-section__header{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);transition:background .15s ease;-webkit-user-select:none;user-select:none}.form-section__header:hover{background:var(--bg-tertiary)}.form-section__icon{align-items:center;background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--text-secondary);display:flex;flex-shrink:0;height:36px;justify-content:center;transition:background .15s ease,color .15s ease;width:36px}.form-section__icon svg{height:18px;width:18px}.form-section.open .form-section__icon{background:#ff6b3514;color:var(--primary-orange)}.form-section__title-group{flex:1 1}.form-section__title{color:var(--text-primary);font-size:16px;font-weight:600}.form-section__count{color:var(--text-tertiary);font-size:12px;font-weight:400;margin-left:var(--spacing-sm)}.form-section__subtitle{color:var(--text-tertiary);font-size:12px;margin-top:2px}.form-section__chevron{color:var(--text-tertiary);display:flex;transition:transform .15s ease}.form-section__chevron svg{height:16px;width:16px}.form-section.open .form-section__chevron{transform:rotate(180deg)}.form-section__body{border-top:1px solid var(--border-color);padding:0 var(--spacing-lg) var(--spacing-lg);padding-top:var(--spacing-lg)}.component-group{margin-bottom:var(--spacing-md)}.component-group:last-child{margin-bottom:0}.component-group-header{border-bottom:1px solid var(--border-color);color:var(--primary-orange);font-size:12px;font-weight:600;margin-bottom:var(--spacing-sm);padding:var(--spacing-sm) 0 var(--spacing-xs) 0}.creative-field{margin-bottom:var(--spacing-md)}.creative-field:last-child{margin-bottom:0}.creative-field-label{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;font-weight:500;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.creative-field-hint{color:var(--text-tertiary);font-size:11px;font-weight:400;margin-left:auto}.creative-field input[type=number],.creative-field input[type=text],.creative-field input[type=url],.creative-field select{background:var(--bg-primary);border:1px solid var(--input-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-primary);font-size:14px;padding:var(--spacing-sm) var(--spacing-md);transition:border-color .15s ease;width:100%}.creative-field input:focus,.creative-field select:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px #ff6b351a;outline:none}.creative-field textarea{background:var(--bg-primary);border:1px solid var(--input-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:14px;min-height:60px;padding:var(--spacing-sm) var(--spacing-md);resize:vertical;width:100%}.creative-field textarea:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px #ff6b351a;outline:none}.creative-field-checkbox{align-items:center;display:flex;gap:var(--spacing-sm)}.creative-field-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.creative-field-checkbox label{color:var(--text-primary);cursor:pointer;font-size:14px}.color-field-row{align-items:center;display:flex;gap:var(--spacing-sm)}.color-field-row input{flex:1 1}.color-swatch{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;height:36px;transition:box-shadow .15s ease;width:36px}.color-swatch:hover{box-shadow:0 4px 6px #00000012}.image-field-row{align-items:flex-start;display:flex;gap:12px}.image-field-row input[type=url]{background:var(--bg-primary);border:1px solid var(--input-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-primary);flex:1 1;font-size:14px;padding:var(--spacing-sm) var(--spacing-md)}.image-field-row input[type=url]:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 3px #ff6b351a;outline:none}.image-preview{border:1px solid var(--border-color);border-radius:var(--radius-md);flex-shrink:0;max-height:150px;max-width:200px;object-fit:contain}.placeholder-image{border:2px dashed var(--border-color);opacity:.5}.image-preview-small{border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-top:4px;max-height:80px;max-width:120px;object-fit:contain}.repeatable-group{border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:8px;padding:12px}.repeatable-item{align-items:flex-start;border-bottom:1px solid var(--bg-secondary);display:flex;gap:8px;padding:10px 0}.repeatable-item:last-child{border-bottom:none}.repeatable-item-fields{align-items:flex-start;display:flex;flex:1 1;gap:10px}.repeatable-item-number{align-items:center;background:var(--border-color);border-radius:50%;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:24px;justify-content:center;margin-top:2px;width:24px}.repeatable-item-columns{display:flex;flex:1 1;flex-direction:column;gap:8px}.repeatable-column{display:flex;flex-direction:column;gap:4px}.repeatable-column-label{color:var(--text-tertiary);font-size:11px;font-weight:500}.repeatable-column input{border:1px solid var(--input-border);border-radius:var(--radius-sm);box-sizing:border-box;font-size:13px;padding:6px 10px;width:100%}.repeatable-column input:focus{border-color:var(--input-focus-border);outline:none}.repeatable-item-row{display:flex;gap:8px}.repeatable-item-row input{border:1px solid var(--input-border);border-radius:var(--radius-sm);flex:1 1;font-size:13px;padding:6px 10px}.repeatable-item-row input:focus{border-color:var(--input-focus-border);outline:none}.repeatable-item-row select{border:1px solid var(--input-border);border-radius:var(--radius-sm);font-size:13px;min-width:120px;padding:6px 10px}.btn-remove-item{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin-top:2px;padding:4px;transition:all .15s ease}.btn-remove-item:hover{background:var(--status-error-bg);border-color:var(--status-error-border);color:var(--status-error-text)}.btn-remove-item:disabled{cursor:not-allowed;opacity:.3}.btn-remove-item:disabled:hover{background:#0000;border-color:var(--border-color);color:var(--text-tertiary)}.btn-add-item{background:var(--bg-tertiary);border:1px dashed var(--input-border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:13px;margin-top:8px;padding:6px 12px}.btn-add-item:hover{background:var(--bg-secondary);border-color:var(--text-tertiary);color:var(--text-primary)}.btn-add-item:disabled{cursor:not-allowed;opacity:.4}.btn-add-item:disabled:hover{background:var(--bg-tertiary);border-color:var(--input-border);color:var(--text-secondary)}.raw-fallback__hint{background:var(--status-error-bg);border-radius:var(--radius-sm);color:var(--status-error-text);font-size:12px;margin-bottom:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.creative-error,.creative-loading{color:var(--text-secondary);padding:60px 20px;text-align:center}.creative-error{color:var(--status-error-text)}.no-templates-msg{color:var(--text-tertiary);font-size:14px;padding:40px;text-align:center}.creative-preview-panel{background:#171717;background:var(--gray-900,#171717);border-left:1px solid var(--border-color);display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:400px;overflow:hidden}.creative-preview-panel__header{align-items:center;background:#262626;background:var(--gray-800,#262626);border-bottom:1px solid #ffffff14;color:#a3a3a3;color:var(--gray-400,#a3a3a3);display:flex;flex-shrink:0;font-size:13px;font-weight:500;height:36px;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-md)}.creative-preview-content{flex:1 1;min-height:0;overflow:hidden;position:relative}.creative-preview-iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.upload-zone{background:var(--bg-tertiary);border:2px dashed var(--input-border);border-radius:var(--radius-md);cursor:pointer;margin-bottom:8px;padding:20px;text-align:center;transition:all .15s ease}.upload-zone:hover{background:#ff6b3508}.upload-zone--dragover,.upload-zone:hover{border-color:#ff6b35;border-color:var(--primary-orange,#ff6b35)}.upload-zone--dragover{background:#ff6b350f}.upload-zone--uploading{cursor:wait;opacity:.6}.upload-zone__text{color:var(--text-tertiary);font-size:13px}.upload-zone--sm{font-size:12px;margin-bottom:4px;padding:10px}.upload-url-row{align-items:center;display:flex;gap:8px}.upload-url-label{color:var(--text-tertiary);font-size:12px;white-space:nowrap}.upload-url-row input[type=url]{flex:1 1}.cv-page{margin:0 auto;max-width:1200px;padding:32px 24px}.cv-center{align-items:center;display:flex;justify-content:center;min-height:200px}.cv-error{color:#d32f2f;color:var(--error-red,#d32f2f)}.cv-header{margin-bottom:24px}.cv-header h1{color:#111;color:var(--gray-900,#111);font-size:24px;font-weight:700;margin:0 0 4px}.cv-subtitle{color:#666;color:var(--gray-500,#666);font-size:14px;margin:0}.cv-filters{margin-bottom:16px}.cv-filter-row{align-items:center;display:flex;gap:12px}.cv-filter-row>*{flex:1 1}.cv-stats{margin-bottom:16px}.cv-stat-row{display:flex;flex-wrap:wrap;font-size:14px;gap:20px}.cv-stat-item{color:#333;color:var(--gray-700,#333)}.cv-stat-override{color:#ff6b35;color:var(--primary-orange,#ff6b35);font-weight:600}.cv-table-wrap{overflow-x:auto}.cv-table{border-collapse:collapse;font-size:13px;width:100%}.cv-table th{border-bottom:2px solid #e5e5e5;border-bottom:2px solid var(--gray-200,#e5e5e5);color:#555;color:var(--gray-600,#555);cursor:pointer;font-size:12px;font-weight:600;padding:10px 12px;text-align:left;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.cv-table th:hover{color:#111;color:var(--gray-900,#111)}.cv-table td{border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--gray-100,#f0f0f0);color:#222;color:var(--gray-800,#222);padding:8px 12px}.cv-table tbody tr:hover{background:#fafafa;background:var(--gray-50,#fafafa)}.cv-row-override{background:#fffbeb!important}.cv-row-override:hover{background:#fef3c7!important}.cv-sub-indent{color:#999;color:var(--gray-400,#999);margin-right:2px}.cv-label-cell{color:#666;color:var(--gray-500,#666);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-empty{color:#999;color:var(--gray-400,#999);padding:40px;text-align:center}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family,"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif);line-height:1.5}button{cursor:pointer}button,input,select{font-family:inherit;font-size:14px}.error-text{color:var(--status-error-text);font-size:14px;margin-top:8px}.loading{align-items:center;color:var(--text-secondary);display:flex;justify-content:center;padding:40px}
/*# sourceMappingURL=main.21f7fa57.css.map*/