@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap";:root{--primary:#bb0017;--primary-container:#e61826;--primary-fixed:#ffdad6;--on-primary:#fff;--surface:#f8f9ff;--surface-low:#eff4ff;--surface-lowest:#fff;--surface-high:#e2e8f6;--on-surface:#151c26;--secondary:#585f6a;--radius:1rem;--radius-full:9999px;--shadow-sm:0 2px 8px #151c260a;--shadow-md:0 4px 16px #151c260f;--transition:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--surface);color:var(--on-surface);font-family:Plus Jakarta Sans,sans-serif}h1,h2,h3,h4{font-family:Inter,sans-serif}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;vertical-align:middle}.login-page{background:var(--surface);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{text-align:center;width:100%;max-width:480px}.login-logo{background:var(--primary);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;display:flex}.login-brand{letter-spacing:-.02em;margin-bottom:.25rem;font-size:2rem;font-weight:800}.login-subtitle{color:var(--secondary);margin-bottom:2rem}.login-form-card{background:var(--surface-lowest);border-radius:var(--radius);text-align:left;box-shadow:var(--shadow-md);margin-bottom:2rem;padding:2.5rem}.login-form-card h2{margin-bottom:.25rem;font-size:1.5rem}.login-form-card>p{color:var(--secondary);margin-bottom:2rem}.form-group{margin-bottom:1.25rem}.form-group label{letter-spacing:.05em;color:var(--on-surface);margin-bottom:.5rem;font-size:.75rem;font-weight:700;display:block}.form-label-row{justify-content:space-between;align-items:center;display:flex}.forgot-link{color:var(--primary);font-size:.8rem;font-weight:600;text-decoration:none}.input-wrap{position:relative}.input-wrap input{background:var(--surface-low);width:100%;color:var(--on-surface);transition:var(--transition);border:none;border-radius:.5rem;padding:.875rem 3rem .875rem 1rem;font-family:inherit;font-size:1rem}.input-wrap input:focus{background:var(--surface-lowest);box-shadow:inset 0 -2px 0 var(--primary);outline:none}.input-icon{color:var(--secondary);font-size:1.25rem;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.btn-login{border-radius:var(--radius);background:linear-gradient(135deg, var(--primary), var(--primary-container));color:#fff;cursor:pointer;width:100%;transition:var(--transition);border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding:1rem;font-family:inherit;font-size:1.1rem;font-weight:700;display:flex}.btn-login:hover{transform:scale(1.02)}.btn-login:disabled{opacity:.7;cursor:not-allowed}.login-support{text-align:center;color:var(--secondary);border-top:1px solid var(--surface-high);margin-top:1.5rem;padding-top:1.5rem;font-size:.85rem}.login-support a{color:var(--primary);font-weight:600;text-decoration:none}.login-quote{color:var(--secondary);margin-bottom:1rem;font-size:.85rem;font-style:italic}.login-copy{color:var(--secondary);letter-spacing:.03em;font-size:.75rem}.admin-layout{min-height:100vh;display:flex}.sidebar{background:var(--surface-lowest);width:240px;box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;padding:1.5rem 0;display:flex}.sidebar-brand{border-bottom:1px solid var(--surface-high);padding:0 1.5rem 1.5rem}.sidebar-brand strong{font-size:1rem;display:block}.sidebar-brand span{color:var(--secondary);font-size:.8rem}.sidebar-nav{flex:1;padding:1rem 0}.sidebar-link{color:var(--secondary);transition:var(--transition);align-items:center;gap:.75rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.sidebar-link:hover,.sidebar-link.active{color:var(--primary);background:var(--primary-fixed)}.sidebar-link .material-symbols-outlined{font-size:1.25rem}.sidebar-footer{border-top:1px solid var(--surface-high);padding:1rem 0}.admin-main{flex:1;padding:2rem 2.5rem;overflow-y:auto}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.admin-header h1{margin-bottom:.25rem;font-size:1.75rem}.admin-header p{color:var(--secondary)}.breadcrumb{color:var(--secondary);margin-bottom:.5rem;font-size:.8rem}.breadcrumb a{color:var(--primary);text-decoration:none}.header-actions{align-items:center;gap:.75rem;display:flex}.btn-create,.btn-primary{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary), var(--primary-container));color:#fff;cursor:pointer;transition:var(--transition);border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:700;display:inline-flex}.btn-create:hover,.btn-primary:hover{transform:scale(1.03)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-outline{border-radius:var(--radius-full);background:var(--surface-lowest);color:var(--on-surface);border:1px solid var(--surface-high);cursor:pointer;transition:var(--transition);align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-outline:hover{background:var(--surface-low)}.btn-secondary{border-radius:var(--radius);background:var(--surface-high);color:var(--on-surface);cursor:pointer;border:none;padding:.625rem 1.25rem;font-family:inherit;font-weight:600}.btn-icon{cursor:pointer;color:var(--secondary);transition:var(--transition);background:0 0;border:none;border-radius:.5rem;padding:.25rem}.btn-icon:hover{background:var(--surface-low)}.btn-icon.danger:hover{color:var(--primary);background:var(--primary-fixed)}.btn-add{border:2px dashed var(--surface-high);width:100%;color:var(--primary);cursor:pointer;transition:var(--transition);background:0 0;border-radius:.5rem;margin-top:.5rem;padding:.625rem;font-family:inherit;font-weight:600;display:block}.btn-add:hover{background:var(--primary-fixed)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--surface-lowest);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.5rem}.stat-label{letter-spacing:.05em;color:var(--secondary);margin-bottom:.5rem;font-size:.7rem;font-weight:700;display:block}.stat-value{font-family:Inter,sans-serif;font-size:1.75rem;font-weight:800}.table-card{background:var(--surface-lowest);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.table-header{justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.table-header h2{font-size:1.125rem}.table-loading,.table-empty{text-align:center;color:var(--secondary);padding:3rem}.campaign-table{border-collapse:collapse;width:100%}.campaign-table th{text-align:left;letter-spacing:.05em;color:var(--secondary);border-bottom:1px solid var(--surface-high);padding:.75rem 1.5rem;font-size:.7rem;font-weight:700}.campaign-table td{border-bottom:1px solid var(--surface-low);vertical-align:middle;padding:1rem 1.5rem}.campaign-table code{background:var(--surface-low);border-radius:.25rem;padding:.125rem .5rem;font-size:.8rem}.status-badge{border-radius:var(--radius-full);padding:.2rem .6rem;font-size:.7rem;font-weight:700;display:inline-block}.status-badge.active{color:#166534;background:#dcfce7}.status-badge.draft{background:var(--surface-high);color:var(--secondary)}.action-buttons{gap:.25rem;display:flex}.action-buttons button{cursor:pointer;color:var(--secondary);transition:var(--transition);background:0 0;border:none;border-radius:.5rem;padding:.375rem}.action-buttons button:hover{background:var(--surface-low);color:var(--on-surface)}.action-buttons button.danger:hover{color:var(--primary);background:var(--primary-fixed)}.modal-overlay{z-index:100;background:#151c2666;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface-lowest);border-radius:var(--radius);width:100%;max-width:480px;box-shadow:var(--shadow-md);padding:2rem}.modal h3{margin-bottom:1.5rem}.modal input{background:var(--surface-low);border:none;border-radius:.5rem;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:1rem}.modal input:focus{background:var(--surface-lowest);box-shadow:inset 0 -2px 0 var(--primary);outline:none}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.editor-layout{grid-template-columns:1fr 320px;gap:1.5rem;display:grid}@media (width<=1024px){.editor-layout{grid-template-columns:1fr}}.editor-panel{flex-direction:column;gap:1.5rem;display:flex}.editor-card{background:var(--surface-lowest);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.5rem}.editor-card h3{align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:1.125rem;display:flex}.editor-card h3 .material-symbols-outlined{color:var(--primary)}.editor-fields input,.editor-fields textarea{background:var(--surface-low);width:100%;color:var(--on-surface);transition:var(--transition);resize:vertical;border:none;border-radius:.5rem;padding:.75rem 1rem;font-family:inherit;font-size:.9rem}.editor-fields input:focus,.editor-fields textarea:focus{background:var(--surface-lowest);box-shadow:inset 0 -2px 0 var(--primary);outline:none}.editor-subtitle{margin:1rem 0 .75rem;font-size:.9rem;font-weight:700}.editor-item-group{background:var(--surface-low);border-radius:.75rem;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding:1rem;display:flex;position:relative}.editor-item-group .btn-icon{position:absolute;top:.5rem;right:.5rem}.editor-empty{color:var(--secondary);text-align:center;padding:2rem}.array-item{gap:.5rem;margin-bottom:.5rem;display:flex}.array-item input{flex:1}.color-field label{letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:700;display:block}.color-input{align-items:center;gap:.75rem;display:flex}.color-input input[type=color]{cursor:pointer;border:none;border-radius:50%;width:40px;height:40px;padding:0}.section-sidebar{flex-direction:column;gap:1.5rem;display:flex}.section-list{flex-direction:column;gap:.25rem;display:flex}.section-item{cursor:pointer;transition:var(--transition);border-radius:.75rem;align-items:center;gap:.75rem;padding:.75rem;display:flex}.section-item:hover{background:var(--surface-low)}.section-item.active{background:var(--primary-fixed);color:var(--primary)}.section-item .material-symbols-outlined:first-child{font-size:1.25rem}.section-item-label{flex:1;font-size:.875rem;font-weight:600}.section-item.hidden-section{opacity:.5}.preview-card{background:var(--on-surface);color:#fff;border-radius:var(--radius);padding:1.5rem}.preview-badge{background:var(--primary);color:#fff;border-radius:var(--radius-full);margin-bottom:1rem;padding:.2rem .6rem;font-size:.65rem;font-weight:700;display:inline-block}.preview-card h4{margin-bottom:.5rem;font-size:1rem}.preview-card p{color:#ffffffb3;font-size:.8rem}.loading-page{min-height:100vh;color:var(--secondary);justify-content:center;align-items:center;display:flex}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.5rem;display:grid}.settings-card{background:var(--surface-lowest);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:2rem}.settings-card h3{align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.125rem;display:flex}.settings-card h3 .material-symbols-outlined{color:var(--primary)}.settings-card .form-group{margin-bottom:1rem}.settings-card .form-group label{letter-spacing:.05em;color:var(--secondary);margin-bottom:.5rem;font-size:.75rem;font-weight:700;display:block}.settings-card input{background:var(--surface-low);width:100%;color:var(--on-surface);transition:var(--transition);border:none;border-radius:.5rem;padding:.75rem 1rem;font-family:inherit;font-size:.9rem}.settings-card input:focus{background:var(--surface-lowest);box-shadow:inset 0 -2px 0 var(--primary);outline:none}.settings-card .btn-primary{margin-top:.5rem}.info-row{border-bottom:1px solid var(--surface-low);justify-content:space-between;align-items:center;padding:.875rem 0;display:flex}.info-row:last-child{border-bottom:none}.info-label{color:var(--secondary);font-size:.85rem;font-weight:500}.info-value{color:var(--on-surface);font-size:.85rem;font-weight:600}
