*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f4f6f9;color:#333;line-height:1.6;min-height:100vh}a{color:#667eea;text-decoration:none}a:hover{text-decoration:underline}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.25rem;color:#667eea}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:0 2rem;height:60px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 10px #00000026;position:sticky;top:0;z-index:100}.header-brand{font-size:1.3rem;font-weight:700;letter-spacing:.5px;display:flex;align-items:center;gap:.5rem}.header-brand a{color:#fff;text-decoration:none}.header-nav{display:flex;align-items:center;gap:1.5rem}.header-nav a{color:#ffffffd9;font-weight:500;font-size:.95rem;transition:color .2s}.header-nav a:hover,.header-nav a.active{color:#fff;text-decoration:none}.header-user{display:flex;align-items:center;gap:1rem;margin-left:1rem;padding-left:1rem;border-left:1px solid rgba(255,255,255,.3)}.header-user span{font-size:.9rem;opacity:.9}.btn-logout{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.3rem .8rem;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background .2s}.btn-logout:hover{background:#ffffff40}.app-main{max-width:1200px;margin:0 auto;padding:2rem}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{background:#fff;border-radius:12px;padding:2.5rem;width:100%;max-width:400px;box-shadow:0 20px 60px #0003}.login-card h1{text-align:center;color:#333;margin-bottom:.25rem;font-size:1.5rem}.login-card .subtitle{text-align:center;color:#888;margin-bottom:2rem;font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.4rem;font-weight:600;font-size:.9rem;color:#555}.form-group input{width:100%;padding:.6rem .8rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.btn-primary{width:100%;padding:.7rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fef2f2;color:#dc2626;padding:.6rem .8rem;border-radius:6px;font-size:.9rem;margin-bottom:1rem;border:1px solid #fecaca}.filter-bar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-bar input,.filter-bar select{padding:.5rem .8rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;background:#fff}.filter-bar input{flex:1;min-width:200px}.filter-bar select{min-width:150px}.filter-bar input:focus,.filter-bar select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.page-title{font-size:1.5rem;font-weight:700;color:#333;margin-bottom:1.5rem}.strategy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}.strategy-card{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 2px 12px #0000000f;border:1px solid #eee;cursor:pointer;transition:transform .15s,box-shadow .15s}.strategy-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.strategy-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.strategy-card-header h3{font-size:1.1rem;color:#333;margin:0}.strategy-card-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem;font-size:.85rem;color:#666}.strategy-card-meta span{background:#f0f0f5;padding:.15rem .5rem;border-radius:4px}.strategy-card-platforms{display:flex;gap:.4rem;flex-wrap:wrap}.badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.badge-publiziert{background:#dcfce7;color:#166534}.badge-aktiv{background:#dbeafe;color:#1e40af}.badge-beta{background:#fef9c3;color:#854d0e}.badge-wip{background:#ffedd5;color:#9a3412}.badge-forschung{background:#f3e8ff;color:#6b21a8}.badge-archiviert{background:#f3f4f6;color:#6b7280}.platform-badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;background:#e8e8f0;color:#555}.platform-badge.pinescript{background:#e0f2fe;color:#0369a1}.platform-badge.ctrader{background:#fef3c7;color:#92400e}.platform-badge.mt5{background:#ede9fe;color:#6d28d9}.platform-badge.atas{background:#fce7f3;color:#be185d}.detail-header{background:#fff;border-radius:10px;padding:2rem;box-shadow:0 2px 12px #0000000f;border:1px solid #eee;margin-bottom:1.5rem}.detail-header h1{font-size:1.6rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.75rem}.detail-header .description{color:#666;margin-top:.75rem;line-height:1.6}.detail-meta{display:flex;gap:1.5rem;margin-top:1rem;flex-wrap:wrap}.detail-meta-item{font-size:.9rem;color:#555}.detail-meta-item strong{color:#333}.detail-back{display:inline-flex;align-items:center;gap:.3rem;margin-bottom:1rem;color:#667eea;font-size:.9rem}.detail-back:hover{text-decoration:none;color:#764ba2}.section-card{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 2px 12px #0000000f;border:1px solid #eee;margin-bottom:1.5rem}.section-card h2{font-size:1.15rem;color:#333;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #f0f0f5}.platform-status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.platform-status-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:8px;background:#f8f9fb}.platform-status-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}.platform-status-icon.available{background:#dcfce7;color:#166534}.platform-status-icon.wip{background:#ffedd5;color:#9a3412}.platform-status-icon.unavailable{background:#f3f4f6;color:#9ca3af}.platform-status-info{font-size:.9rem}.platform-status-info .name{font-weight:600;color:#333}.platform-status-info .version{font-size:.8rem;color:#888}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table thead{background:#f8f9fb}.data-table th{padding:.75rem .8rem;text-align:left;font-weight:600;color:#555;border-bottom:2px solid #eee;white-space:nowrap}.data-table td{padding:.65rem .8rem;border-bottom:1px solid #f0f0f5;color:#444}.data-table tbody tr:hover{background:#fafafe}.data-table .text-right{text-align:right}.data-table .text-center{text-align:center}.badge-published{background:#dcfce7;color:#166534;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.positive{color:#16a34a}.negative{color:#dc2626}.matrix-table{width:100%;border-collapse:collapse;font-size:.9rem}.matrix-table th,.matrix-table td{padding:.7rem 1rem;text-align:center;border:1px solid #eee}.matrix-table thead th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;font-size:.85rem}.matrix-table thead th:first-child{text-align:left}.matrix-table tbody td:first-child{text-align:left;font-weight:600;color:#333;background:#f8f9fb}.matrix-table tbody tr:hover{background:#fafafe}.matrix-cell-active{background:#dcfce7;color:#166534;font-weight:600;border-radius:4px}.matrix-cell-wip{background:#fef9c3;color:#854d0e;font-weight:500;border-radius:4px}.matrix-cell-planned{background:#dbeafe;color:#1e40af;font-size:.8rem;border-radius:4px}.matrix-cell-none{color:#ccc}.empty-state{text-align:center;padding:3rem;color:#999}.empty-state p{font-size:1.1rem}.loading{display:flex;justify-content:center;padding:3rem;color:#667eea;font-size:1rem}@media(max-width:768px){.app-header{padding:.75rem 1rem;height:auto;flex-wrap:wrap;gap:.5rem}.header-nav{gap:1rem;font-size:.85rem}.header-user{margin-left:0;padding-left:0;border-left:none}.app-main{padding:1rem}.strategy-grid{grid-template-columns:1fr}.filter-bar{flex-direction:column}.filter-bar input,.filter-bar select{width:100%;min-width:unset}.detail-meta{flex-direction:column;gap:.5rem}.platform-status-grid{grid-template-columns:1fr 1fr}.data-table,.matrix-table{display:block;overflow-x:auto}}
