/* GRUNDLAGEN & LAYOUT */
body { background-color: #0c0c0c; color: #ffffff; font-family: 'Inter', sans-serif; margin: 0; display: flex; height: 100vh; overflow: hidden; }
h1, h2, h3 { font-family: 'Playfair Display', serif; font-weight: 400; }
h1 { font-size: 34px; margin-bottom: 5px; letter-spacing: 0.5px; }
.subtitle { color: #888; font-size: 13px; margin-bottom: 50px; font-style: italic; letter-spacing: 0.5px; }

/* SIDEBAR */
.sidebar { width: 280px; background-color: #121212; border-right: 1px solid #222; display: flex; flex-direction: column; padding: 30px 20px; box-sizing: border-box; }
.sidebar-header { margin-bottom: 40px; display: flex; justify-content: space-between; align-items: center; }
.sidebar-header h2 { font-size: 16px; margin: 0; color: #aaa; text-transform: uppercase; letter-spacing: 2px; font-family: 'Inter', sans-serif; }
.sidebar-menu { list-style: none; padding: 0; margin: 0; flex-grow: 1; }
.sidebar-menu li { margin-bottom: 10px; }
.menu-btn { width: 100%; text-align: left; background: none; border: 1px solid transparent; color: #666; font-family: 'Inter', sans-serif; font-size: 13px; padding: 12px 15px; cursor: pointer; transition: all 0.3s; border-radius: 4px; }
.menu-btn:hover { color: #fff; background-color: #1a1a1a; }
.menu-btn.active { color: #fff; background-color: #1a1a1a; border: 1px solid #333; }
.sidebar-footer { font-size: 11px; color: #555; text-transform: uppercase; letter-spacing: 1px; border-top: 1px solid #222; padding-top: 20px; }
.sidebar-footer p { margin: 5px 0; }

/* SPRACH-SCHALTER */
.lang-switch { font-size: 11px; letter-spacing: 1px; }
.lang-switch button { background: none; border: none; color: #666; cursor: pointer; font-weight: 600; padding: 2px; transition: color 0.3s; }
.lang-switch button.active, .lang-switch button:hover { color: #ffffff; }

/* MAIN CONTENT */
.main-content { flex-grow: 1; padding: 50px; overflow-y: auto; background-color: #0c0c0c; display: flex; justify-content: center; align-items: flex-start; }
.container { max-width: 600px; width: 100%; }
.workspace-module { display: none; width: 100%; }
.workspace-module.active { display: block; animation: fadeIn 0.4s ease; }

/* NAVIGATION TABS (INNERHALB MODULE) */
.nav-tabs { display: flex; border-bottom: 1px solid #222; margin-bottom: 40px; }
.nav-btn { background: none; border: none; color: #666; font-family: 'Inter', sans-serif; font-size: 12px; text-transform: uppercase; letter-spacing: 1.5px; padding: 15px 20px; cursor: pointer; transition: all 0.3s; }
.nav-btn.active, .nav-btn:hover { color: #ffffff; border-bottom: 2px solid #ffffff; }

/* INTERVIEW SCHRITTE */
.interview-form { min-height: 250px; display: flex; flex-direction: column; justify-content: space-between; }
.step { display: none; opacity: 0; transition: opacity 0.5s ease; }
.step.active { display: block; opacity: 1; animation: fadeIn 0.5s ease forwards; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.step-counter { color: #666; font-size: 11px; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 15px; }
.step-question { font-family: 'Playfair Display', serif; font-size: 24px; color: #ffffff; margin-bottom: 30px; line-height: 1.3; }

/* RADIO & INPUTS */
.radio-grid { display: flex; flex-direction: column; gap: 12px; }
.radio-grid input[type="radio"] { display: none; }
.radio-grid label { background-color: transparent; border: 1px solid #333; padding: 16px 20px; cursor: pointer; font-size: 14px; font-weight: 300; transition: all 0.3s; display: block; border-radius: 2px; }
.radio-grid label:hover { border-color: #666; background-color: #111; }
.radio-grid input[type="radio"]:checked + label { background-color: #ffffff; color: #000000; border-color: #ffffff; font-weight: 400; }
textarea { width: 100%; height: 120px; background-color: transparent; color: #ffffff; border: 1px solid #333; padding: 15px; font-family: 'Inter', sans-serif; font-size: 14px; resize: none; box-sizing: border-box; }
textarea:focus { outline: none; border-color: #666; }

/* BUTTONS */
.form-navigation { display: flex; justify-content: space-between; align-items: center; margin-top: 40px; border-top: 1px solid #222; padding-top: 20px; }
.btn-back { background: transparent; border: none; color: #666; text-transform: uppercase; font-size: 11px; letter-spacing: 1.5px; cursor: pointer; padding: 10px 0; transition: color 0.3s; visibility: hidden; }
.btn-back:hover { color: #fff; }
.submit-btn { background-color: #ffffff; color: #000000; border: none; padding: 14px 24px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; cursor: pointer; transition: background-color 0.3s; border-radius: 2px; margin-left: auto; }
.submit-btn:hover { background-color: #e0e0e0; }

/* ERGEBNISSE & PLATZHALTER */
.result-box { border-bottom: 1px solid #222; padding: 40px 0; animation: fadeIn 0.5s ease forwards; }
.brand-name { font-family: 'Playfair Display', serif; font-size: 26px; margin-bottom: 10px; }
.category-badge { display: inline-block; border: 1px solid #444; color: #aaa; font-size: 10px; text-transform: uppercase; padding: 4px 10px; letter-spacing: 1px; margin-bottom: 20px; border-radius: 2px; }
.notes-container { margin-bottom: 20px; }
.note-pill { display: inline-block; background-color: transparent; border: 1px solid #333; color: #bbb; font-size: 11px; padding: 5px 12px; border-radius: 20px; margin: 0 6px 8px 0; }
.signatures { color: #cccccc; font-size: 14px; line-height: 1.8; margin-bottom: 25px; font-weight: 300; }
.dossier-box { margin-top: 30px; color: #dddddd; font-size: 15px; line-height: 1.7; font-weight: 300; display: none; background: #111; padding: 25px; border-radius: 2px; border-left: 2px solid #fff; }
.dossier-box strong { color: #ffffff; font-weight: 600; }
.dossier-box p { margin-bottom: 15px; }
.placeholder-box { border: 1px dashed #333; padding: 40px; text-align: center; color: #666; border-radius: 4px; font-size: 14px; }
#loading { display: none; text-align: center; margin-top: 50px; }
.pulse-text { color: #666; font-style: italic; font-size: 13px; animation: pulse 1.5s infinite; letter-spacing: 1px; }
@keyframes pulse { 0% { opacity: 0.3; } 50% { opacity: 1; } 100% { opacity: 0.3; } }
.view-section { display: none; }
.view-section.active { display: block; animation: fadeIn 0.5s ease forwards; }