:root { --acd-green:#94c11e; --acd-teal:#176e7f; --acd-teal-dark:#115867; --acd-ink:#161616; --acd-muted:#626a6e; --acd-white:#fff; --acd-ice:#f4f9fc; --acd-border:#e5eaec; --acd-error:#a62b21; --acd-success:#28752d; --radius-control:6px; --radius-pill:999px; --content-max:1200px; }
* { box-sizing:border-box; }
body { display:flex; min-height:100vh; flex-direction:column; margin:0; background:var(--acd-white); color:var(--acd-ink); font:16px/1.55 "Montserrat","Helvetica Neue",Arial,sans-serif; }
a { color:var(--acd-teal); font-weight:600; text-underline-offset:2px; } a:hover { color:var(--acd-teal-dark); }
main { width:min(100%,var(--content-max)); flex:1; margin:0 auto; padding:40px 32px 72px; }
h1,h2,h3 { margin:0 0 16px; color:var(--acd-ink); line-height:1.16; letter-spacing:-.01em; } h1 { font-size:clamp(30px,4vw,40px); } h2 { font-size:clamp(22px,3vw,28px); } h3 { font-size:20px; } p { margin:0 0 16px; }
.page-title { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:28px; } .page-title h1 { margin:0; }
form { max-width:760px; } label { display:block; margin:0 0 18px; color:var(--acd-ink); font-size:14px; font-weight:700; }
input,select,textarea,button,.button { font:inherit; } input,select,textarea { display:block; width:100%; min-height:44px; margin-top:6px; padding:9px 11px; border:1px solid var(--acd-border); border-radius:var(--radius-control); background:var(--acd-white); color:var(--acd-ink); } textarea { min-height:112px; resize:vertical; } input[type="file"] { padding:8px; } input[type="hidden"] { display:none; }
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible { border-color:var(--acd-teal); outline:3px solid rgb(23 110 127 / 24%); outline-offset:2px; }
button,.button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:8px 18px; border:1px solid var(--acd-teal); border-radius:8px; background:var(--acd-teal); color:#fff; cursor:pointer; font-weight:700; line-height:1.2; text-align:center; text-decoration:none; } button:hover,.button:hover { border-color:var(--acd-teal-dark); background:var(--acd-teal-dark); color:#fff; } button:disabled { cursor:not-allowed; opacity:.55; }
.filters { display:flex; max-width:none; align-items:flex-end; gap:14px; margin:24px 0; padding:20px; border:1px solid var(--acd-border); background:var(--acd-ice); } .filters label { flex:1 1 180px; margin:0; } .filters button { flex:0 0 auto; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; max-width:860px; } .form-grid .wide { grid-column:1 / -1; } .form-grid > button { justify-self:start; }
.table-wrap { overflow-x:auto; border:1px solid var(--acd-border); } table { width:100%; min-width:640px; border-collapse:collapse; } th,td { padding:13px 14px; border-bottom:1px solid var(--acd-border); text-align:left; vertical-align:middle; } th { background:var(--acd-teal); color:#fff; font-size:14px; font-weight:700; } tbody tr:nth-child(even) { background:var(--acd-ice); } tbody tr:hover { background:#eaf4f7; } tbody tr:last-child td { border-bottom:0; } td form { margin:0; }
.detail,section { margin:32px 0; } .detail { padding:24px 0; border-top:1px solid var(--acd-border); border-bottom:1px solid var(--acd-border); } dl { display:grid; grid-template-columns:minmax(150px,220px) 1fr; gap:8px 20px; margin:0; } dt { color:var(--acd-muted); font-weight:700; } dd { margin:0; } ul { padding-left:20px; } li { margin:8px 0; }
.inline { display:inline-flex; width:auto; max-width:none; align-items:center; gap:8px; margin-left:8px; vertical-align:middle; } .inline select { width:auto; min-height:40px; margin:0; } .inline button,li .inline button { min-height:34px; padding:6px 12px; font-size:13px; } .page-title > .inline { margin-left:0; }
.message { margin:14px 0; padding:16px 18px; border-left:4px solid var(--acd-teal); background:var(--acd-ice); } .message.internal_note { border-color:#b37b00; background:#fff8e6; } .message small { display:block; color:var(--acd-muted); } .error,.success { margin:12px 0; padding:10px 13px; border-left:4px solid currentColor; font-weight:700; } .error { color:var(--acd-error); background:#fff3f2; } .success { color:var(--acd-success); background:#f1f8eb; }

/* Falldetail: kompakte Arbeitsansicht mit nativen, zugänglichen Klappbereichen */
.case-detail-header { align-items:center; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid var(--acd-border); }
.eyebrow { margin:0 0 2px; color:var(--acd-muted); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.case-detail-header h1 { margin:0; font-size:28px; }
.case-status { margin:2px 0 0; color:var(--acd-muted); font-size:14px; font-weight:700; }
.case-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; }
.case-actions .inline { margin:0; }
.case-actions .inline label { margin:0; font-size:12px; }
.case-actions .inline select { min-width:150px; }
.case-section { margin:10px 0; border-bottom:1px solid var(--acd-border); }
.case-section summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 12px; border:1px solid var(--acd-border); border-radius:var(--radius-control); background:var(--acd-ice); cursor:pointer; font-weight:800; list-style:none; }
.case-section summary::-webkit-details-marker { display:none; }
.case-section summary::before { flex:0 0 auto; color:var(--acd-teal); content:"▸"; font-size:18px; line-height:1; }
.case-section summary > span:first-child { margin-right:auto; }
.case-section[open] summary { border-bottom-color:var(--acd-teal); border-bottom-right-radius:0; border-bottom-left-radius:0; background:var(--acd-ice); }
.case-section[open] summary::before { content:"▾"; }
.case-section summary::marker { color:var(--acd-teal); }
.case-section summary:focus-visible { border-radius:var(--radius-control); outline:3px solid rgb(23 110 127 / 24%); outline-offset:2px; }
.summary-hint { color:var(--acd-muted); font-size:13px; font-weight:600; text-align:right; }
.case-section__body { padding:2px 0 14px; }
.case-section__body.detail { padding-top:4px; }
.case-section__body dl { grid-template-columns:minmax(125px,180px) 1fr; gap:5px 16px; }
.section-actions { margin:0 0 10px; }
.section-actions .button { min-height:34px; padding:6px 13px; font-size:13px; }
.file-list { margin:0 0 12px; padding:0; list-style:none; }
.file-list > li { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:0; padding:8px 0; border-top:1px solid var(--acd-border); font-size:14px; }
.file-list > li > a:first-child { overflow-wrap:anywhere; }
.file-preview { display:block; flex:0 0 56px; width:56px; height:56px; overflow:hidden; border:1px solid var(--acd-border); border-radius:var(--radius-control); background:var(--acd-ice); }
.file-preview img { display:block; width:100%; height:100%; object-fit:cover; }
.file-info { flex:1 1 220px; min-width:0; overflow-wrap:anywhere; }
.file-actions { display:flex; flex:0 0 auto; align-items:center; gap:6px; margin-left:auto; }
.file-actions .button,.file-actions .inline button { min-height:34px; padding:6px 12px; font-size:13px; }
.file-actions .inline { margin:0; }
.case-upload-form,.case-message-form { display:grid; max-width:none; align-items:end; gap:10px; padding-top:12px; border-top:1px solid var(--acd-border); }
.case-upload-form { grid-template-columns:minmax(210px,1.5fr) minmax(150px,1fr) minmax(130px,.8fr) auto; }
.case-message-form { grid-template-columns:minmax(160px,.7fr) minmax(0,1.8fr) auto; }
.case-upload-form label,.case-message-form label { margin:0; font-size:13px; }
.case-upload-form input,.case-upload-form select,.case-message-form textarea,.case-message-form select { margin-top:4px; }
.case-upload-form input[type="file"] { padding:6px; }
.case-message-form textarea { min-height:78px; }
.case-upload-form button,.case-message-form button { align-self:end; min-height:38px; padding:7px 14px; font-size:14px; }
.site-footer { margin-top:auto; border-top:4px solid var(--acd-green); background:var(--acd-ice); } .site-footer__inner { display:flex; width:min(100%,var(--content-max)); align-items:center; justify-content:space-between; gap:20px; margin:0 auto; padding:20px 32px; color:var(--acd-muted); font-size:14px; } .site-footer nav { display:flex; flex-wrap:wrap; gap:8px 20px; } .site-footer a { color:var(--acd-ink); font-size:14px; font-weight:600; } .site-footer a:hover { color:var(--acd-teal); }
.auth-shell { position:relative; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr); width:100vw; min-height:560px; margin:-40px calc(50% - 50vw) -72px; overflow:hidden; background:linear-gradient(135deg,var(--acd-ice) 0%,#fff 62%); } .auth-shell::after { position:absolute; top:50%; right:-230px; z-index:0; width:800px; height:800px; border-radius:50%; background:var(--acd-green); box-shadow:inset 80px -240px 0 #7ea516; transform:translateY(-50%); content:""; } .auth-intro { position:relative; z-index:1; display:flex; align-items:center; min-height:560px; padding:clamp(56px,9vw,128px) clamp(32px,8vw,140px); } .auth-intro::before { position:absolute; top:0; left:0; width:72px; height:6px; background:var(--acd-green); content:""; } .auth-intro__content { position:relative; z-index:1; max-width:640px; } .auth-intro h1 { margin-bottom:20px; font-size:clamp(34px,4.2vw,56px); } .auth-intro h1 span { color:var(--acd-green); } .auth-intro h1 .auth-intro__brand { color:var(--acd-ink); font-size:.66em; font-weight:600; } .auth-intro p { max-width:570px; margin:0; color:var(--acd-muted); font-size:17px; }
.auth-panel { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; padding:56px clamp(32px,6vw,96px); } .auth { width:100%; max-width:360px; margin:0; padding:40px; border:1px solid var(--acd-border); border-radius:10px; background:var(--acd-white); box-shadow:0 18px 44px rgb(22 22 22 / 10%); transform:translateX(50px); } .auth h2 { margin-bottom:28px; font-size:30px; } .auth button { width:100%; margin-top:6px; }
@media (max-width:900px) { .auth-shell { grid-template-columns:minmax(0,1fr) minmax(340px,.9fr); } .auth-intro { min-height:500px; padding:56px 48px; } .auth-panel { padding:40px 32px; } }
@media (max-width:760px) { main { padding:28px 18px 56px; } .page-title { align-items:flex-start; flex-direction:column; margin-bottom:24px; } .filters { align-items:stretch; flex-direction:column; padding:16px; } .filters label,.filters button { width:100%; } .form-grid { grid-template-columns:1fr; } .form-grid .wide { grid-column:auto; } dl { grid-template-columns:1fr; gap:2px; } dd { margin-bottom:12px; } .inline { flex-wrap:wrap; margin:8px 0 0; } .site-footer__inner { align-items:flex-start; flex-direction:column; gap:10px; padding:18px; } .site-footer nav { gap:8px 16px; } .auth-shell { display:block; min-height:auto; margin:-28px calc(50% - 50vw) -56px; } .auth-shell::after { top:auto; right:-300px; bottom:-300px; width:600px; height:600px; transform:none; } .auth-intro { min-height:0; padding:56px 24px 48px; } .auth-intro h1 { font-size:34px; } .auth-intro p { font-size:16px; } .auth-panel { padding:24px 18px 40px; } .auth { max-width:460px; padding:28px 24px; transform:none; } }

@media (max-width:900px) { .case-upload-form,.case-message-form { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .case-detail-header { align-items:flex-start; gap:10px; } .case-actions,.case-actions .inline { width:100%; } .case-actions .inline { align-items:end; margin:0; } .case-actions .inline label { flex:1 1 150px; } .case-actions .inline select { width:100%; } .summary-hint { font-size:12px; } .case-section__body dl { grid-template-columns:1fr; gap:2px; } .case-section__body dd { margin-bottom:8px; } .file-list > li { align-items:flex-start; } .file-actions { width:100%; margin:2px 0 0; } .file-actions .inline { width:auto; margin:0; } .case-upload-form,.case-message-form { grid-template-columns:1fr; } .case-upload-form button,.case-message-form button { width:100%; } }

/* Falldetail: moderne Case-Ansicht, basiert ausschließlich auf den CI-Tokens. */
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.case-detail-header { display:grid; grid-template-columns:minmax(0,1fr) auto; max-width:1080px; align-items:flex-start; margin:0 auto 24px; padding:24px 28px; border:1px solid var(--acd-border); border-radius:12px; background:var(--acd-white); box-shadow:0 4px 16px rgb(22 22 22 / 5%); }
.case-detail-header h1 { font-size:clamp(28px,3vw,36px); letter-spacing:-.025em; }
.case-hero__title { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.case-hero__meta { display:flex; flex-wrap:wrap; gap:4px 18px; margin:8px 0 0; color:var(--acd-muted); font-size:14px; }
.case-actions { gap:10px; }
.case-status { display:inline-flex; min-height:30px; align-items:center; padding:4px 11px; border-radius:var(--radius-pill); background:var(--acd-ice); color:var(--acd-teal); font-size:13px; font-weight:800; }
.case-status--completed { background:var(--acd-green); color:var(--acd-ink); }
.case-status--not_completed { background:#fff8e6; color:#7a5600; }
.case-status--archived { background:var(--acd-border); color:var(--acd-muted); }
.case-status-form { display:inline-flex; width:auto; max-width:none; align-items:center; gap:6px; margin:0; }
.case-status-form label { margin:0; }
.case-status-form select { width:auto; min-width:145px; min-height:38px; margin:0; padding:6px 28px 6px 9px; font-size:13px; }
.case-status-form button { min-height:38px; padding:7px 12px; font-size:13px; }
.case-section.case-card { max-width:1080px; margin:16px auto; overflow:hidden; border:1px solid var(--acd-border); border-radius:12px; background:var(--acd-white); box-shadow:0 3px 14px rgb(22 22 22 / 4%); }
.case-card summary { min-height:58px; padding:16px 20px; border:0; border-radius:0; background:var(--acd-white); }
.case-card[open] summary { border-bottom:1px solid var(--acd-border); border-radius:0; background:var(--acd-white); }
.case-card summary::before { color:var(--acd-teal); }
.case-card__title { font-size:18px; }
.case-section__body { padding:20px; }
.case-section__body.detail { padding:20px; }
.case-data-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.case-data-grid > div { min-width:0; padding:14px; border:1px solid var(--acd-border); border-radius:8px; background:var(--acd-ice); }
.case-data-grid dt { margin-bottom:4px; font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
.case-data-grid dd { overflow-wrap:anywhere; font-size:15px; }
.case-data-grid__wide { grid-column:span 3; }
.case-section-toolbar { display:flex; align-items:center; justify-content:flex-end; margin-bottom:16px; }
.button-secondary { min-height:36px; padding:6px 14px; border-color:var(--acd-teal); background:var(--acd-white); color:var(--acd-teal); font-size:13px; }
.button-secondary:hover { background:var(--acd-ice); color:var(--acd-teal-dark); }
.file-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:14px; margin:0 0 18px; padding:0; list-style:none; }
.file-category + .file-category { margin-top:24px; }
.file-category__title { margin:0 0 10px; color:var(--acd-teal); font-size:15px; }
.file-gallery > .file-card { display:flex; flex-direction:column; gap:0; min-width:0; margin:0; padding:0; overflow:hidden; border:1px solid var(--acd-border); border-radius:10px; background:var(--acd-white); }
.file-gallery .file-preview { display:flex; flex:0 0 auto; width:100%; height:auto; aspect-ratio:4 / 3; align-items:center; justify-content:center; border:0; border-bottom:1px solid var(--acd-border); border-radius:0; background:var(--acd-ice); }
.file-gallery .file-preview--document { color:var(--acd-teal); font-size:20px; font-weight:800; letter-spacing:.06em; }
.file-gallery .file-info { flex:1 1 auto; width:100%; padding:12px 12px 6px; }
.file-gallery .file-info a { display:block; overflow:hidden; color:var(--acd-ink); font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.file-gallery .file-info p { margin:3px 0 0; color:var(--acd-muted); font-size:13px; }
.file-gallery .file-actions { width:100%; margin:0; padding:6px 12px 12px; }
.file-gallery .file-actions .button,.file-gallery .file-actions .inline button { flex:1; min-height:34px; padding:6px 9px; }
.file-gallery .file-actions .inline { flex:1; }
.button-delete { border-color:var(--acd-border) !important; background:var(--acd-white) !important; color:var(--acd-muted) !important; }
.button-delete:hover { border-color:var(--acd-error) !important; background:#fff3f2 !important; color:var(--acd-error) !important; }
.file-card--empty { display:flex !important; min-height:130px; align-items:center; justify-content:center; color:var(--acd-muted); }
.upload-card { grid-template-columns:minmax(220px,1.5fr) minmax(150px,1fr) minmax(130px,.8fr) auto; padding:18px; border:1px dashed var(--acd-teal); border-radius:10px; background:var(--acd-ice); }
.upload-card button { align-self:end; }
.communication { display:grid; gap:12px; }
.message.message-card { margin:0; padding:16px; border:1px solid var(--acd-border); border-left:4px solid var(--acd-teal); border-radius:10px; background:var(--acd-ice); }
.message.message-card header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.message.message-card strong { display:inline-block; }
.message-kind { display:inline-block; margin-left:8px; color:var(--acd-teal); font-size:12px; font-weight:700; }
.message.message-card p { margin:10px 0 0; }
.message.message-card.internal_note { border-left-color:#b37b00; background:#fff8e6; }
.message.internal_note .message-kind { color:#7a5600; }
.message-compose-card { grid-template-columns:minmax(150px,.65fr) minmax(0,1.8fr) auto; margin-top:8px; padding:18px; border:1px solid var(--acd-border); border-radius:10px; background:var(--acd-white); }
.empty-state { margin:0; padding:16px; border-radius:8px; background:var(--acd-ice); color:var(--acd-muted); }
@media (max-width:900px) { .case-data-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .case-data-grid__wide { grid-column:span 2; } .upload-card,.message-compose-card { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .case-detail-header { grid-template-columns:1fr; padding:20px; } .case-actions { width:100%; justify-content:flex-start; } .case-actions > .button { flex:1 1 auto; } .case-status-form { flex:1 1 100%; } .case-status-form label { flex:1; } .case-status-form select { width:100%; } .case-section__body { padding:16px; } .case-card summary { padding:14px 16px; } .case-data-grid { grid-template-columns:1fr; } .case-data-grid__wide { grid-column:auto; } .file-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .upload-card,.message-compose-card { grid-template-columns:1fr; } .upload-card button,.message-compose-card button { width:100%; } }
@media (max-width:420px) { .file-gallery { grid-template-columns:1fr; } .summary-hint { display:none; } }

/* Visuelle Verfeinerung: ruhige, zeitgemäße Arbeitsoberfläche. */
.case-detail-header { gap:32px; padding:28px 30px; border-color:transparent; border-radius:16px; box-shadow:0 12px 30px rgb(22 22 22 / 6%); }
.eyebrow { color:var(--acd-teal); font-size:11px; letter-spacing:.12em; }
.case-detail-header h1 { font-size:clamp(30px,3.2vw,38px); font-weight:800; }
.case-hero__title { gap:12px; }
.case-hero__meta { gap:6px 20px; font-size:13px; }
.case-hero__meta span + span { padding-left:20px; border-left:1px solid var(--acd-border); }
.case-status { min-height:32px; padding:5px 12px; box-shadow:inset 0 0 0 1px rgb(23 110 127 / 12%); }
.case-actions { gap:8px; }
.case-actions > .button { min-height:40px; }
.case-status-form { padding:3px; border:1px solid var(--acd-border); border-radius:8px; background:var(--acd-white); }
.case-status-form select { min-height:32px; border:0; background:transparent; }
.case-status-form button { min-height:32px; padding:6px 11px; }
.case-section.case-card { margin:20px auto; border-color:rgb(229 234 236 / 88%); border-radius:14px; box-shadow:0 8px 22px rgb(22 22 22 / 4%); }
.case-card summary { min-height:64px; padding:18px 22px; box-shadow:inset 4px 0 0 var(--acd-green); transition:background-color .18s ease; }
.case-card summary:hover { background:var(--acd-ice); }
.case-card[open] summary { background:var(--acd-ice); }
.case-card summary::before { content:"+"; width:24px; height:24px; border:1px solid var(--acd-green); border-radius:50%; background:var(--acd-green); color:var(--acd-ink); font-size:18px; font-weight:400; text-align:center; line-height:21px; }
.case-card[open] summary::before { content:"–"; }
.case-card__title { font-size:19px; letter-spacing:-.01em; }
.summary-hint { padding:4px 9px; border-radius:var(--radius-pill); background:var(--acd-white); font-size:12px; }
.case-section__body { padding:24px; }
.case-data-grid { gap:14px; }
.case-data-grid > div { padding:16px; border-color:transparent; border-radius:10px; }
.case-data-grid dt { color:var(--acd-teal); font-size:11px; font-weight:800; }
.case-data-grid dd { font-size:15px; line-height:1.45; }
.case-section-toolbar { margin-bottom:18px; }
.file-gallery { gap:16px; }
.file-gallery > .file-card { border-color:rgb(229 234 236 / 90%); border-radius:12px; box-shadow:0 2px 8px rgb(22 22 22 / 3%); transition:transform .18s ease, box-shadow .18s ease; }
.file-gallery > .file-card:hover { box-shadow:0 10px 20px rgb(22 22 22 / 8%); transform:translateY(-2px); }
.file-gallery .file-preview { background:var(--acd-ice); }
.file-gallery .file-preview img { transition:transform .25s ease; }
.file-gallery .file-card:hover .file-preview img { transform:scale(1.035); }
.file-gallery .file-info { padding:14px 14px 7px; }
.file-gallery .file-actions { padding:8px 14px 14px; }
.file-gallery .file-actions .button,.file-gallery .file-actions .inline button { min-height:36px; border-radius:8px; }
.upload-card { gap:14px; padding:22px; border-width:1.5px; border-radius:12px; }
.upload-card label:first-of-type { color:var(--acd-teal); }
.message.message-card { padding:18px; border-left-width:3px; border-radius:12px; box-shadow:0 2px 8px rgb(22 22 22 / 2%); }
.message.message-card header { padding-bottom:10px; border-bottom:1px solid rgb(229 234 236 / 80%); }
.message.message-card p { font-size:15px; line-height:1.6; }
.message-kind { padding:2px 7px; border-radius:var(--radius-pill); background:rgb(23 110 127 / 10%); font-size:11px; }
.message.message-card.internal_note .message-kind { background:rgb(225 173 2 / 16%); }
.message-compose-card { gap:14px; padding:20px; border-radius:12px; box-shadow:0 4px 14px rgb(22 22 22 / 3%); }
@media (max-width:620px) { .case-detail-header { gap:18px; padding:22px 20px; } .case-hero__meta span + span { padding-left:0; border-left:0; } .case-card summary { min-height:58px; padding:16px; } .case-section__body { padding:18px 16px; } }

/* Gemeinsame Oberfläche für Listen, Formulare und Verwaltungsseiten. */
body { background:var(--acd-ice); }
main { padding-top:32px; }
main > h1 { margin-bottom:24px; font-size:clamp(30px,3.2vw,38px); letter-spacing:-.025em; }
main > .page-title:not(.case-detail-header) { margin-bottom:24px; padding:22px 26px; border:1px solid rgb(229 234 236 / 90%); border-radius:14px; background:var(--acd-white); box-shadow:0 8px 22px rgb(22 22 22 / 4%); }
main > .page-title:not(.case-detail-header) h1 { font-size:clamp(28px,3vw,36px); letter-spacing:-.025em; }
main > form:not(.filters):not(.inline) { max-width:880px; padding:26px; border:1px solid rgb(229 234 236 / 90%); border-radius:14px; background:var(--acd-white); box-shadow:0 8px 22px rgb(22 22 22 / 4%); }
main > form:not(.filters):not(.inline) > button { margin-top:4px; }
main > .filters { width:100%; max-width:none; justify-content:flex-start; gap:10px; margin:0 0 18px; padding:10px 12px; border:1px solid rgb(229 234 236 / 90%); border-radius:12px; background:var(--acd-white); box-shadow:0 4px 14px rgb(22 22 22 / 3%); }
main > .filters label { flex:0 1 160px; }
main > .filters label:first-child { flex:1 1 260px; }
main > .filters input,main > .filters select,main > .filters button { min-height:38px; padding:6px 9px; }
.filters .filter-checkbox { display:inline-flex; flex:0 0 auto; align-items:center; gap:6px; min-height:38px; white-space:nowrap; }
.filters .filter-checkbox input { width:16px; min-height:16px; margin:0; padding:0; }
main > p { color:var(--acd-muted); }
.table-wrap { border:1px solid rgb(229 234 236 / 90%); border-radius:12px; background:var(--acd-white); box-shadow:0 8px 22px rgb(22 22 22 / 4%); }
table { min-width:680px; }
th,td { padding:15px 16px; }
th { background:var(--acd-teal); color:var(--acd-white); font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
tbody tr { transition:background-color .16s ease; }
tbody tr:hover { background:var(--acd-ice); }
.form-grid { gap:0 18px; }
label { font-size:13px; }
input,select,textarea { border-color:var(--acd-border); }
input:hover,select:hover,textarea:hover { border-color:var(--acd-teal); }
.account-details { max-width:880px; padding:22px; border:1px solid rgb(229 234 236 / 90%); border-radius:14px; background:var(--acd-white); box-shadow:0 8px 22px rgb(22 22 22 / 4%); }
.account-details dt { color:var(--acd-teal); font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
.auth-shell { grid-template-columns:minmax(0,1fr) minmax(380px,440px); width:min(100%,1120px); min-height:620px; margin:0 auto; overflow:hidden; border-radius:16px; background:var(--acd-ice); }
.auth-shell::after { position:absolute; top:50%; right:-230px; bottom:auto; left:auto; display:block; width:800px; height:800px; transform:translateY(-50%); }
.auth-intro { min-height:620px; padding:clamp(44px,6vw,80px) clamp(28px,3vw,48px); }
.auth-intro::before { width:56px; background:var(--acd-green); }
.auth-intro h1 { max-width:620px; font-size:clamp(36px,4.2vw,52px); letter-spacing:-.035em; }
.auth-intro p { max-width:440px; }
.auth-panel { padding:48px 56px; }
.auth { padding:38px; border-color:transparent; border-radius:16px; box-shadow:0 16px 36px rgb(22 22 22 / 8%); transform:none; }
.auth h2 { font-size:28px; }
@media (max-width:760px) { main { padding-top:24px; } main > .page-title:not(.case-detail-header) { padding:20px; } main > form:not(.filters):not(.inline) { padding:20px; } .auth-shell { width:100%; margin:0; border-radius:12px; } .auth-shell::after { top:auto; right:-300px; bottom:-300px; left:auto; width:600px; height:600px; transform:none; } .auth-intro { min-height:0; padding:40px 24px 20px; } .auth-panel { padding:8px 18px 40px; } .auth { padding:28px 24px; } }

/* Admin-Aktionen im Case Hero: feste, kontrollierte Zeilen statt Flex-Umbrüchen. */
.case-detail-header { grid-template-columns:1fr; gap:0; }
.case-actions { display:grid; width:100%; grid-template-columns:1fr; align-content:start; justify-items:end; gap:10px; margin-top:0; }
.case-actions > .button { width:max-content; min-height:36px; padding:6px 13px; justify-self:end; font-size:13px; }
.case-status-form { display:grid; width:100%; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px; }
.case-status-form label { min-width:0; }
.case-status-form select { width:100%; min-width:0; }
@media (max-width:860px) { .case-detail-header { grid-template-columns:1fr; } .case-actions { grid-template-columns:1fr; } .case-actions > .button { width:100%; justify-self:stretch; } }
@media (max-width:420px) { .case-status-form { grid-template-columns:1fr; } .case-status-form button { width:100%; } }

/* Statussteuerung gehört visuell zur Fallnummer; Bearbeiten bleibt separat rechts. */
.case-hero__title .case-status-form { width:auto; grid-template-columns:210px auto; column-gap:10px; padding:0; border:0; background:transparent; }
.case-hero__title .case-status-form select { width:210px; min-width:210px; border:1px solid var(--acd-border); border-radius:8px; background:var(--acd-white); }
.case-actions { align-self:end; }
@media (max-width:860px) { .case-actions { align-self:auto; } }
@media (max-width:520px) { .case-hero__title .case-status-form { width:100%; grid-template-columns:minmax(0,1fr) auto; } .case-hero__title .case-status-form select { width:100%; } }
@media (max-width:420px) { .case-hero__title .case-status-form { grid-template-columns:1fr; } }

.case-hero__title > .button { min-height:32px; padding:6px 11px; font-size:13px; }
.case-detail-header h1 { font-size:clamp(24px,2.4vw,30px); }
@media (max-width:860px) { .case-hero__title > .button { width:100%; } }

@media (max-width:760px) { main > .filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; gap:8px; padding:12px; } main > .filters label { width:auto; } main > .filters label:first-child { grid-column:1 / -1; } main > .filters button { grid-column:1 / -1; width:100%; } }

main.case-detail-page { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); width:min(100%,1800px); align-items:start; gap:20px; }
main.case-detail-page > .case-detail-header { grid-column:1 / -1; max-width:none; width:100%; margin-bottom:0; }
main.case-detail-page > .case-main-column { display:grid; grid-column:1; grid-row:2; gap:20px; min-width:0; }
main.case-detail-page > .case-main-column > .case-section.case-card { width:100%; max-width:none; margin:0; }
main.case-detail-page > .case-communication { grid-column:2; grid-row:2; align-self:start; width:100%; max-width:none; margin:0; }
@media (max-width:760px) { main.case-detail-page { grid-template-columns:1fr; } main.case-detail-page > .case-main-column,main.case-detail-page > .case-communication { grid-column:auto; grid-row:auto; } }
@media (min-width:761px) { .message-compose-card { grid-template-columns:minmax(0,1fr) 150px; grid-template-rows:auto 1fr; } .message-compose-card > .message-type-field { grid-column:2; grid-row:1; } .message-compose-card > label:not(.message-type-field) { grid-column:1; grid-row:1 / span 2; } .message-compose-card > button { grid-column:2; grid-row:2; align-self:end; } }
@media (min-width:761px) { .case-communication { display:flex; flex-direction:column; } .case-communication > .communication { display:flex; flex:1; flex-direction:column; } .case-communication .message-compose-card { flex:1; min-height:180px; } .message-compose-card > label:not(.message-type-field) { display:flex; flex-direction:column; align-self:stretch; } .message-compose-card > label:not(.message-type-field) textarea { flex:1; min-height:0; } }

tbody tr.case-row--macular { background:#fff8e6; }
tbody tr.case-row--macular:hover { background:#fff1cc; }
tbody tr.case-row--cataract { background:#fff1f0; }
tbody tr.case-row--cataract:hover { background:#ffe1de; }
.case-suspicion { display:inline-flex; padding:3px 8px; border-radius:var(--radius-pill); background:#ffe4a3; color:#705000; font-size:12px; font-weight:800; }
.case-create-upload { display:grid; grid-template-columns:minmax(220px,1.5fr) minmax(150px,1fr) minmax(130px,.8fr); gap:14px; align-items:end; margin:4px 0 18px; }
.case-create-upload label { margin:0; }
.chat-group { display:grid; gap:12px; }
.chat-group + .chat-group { padding-top:20px; border-top:1px solid var(--acd-border); }
.chat-group h3 { margin:0; color:var(--acd-teal); font-size:15px; }
.chat-group--internal h3 { color:#7a5600; }
.chat-group .message-card { width:100%; max-width:90%; }
.chat-group .message-card--other { justify-self:start; }
.chat-group .message-card--own { justify-self:end; }
.message-card__actions { display:flex; align-items:center; gap:8px; }
.message-delete-form { display:inline-flex; width:auto; margin:0; }
.message-delete { display:inline-flex; width:30px; min-height:30px; align-items:center; justify-content:center; padding:5px; border-color:transparent; background:transparent; color:var(--acd-muted); }
.message-delete:hover { border-color:var(--acd-error); background:#fff3f2; color:var(--acd-error); }
.message-delete svg { width:16px; height:16px; }
.chat-group .message-compose-card { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto; }
.chat-group .message-compose-card > label { grid-column:1; grid-row:1; width:100%; }
.chat-group .message-compose-card > label textarea { width:100%; min-height:120px; }
.chat-group .message-compose-card > button { grid-column:1; grid-row:2; justify-self:start; width:auto; }
.required-marker { margin-left:3px; color:var(--acd-error); font-weight:800; }
.form-required-hint { margin:0; color:var(--acd-muted); font-size:13px; }
@media (max-width:620px) { .case-create-upload { grid-template-columns:1fr; } }
