/* ESRA Praxis – ruhigeres Arbeitsinterface, ohne funktionale Änderungen. */
:root { --workspace-line: rgba(20,70,75,.15); --workspace-paper: #fffdf8; --workspace-ink: #143a3c; --workspace-muted: #52605f; --workspace-teal: #3e8e88; --workspace-coral: #e96349; --workspace-shadow: 0 14px 32px rgba(20,70,75,.10); }
[data-theme='dark'] { --workspace-line: rgba(234,242,241,.18); --workspace-paper: #143b3f; --workspace-ink: #edf6f2; --workspace-muted: #c0d5d1; --workspace-teal: #7fd6cf; --workspace-coral: #ff9276; --workspace-shadow: 0 14px 32px rgba(0,0,0,.3); }
.praxis-main { background: linear-gradient(180deg, color-mix(in srgb, var(--cream) 88%, #fff) 0, var(--cream) 34rem); padding-top: clamp(2rem, 4vw, 4.25rem); }
.praxis-main .container { max-width: 1200px; }
.praxis-workspace { gap: 1.25rem; }
.praxis-login-container { max-width: 510px; margin-top: clamp(2.25rem, 7vw, 5rem); }
.praxis-login-card, .praxis-main .clay-card { border: 1px solid var(--workspace-line); border-radius: 1rem; box-shadow: var(--workspace-shadow); }
.praxis-login-card { background: var(--workspace-paper); }
.login-badge { border-radius: 50%; box-shadow: none; background-color: var(--workspace-teal); }
.login-header h1, .praxis-hero h1, .admin-home h1, .patient-record-header h1 { font-family: Georgia, 'Times New Roman', serif; font-weight: 600; letter-spacing: -.035em; }
.login-header h1 { font-size: clamp(1.76rem, 5.8vw, 2.22rem); line-height: 1.12; overflow-wrap: normal; word-break: normal; white-space: nowrap; }
.form-control, .stack-form input, .stack-form select, .assignment-form select, .password-change-form input { box-shadow: none; border-radius: .5rem; background: color-mix(in srgb, var(--surface) 94%, var(--cream)); }
.form-control:focus, .stack-form input:focus, .stack-form select:focus, .assignment-form select:focus { border-color: var(--workspace-teal); box-shadow: 0 0 0 3px color-mix(in srgb, var(--workspace-teal) 20%, transparent); }
.user-session-bar { background: var(--workspace-paper); border: 1px solid var(--workspace-line); border-radius: .8rem; box-shadow: 0 8px 22px rgba(20,70,75,.09); margin-bottom: 0; }
.user-avatar { background: var(--workspace-coral); box-shadow: none; }
.workspace-nav { position: sticky; top: 5rem; z-index: 3; margin: 0; padding: .45rem; border: 1px solid var(--workspace-line); border-radius: .65rem; box-shadow: 0 8px 18px rgba(20,70,75,.08); background: color-mix(in srgb, var(--surface-raised) 92%, transparent); backdrop-filter: blur(10px); }
.workspace-nav a { border-radius: .4rem; padding: .65rem .9rem; }
.workspace-nav a:hover, .workspace-nav a:focus-visible { background: var(--workspace-teal); }
.admin-home { background: linear-gradient(125deg, #0e4a4d, #2f817e); border: 0 !important; border-radius: 1.15rem !important; box-shadow: 0 18px 38px rgba(12,55,58,.20) !important; color: #f7fbf8; margin: .5rem 0 0; }
.admin-home .eyebrow, .admin-home p, .admin-home h1 { color: inherit; }.admin-home .eyebrow { opacity: .72; }.admin-home-badge { background: rgba(255,255,255,.14); color: #fff; }
.admin-action-grid { gap: 1rem; }.admin-action-card { border: 1px solid rgba(255,255,255,.18); border-radius: .75rem; background: rgba(255,255,255,.10); color: #fff; min-height: 7.6rem; }.admin-action-card:hover, .admin-action-card:focus-visible { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.34); box-shadow: none; color: #fff; }.admin-action-card small { color: rgba(255,255,255,.74); }.admin-action-card b { color: #bce1d9; }.admin-action-icon { background: var(--workspace-coral); border-radius: 50%; }
.praxis-hero { border-bottom: 1px solid var(--workspace-line); display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 2rem; max-width: none; margin: 2.4rem 0 0; padding: 0 0 1.5rem; }.praxis-hero h1 { font-size: clamp(2.25rem, 4vw, 3.7rem); margin: .25rem 0 .45rem; }.praxis-hero p { margin-bottom: 0; }
.praxis-status-bar { border: 1px solid var(--workspace-line); border-radius: .75rem; box-shadow: none; background: transparent; margin: 0; padding: .8rem 1rem; }.api-detail-row { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .72rem; }
.readiness-card { border: 0 !important; border-radius: 1rem !important; box-shadow: none !important; background: linear-gradient(110deg, #153f42, #367f7b) !important; }.readiness-card h2, .readiness-card p { color: #fff; }.readiness-card p { opacity: .86; }.readiness-card-icon { border-radius: 50%; background: rgba(255,255,255,.14); box-shadow: none; }.app-download-qr { background: rgba(255,255,255,.1); border-radius: .55rem; padding: .35rem; }.app-download-qr img { border-radius: .25rem; }.app-download-qr a { color: #fff; }.app-download-qr .app-download-mail { border-top: 1px solid rgba(255,255,255,.24); padding-top: .35rem; font-size: .7rem; line-height: 1.25; text-decoration: underline; text-underline-offset: 2px; }
.app-download-qr .app-download-mail { color: #fff; background: transparent; border-right: 0; border-bottom: 0; border-left: 0; cursor: pointer; font: inherit; }
.invitation-dialog { width: min(100% - 2rem, 34rem); padding: 0; color: var(--text); background: var(--workspace-paper); border: 1px solid var(--workspace-line); border-radius: 1rem; box-shadow: 0 20px 55px rgba(0,0,0,.32); }.invitation-dialog::backdrop { background: rgba(7,31,33,.58); }.invitation-dialog form { padding: 1.4rem; }.dialog-heading { display:flex; gap:1rem; justify-content:space-between; }.dialog-heading h2 { margin:.2rem 0 .45rem; }.dialog-heading p { margin:0; color:var(--workspace-muted); }.dialog-close { width:2rem; height:2rem; color:var(--text); background:transparent; border:0; font-size:1.6rem; cursor:pointer; }.dialog-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:.4rem; }
.praxis-grid { grid-template-columns: minmax(0, 1fr) minmax(310px, .64fr); gap: 1.25rem; margin: 0; }.praxis-cases { box-shadow: none !important; }.praxis-card-header { padding: 1.35rem 1.45rem; }.case-count { box-shadow: none; background: #d7ebe5; }.case-list, .staff-list { background: var(--workspace-line); }.case-row { padding: 1.05rem 1.45rem; transition: background-color 150ms ease, transform 150ms ease; }.case-row:hover, .case-row.is-selected { background: color-mix(in srgb, var(--workspace-teal) 11%, var(--surface-raised)); }.case-row strong { font-size: 1rem; }.case-row small { display: block; margin-top: .2rem; }.praxis-connection { background: var(--workspace-paper); box-shadow: none !important; }
.staff-panel, .pairing-management, .password-panel { background: var(--workspace-paper); box-shadow: none !important; }.staff-panel { margin-top: 0; }.staff-grid, .password-panel { gap: 1.5rem; }.staff-row, .pairing-row { background: var(--workspace-paper); padding: 1rem 1.35rem; }.staff-row button, .pairing-row button { border-radius: .4rem; }
.administration-heading { border-bottom: 1px solid var(--workspace-line); padding: 2.6rem 0 1.35rem; }.administration-heading h2 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 3.5vw, 3rem); letter-spacing: -.04em; }.admin-summary { background: #d7ebe5; border-radius: .5rem; box-shadow: none; }
.patient-detail { margin-top: 0; }.back-link { border: 1px solid var(--workspace-line); border-radius: .4rem; background: var(--workspace-paper); padding: .65rem .85rem; }.patient-record-header { border-top: 5px solid var(--workspace-teal) !important; box-shadow: none !important; }.record-sections { border-radius: .6rem; box-shadow: none; border: 1px solid var(--workspace-line); background: var(--workspace-paper); }.record-sections a { border-radius: .35rem; }.record-sections a:hover { background: #d7ebe5; }.record-group { box-shadow: none !important; }.record-entry-list li { border-bottom-color: var(--workspace-line); }
.btn { border-radius: .45rem; transition: transform 140ms cubic-bezier(.23,1,.32,1), box-shadow 180ms ease, background 180ms ease; }.btn-primary { box-shadow: 0 8px 16px rgba(232,90,61,.18); }.btn:active { transform: scale(.97); }
[data-theme='dark'] .praxis-main { background: linear-gradient(180deg, #0b2629 0, var(--cream) 34rem); }
[data-theme='dark'] .praxis-login-card, [data-theme='dark'] .user-session-bar, [data-theme='dark'] .praxis-connection, [data-theme='dark'] .staff-panel, [data-theme='dark'] .pairing-management, [data-theme='dark'] .password-panel, [data-theme='dark'] .staff-row, [data-theme='dark'] .pairing-row, [data-theme='dark'] .back-link, [data-theme='dark'] .record-sections { color: var(--text); background: var(--workspace-paper); }
[data-theme='dark'] .case-row { color: var(--text); background: var(--workspace-paper); }
[data-theme='dark'] .case-row:hover, [data-theme='dark'] .case-row.is-selected { background: #1b5255; }
[data-theme='dark'] .case-count, [data-theme='dark'] .admin-summary, [data-theme='dark'] .record-sections a:hover { color: #092326; background: #9ad9cf; }
[data-theme='dark'] .workspace-nav { background: rgba(20,59,63,.94); }
[data-theme='dark'] .praxis-status-bar { background: rgba(20,59,63,.45); }
[data-theme='dark'] .form-control, [data-theme='dark'] .stack-form input, [data-theme='dark'] .stack-form select, [data-theme='dark'] .assignment-form select, [data-theme='dark'] .password-change-form input { color: var(--text); background: #0f3033; }
[data-theme='dark'] .form-control::placeholder, [data-theme='dark'] input::placeholder { color: #a9c4c1; opacity: 1; }
@media (hover: hover) and (pointer: fine) { .praxis-main .clay-card:hover { transform: none; }.btn-primary:hover { transform: translateY(-1px); }.case-row:hover { transform: translateX(3px); } }
@media (max-width: 860px) { .workspace-nav { position: static; }.praxis-grid { grid-template-columns: 1fr; }.admin-action-grid { grid-template-columns: 1fr; }.praxis-hero { grid-template-columns: 1fr; gap: .5rem; } }
@media (max-width: 380px) { .login-header h1 { font-size: 1.56rem; letter-spacing: -.05em; } }
@media (prefers-reduced-motion: reduce) { .praxis-main *, .praxis-main *::before, .praxis-main *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
