:root{--primary-color:#2563eb;--primary-hover:#1d4ed8;--secondary-color:#6b7280;--secondary-hover:#4b5563;--success-color:#10b981;--danger-color:#ef4444;--background:#f9fafb;--surface:#ffffff;--text-primary:#111827;--text-secondary:#6b7280;--border:#e5e7eb;--border-focus:#3b82f6;--shadow:0 1px 3px 0 rgb(0 0 0/0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.1);--radius:0.5rem;--transition:all 0.2s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background);color:var(--text-primary);line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.page{min-height:100vh;padding:2rem 0}.nav{background:var(--surface);border-bottom:1px solid var(--border);padding:1rem 0;box-shadow:var(--shadow)}.nav-container{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 1rem}.nav-brand{font-size:1.5rem;font-weight:700;color:var(--primary-color);text-decoration:none}.nav-menu{display:flex;gap:2rem;list-style:none}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:var(--transition)}.nav-link:hover{color:var(--primary-color)}.nav-user{display:flex;align-items:center;gap:1rem}.user-avatar{width:40px;height:40px;border-radius:50%}.btn{padding:.75rem 1.5rem;border:none;border-radius:var(--radius);font-size:1rem;font-weight:500;cursor:pointer;transition:var(--transition);text-decoration:none;display:inline-block;text-align:center}.btn-primary{background:var(--primary-color);color:white}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{background:var(--secondary-color);cursor:not-allowed}.btn-secondary{background:var(--secondary-color);color:white}.btn-secondary:hover{background:var(--secondary-hover)}.btn-google{background:white;color:var(--text-primary);border:1px solid var(--border);display:flex;align-items:center;gap:.75rem}.btn-google:hover{background:var(--background)}.card{background:var(--surface);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--border)}.card-header{margin-bottom:1.5rem}.card-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.form-section{margin-bottom:2rem}.form-section h3{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:1rem;gap:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;transition:var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.form-actions{display:flex;gap:1rem;margin-top:2rem}.search-box{position:relative;margin-bottom:2rem}.search-input{width:100%;padding:1rem 1rem 1rem 3rem;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;transition:var(--transition)}.search-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.table-container{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:1rem;text-align:left;border-bottom:1px solid var(--border)}.table th{font-weight:600;color:var(--text-primary)}.table th,.table tr:hover{background:var(--background)}.table-link{color:var(--primary-color);text-decoration:none;font-weight:500}.table-link:hover{text-decoration:underline}.patient-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-top:1.5rem}.patient-card{background:var(--surface);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--border);transition:var(--transition);cursor:pointer}.patient-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.patient-card h3{font-size:1.25rem;margin-bottom:.5rem}.patient-card-meta{color:var(--text-secondary);font-size:.875rem}.signature-canvas-container{margin-top:1rem}.signature-canvas{border:2px solid var(--border);border-radius:var(--radius);cursor:crosshair;touch-action:none;display:block;max-width:100%;height:auto}.signature-actions{display:flex;gap:1rem;margin-top:1rem}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.login-card{max-width:400px;width:100%;text-align:center}.login-card h1{font-size:2rem;margin-bottom:.5rem}.login-card p{color:var(--text-secondary);margin-bottom:2rem}.empty-state,.loading{text-align:center;padding:3rem;color:var(--text-secondary)}.empty-state h2{font-size:1.5rem;margin-bottom:.5rem}.alert{padding:1rem;border-radius:var(--radius);margin-bottom:1rem}.alert-success{background:#d1fae5;color:#065f46}.alert-error{background:#fee2e2;color:#991b1b}.consent-group{margin-bottom:1.5rem;padding:1rem;background:var(--background);border-radius:var(--radius)}.consent-group>label{display:block;font-weight:500;margin-bottom:.75rem;color:var(--text-primary)}.radio-group{display:flex;gap:2rem}.radio-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.radio-group input[type=radio]{width:18px;height:18px;cursor:pointer}.dsgvo-notice{margin-top:2rem;padding:1.5rem;background:var(--background);border:1px solid var(--border);border-radius:var(--radius)}.dsgvo-notice h4{font-size:1.1rem;margin-bottom:1rem;color:var(--text-primary)}.dsgvo-notice p{font-size:.95rem;line-height:1.6;color:var(--text-secondary);margin-bottom:.75rem}.dsgvo-notice p:last-child{margin-bottom:0}@media (max-width:768px){.nav-menu{gap:1rem;font-size:.875rem}.form-row,.patient-grid{grid-template-columns:1fr}.table{font-size:.875rem}.table td,.table th{padding:.75rem}.signature-canvas{max-width:100%}}@media (hover:none) and (pointer:coarse){.btn,.form-group input,.form-group select{min-height:44px}}@keyframes slideIn{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}