:root{--primary-color: #007bff;--secondary-color: #6c757d;--success-color: #28a745;--danger-color: #dc3545;--warning-color: #ffc107;--info-color: #17a2b8;--light-color: #f8f9fa;--dark-color: #343a40;--background-color: #f4f7f6;--surface-color: #ffffff;--text-color: #212529;--text-muted-color: #6c757d;--border-color: #dee2e6;--border-radius: .3rem;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--box-shadow: 0 2px 10px rgba(0, 0, 0, .075);--box-shadow-hover: 0 4px 15px rgba(0, 0, 0, .1);--transition-speed: .2s}body{margin:0;font-family:var(--font-family);background-color:var(--background-color);color:var(--text-color);line-height:1.6;display:flex;flex-direction:column;min-height:100vh;font-size:16px}#app{flex-grow:1;max-width:960px;margin:30px auto;padding:25px 30px;background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);position:relative;overflow-x:hidden}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.75rem;font-weight:500;color:var(--dark-color)}h1{font-size:2.25rem;text-align:center;margin-bottom:1.5rem;color:var(--primary-color)}h2{font-size:1.75rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}h3{font-size:1.4rem;margin-bottom:1rem;color:var(--primary-color)}h4{font-size:1.15rem;margin-bottom:.75rem}h5{font-size:1rem;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}.mt-1{margin-top:.5rem!important}.mt-2{margin-top:1rem!important}.mt-3{margin-top:1.5rem!important}.mb-1{margin-bottom:.5rem!important}.mb-2{margin-bottom:1rem!important}.mb-3{margin-bottom:1.5rem!important}.text-center{text-align:center!important}.text-muted{color:var(--text-muted-color)!important}.hidden{display:none!important}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.card-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.branding-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;text-align:center;transition:all var(--transition-speed) ease-in-out;cursor:pointer;box-shadow:0 1px 3px #0000000d}.branding-card:hover,.branding-card:focus-within{transform:translateY(-5px);box-shadow:var(--box-shadow-hover);border-color:var(--primary-color)}.card-icon{font-size:2.5rem;margin-bottom:.75rem}.card-title{font-size:1.25rem;font-weight:500;margin-bottom:.5rem;color:var(--primary-color)}.card-description{font-size:.9rem;color:var(--text-muted-color)}.form-container{display:flex;flex-direction:column;gap:1.25rem}.form-section{padding:1.25rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:#fdfdfd}.form-section h3{margin-top:0;margin-bottom:1rem;font-size:1.2rem;color:var(--dark-color)}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:500;margin-bottom:.35rem;color:var(--text-color)}.form-group input[type=text],.form-group input[type=number],.form-group input[type=email],.form-group input[type=password],.form-group textarea,.form-group select{width:100%;padding:.65rem .75rem;font-size:1rem;line-height:1.5;color:var(--text-color);background-color:var(--surface-color);background-clip:padding-box;border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color var(--transition-speed) ease-in-out,box-shadow var(--transition-speed) ease-in-out;box-sizing:border-box}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group input[type=email]:focus,.form-group input[type=password]:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary-color);outline:0;box-shadow:0 0 0 .2rem #007bff40}.form-group textarea{min-height:100px;resize:vertical}.form-text.text-muted{font-size:.85em;margin-top:.25rem}.readonly-field{background-color:var(--light-color)!important;cursor:not-allowed}.radio-group span,.checkbox-group span{display:flex;align-items:center;margin-bottom:.5rem}.radio-group input[type=radio],.checkbox-group input[type=checkbox]{margin-right:.5rem;accent-color:var(--primary-color);width:1.15em;height:1.15em}.radio-group-vertical span{display:flex;align-items:center;margin-bottom:.6rem}.button{display:inline-block;font-weight:400;color:var(--surface-color);text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:var(--primary-color);border:1px solid var(--primary-color);padding:.65rem 1.25rem;font-size:1rem;line-height:1.5;border-radius:var(--border-radius);transition:all var(--transition-speed) ease-in-out;text-decoration:none}.button:hover,.button:focus{filter:brightness(90%)}.button:focus{outline:0;box-shadow:0 0 0 .2rem #007bff40}.button:disabled,.button.disabled{background-color:var(--secondary-color);border-color:var(--secondary-color);opacity:.65;cursor:not-allowed}.button-primary{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.button-primary:hover{background-color:#0069d9;border-color:#0062cc}.button-secondary{background-color:var(--secondary-color);border-color:var(--secondary-color);color:#fff}.button-secondary:hover{background-color:#5a6268;border-color:#545b62}.button-success{background-color:var(--success-color);border-color:var(--success-color);color:#fff}.button-success:hover{background-color:#218838;border-color:#1e7e34}.button-danger{background-color:var(--danger-color);border-color:var(--danger-color);color:#fff}.button-danger:hover{background-color:#c82333;border-color:#bd2130}.button-warning{background-color:var(--warning-color);border-color:var(--warning-color);color:var(--dark-color)}.button-warning:hover{background-color:#e0a800;border-color:#d39e00}.button-info{background-color:var(--info-color);border-color:var(--info-color);color:#fff}.button-info:hover{background-color:#138496;border-color:#117a8b}.button-light{background-color:var(--light-color);border-color:var(--light-color);color:var(--dark-color)}.button-light:hover{background-color:#e2e6ea;border-color:#dae0e5}.button-dark{background-color:var(--dark-color);border-color:var(--dark-color);color:#fff}.button-dark:hover{background-color:#23272b;border-color:#1d2124}.button-link{font-weight:400;color:var(--primary-color);text-decoration:none;background-color:transparent;border:none;padding:0}.button-link:hover{text-decoration:underline;filter:none}.button-group{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.button-group .button{margin-bottom:.5rem}.button-full-width{width:100%;display:block}.button-small{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.output-container,.profile-view-container{margin-top:1.5rem;padding:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--light-color)}.output-container h3,.profile-view-container h3{margin-top:0;margin-bottom:1rem;font-size:1.3rem;color:var(--dark-color);border-bottom:1px solid #ccc;padding-bottom:.5rem}.output-container h4,.profile-view-container h4{font-size:1.1rem;color:var(--primary-color);margin-top:1rem;margin-bottom:.5rem}.results-table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.9rem}.results-table th,.results-table td{border:1px solid var(--border-color);padding:.6rem;text-align:left;vertical-align:top}.results-table th{background-color:#e9ecef;font-weight:500}.results-table tr:nth-child(2n){background-color:#f8f9fa}.audience-tables-container,.brand-profile-tables-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1rem}.audience-table-wrapper,.brand-profile-table-wrapper{overflow-x:auto;background:var(--surface-color);padding:.75rem;border-radius:var(--border-radius);box-shadow:0 1px 2px #0000000d}.audience-table-wrapper h3,.brand-profile-table-wrapper h3{font-size:1rem;color:var(--primary-color);margin-top:0;margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:none}.audience-table-wrapper table,.brand-profile-table-wrapper table{margin-bottom:0}.content-pillars-container{display:flex;flex-direction:column;gap:1.5rem}.content-pillar-section{padding:1rem;border:1px solid #e0e0e0;border-radius:var(--border-radius);background-color:#fff}.content-pillar-section h4{margin-top:0;margin-bottom:.75rem;color:var(--primary-color)}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#ffffffe6;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000;text-align:center;padding:20px;box-sizing:border-box}.loading-screen p{font-size:1.1rem;margin-bottom:1rem}.progress-bar-container{width:80%;max-width:300px;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden}.progress-bar-indeterminate{height:100%;width:100%;background-color:var(--primary-color);animation:indeterminateAnimation 1.5s infinite linear;transform-origin:0% 50%}@keyframes indeterminateAnimation{0%{transform:translate(-100%) scaleX(.5)}50%{transform:translate(0) scaleX(.3)}to{transform:translate(100%) scaleX(.5)}}.error-message-global{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;padding:1rem 1.25rem;border-radius:var(--border-radius);margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.error-message-global p{margin:0;flex-grow:1}.error-message-global .button-secondary{background-color:#721c24;border-color:#721c24;color:#fff;padding:.3rem .8rem}.error-message-global .button-secondary:hover{background-color:#5a1219;border-color:#5a1219}.step-indicator{text-align:center;margin-bottom:1rem;font-size:.9em;color:var(--text-muted-color);padding:.5rem;background-color:var(--light-color);border-radius:var(--border-radius)}.content-list-container{margin-top:1rem}.content-list-container .results-table th:last-child,.content-list-container .results-table td:last-child{text-align:right}.content-list-container .button-small{margin-left:.3rem}.content-list-container .button-small:first-child{margin-left:0}.content-results-display{background-color:var(--surface-color)}.content-results-display h3{color:var(--primary-color);border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.content-results-display h4{color:var(--dark-color);font-size:1.1rem;margin-top:1.25rem}.content-results-display textarea{width:100%;min-height:120px;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-family:var(--font-family);font-size:.95rem;line-height:1.5;background-color:#f9f9f9;box-sizing:border-box;margin-bottom:.5rem}.content-results-display .button-secondary{margin-bottom:1rem}.profile-view-container{background-color:var(--surface-color)}.profile-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px dashed var(--border-color)}.profile-section:last-child{border-bottom:none;padding-bottom:0}.profile-section h3{color:var(--primary-color);font-size:1.4rem;margin-bottom:.75rem;border-bottom:none}.profile-section p{margin-bottom:.5rem;font-size:1rem}.profile-section p strong{color:var(--dark-color);margin-right:.5em}.profile-table-view{margin-top:1rem;background-color:#fdfdfd}.profile-pillars-view{margin-top:1rem}.profile-pillars-view .content-pillar-section{background-color:#fdfdfd}@media (max-width: 768px){#app{margin:15px auto;padding:15px 20px}h1{font-size:1.8rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.card-container{grid-template-columns:1fr;gap:1rem}.audience-tables-container,.brand-profile-tables-container{grid-template-columns:1fr}.button-group{flex-direction:column;align-items:stretch}.button-group .button{width:100%;margin-bottom:.75rem}.button-group .button:last-child{margin-bottom:0}.content-list-container .results-table th,.content-list-container .results-table td{padding:.4rem;font-size:.85rem}.content-list-container .results-table td:last-child{white-space:nowrap}.content-list-container .button-small{padding:.2rem .4rem;font-size:.8rem}}@media (max-width: 480px){body{font-size:15px}#app{padding:10px 15px}h1{font-size:1.6rem}h2{font-size:1.3rem}h3{font-size:1.1rem}.form-group input[type=text],.form-group input[type=number],.form-group input[type=email],.form-group input[type=password],.form-group textarea,.form-group select{padding:.5rem .6rem;font-size:.95rem}.button{padding:.5rem 1rem;font-size:.95rem}}.content-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.9rem}.content-table th,.content-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #e0e0e0}.content-table th{background-color:#f5f5f5;font-weight:600;color:#333}.content-table tr:hover{background-color:#f9f9f9}.button-small{padding:5px 10px;font-size:.8rem;margin-right:5px}.button-secondary{background-color:#6c757d;color:#fff}.button-danger{background-color:#dc3545;color:#fff}.error{color:#dc3545;text-align:center;padding:20px}@media (max-width: 768px){.form-container{gap:1rem}.branding-card{padding:1rem}.form-group label{font-size:.95rem}.form-group input,.form-group select,.form-group textarea{font-size:.95rem;padding:.6rem .7rem}.card-icon{font-size:2rem}.card-title{font-size:1.1rem}.card-description{font-size:.85rem}.step-indicator{font-size:.8rem}.profile-section h3{font-size:1.2rem}}@media (max-width: 480px){.form-container,.form-group,.form-group label{width:100%;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{font-size:.9rem;padding:.55rem .65rem}.button,.button-small{font-size:.85rem;padding:.45rem .85rem}.branding-card{padding:1rem}.card-icon{font-size:1.8rem}.card-title{font-size:1rem}.card-description{font-size:.8rem}.results-table th,.results-table td,.content-table th,.content-table td{font-size:.8rem;padding:.5rem}.output-container,.profile-view-container{padding:.75rem}.profile-section h3{font-size:1.1rem}.step-indicator{font-size:.75rem}}
