
body{margin:0;overflow-x:hidden;background:linear-gradient(180deg,#f8f5ef,#efe9dd);color:#182127;font-family:"Manrope","Segoe UI",sans-serif}
a{text-decoration:none;color:inherit}
.portal-shell{padding:20px}
.portal-header,.portal-main{width:min(1180px,100%);margin:0 auto}
.portal-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;background:rgba(255,253,247,.88);border:1px solid rgba(24,33,39,.1);border-radius:999px;backdrop-filter:blur(18px);box-shadow:0 18px 40px rgba(24,33,39,.08);position:sticky;top:14px}
.portal-brand{display:inline-flex;align-items:center;gap:14px;min-width:0}
.portal-brand strong,.portal-brand small{display:block;overflow-wrap:anywhere}
.portal-brand small,.portal-meta,.muted{color:#5a6670}
.portal-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#1d6b63,#124b48);color:#fff;font-weight:800}
.portal-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.portal-meta a,.portal-meta .inline-form button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:999px;background:rgba(18,75,72,.06);color:#124b48;font-weight:800}
.portal-meta-text{font-weight:700}
.portal-main{padding:28px 0 40px}
.hero-card,.card,.narrow-card{background:rgba(255,253,247,.9);border:1px solid rgba(24,33,39,.1);border-radius:28px;box-shadow:0 20px 48px rgba(24,33,39,.08)}
.hero-card{padding:34px;display:grid;grid-template-columns:1.2fr .8fr;gap:22px;margin-bottom:24px}
.compact-hero{grid-template-columns:1fr}
.hero-side,.mini-stack,.grid-two,.grid-three,.tools-grid,.support-grid,.stat-panel,.ticket-grid,.news-grid{display:grid;gap:18px}
.grid-two{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px;margin-bottom:32px}
.grid-three{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:48px;margin-bottom:32px}
.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px;margin-bottom:32px}
.support-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:48px;margin-bottom:32px}
.dashboard-grid{align-items:start}
.card{padding:26px;margin-bottom:32px}
.narrow-card{padding:30px;width:min(720px,100%);margin:0 auto 24px}
.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;color:#1d6b63}
.section-kicker{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:800;color:#1d6b63}
h1,h2,h3{margin:0 0 12px;font-family:"Fraunces",Georgia,serif;line-height:1.06;hyphens:auto;overflow-wrap:break-word}
h1{font-size:clamp(2.5rem,6vw,4.5rem)}
h2{font-size:clamp(1.6rem,2.4vw,2.5rem)}
p,li,dt,dd,label,th,td,button,input,select,textarea{font-size:1rem;line-height:1.6}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-grid .full{grid-column:1 / -1}
label{display:grid;gap:8px;font-weight:700}
input,select,textarea,button{font:inherit}
input,select,textarea{width:100%;min-width:0;box-sizing:border-box;padding:12px 14px;border-radius:16px;border:1px solid rgba(24,33,39,.14);background:#fff}
button,.button-link{display:inline-flex;justify-content:center;align-items:center;min-height:46px;width:max-content;max-width:100%;padding:0 18px;border:none;border-radius:999px;background:#124b48;color:#fff;font-weight:800;cursor:pointer}
.button-secondary{background:#e8efeb;color:#124b48}
.button-danger{background:#9f3a33}
.mini-card,.news-card{padding:18px;border:1px solid rgba(24,33,39,.1);border-radius:20px;background:#fffdf8}
.browser-notify-card{display:grid;gap:10px;margin-top:18px;padding:16px;border:1px solid rgba(29,107,99,.16);border-radius:20px;background:rgba(29,107,99,.06)}
.browser-notify-card strong{font-size:1.05rem}
.stat-panel{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-content:start;gap:14px}
.stat-panel div{display:grid;gap:10px;align-content:space-between;min-height:140px;padding:20px;border-radius:24px;background:linear-gradient(180deg,rgba(18,75,72,.08),rgba(18,75,72,.14));border:1px solid rgba(18,75,72,.1)}
.stat-panel span{display:block;max-width:10ch;color:#4f5e67;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:800;line-height:1.25}
.stat-panel strong{display:block;font-size:clamp(2rem,4vw,3rem);line-height:1;font-weight:800;color:#10262b}
.alert{margin-bottom:20px;padding:14px 16px;border-radius:18px;border:1px solid rgba(24,33,39,.1);background:#f4f0e8}
.alert.error{background:#f9e6e3;border-color:#ddaea8}
.alert.success{background:#e6f3ef;border-color:#9dc8ba}
.text-list{margin:0;padding-left:18px}
.detail-list{margin:0;display:grid;gap:12px}
.detail-list div{display:grid;grid-template-columns:160px 1fr;gap:12px;padding:12px 0;border-top:1px solid rgba(24,33,39,.08)}
.detail-list div:first-child{border-top:none}
.table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:12px;border-bottom:1px solid rgba(24,33,39,.08);vertical-align:top}
.inline-form{display:inline-flex;gap:8px;align-items:center}
.inline-form button{min-height:38px}
.ticket-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
.ticket-grid.highlight .ticket-chip{background:#124b48;color:#fff}
.ticket-chip{display:grid;place-items:center;padding:18px;border-radius:20px;background:#eef3ef;font-weight:800;font-size:1.2rem}
.news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.news-category{display:inline-flex;margin-bottom:10px;padding:6px 10px;border-radius:999px;background:rgba(29,107,99,.08);color:#124b48;font-weight:800;font-size:.82rem}
.large-type input,.large-type select,.large-type button{font-size:1.15rem;min-height:56px}
.dashboard-card{display:grid;align-content:start;gap:16px;height:100%}
.dashboard-card h2{font-size:clamp(1.9rem,2vw,2.7rem);max-width:11ch;text-wrap:balance}
.flow-card h2{max-width:none}
.section-head-inline{display:flex;justify-content:space-between;gap:18px;align-items:end;flex-wrap:wrap}
.patient-stack{display:grid;gap:14px}
.patient-card{display:grid;gap:14px;padding:18px;border:1px solid rgba(24,33,39,.1);border-radius:22px;background:#fffdf8}
.patient-card h3{margin:0;font-size:1.35rem}
.patient-card-top{display:flex;justify-content:space-between;gap:12px;align-items:start}
.patient-ticket-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.patient-ticket{font-size:1.2rem}
.status-pill,.topic-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.04em}
.status-pill.waiting{background:rgba(215,155,84,.16);color:#8e5a18}
.status-pill.pending{background:rgba(83,96,106,.12);color:#41515c}
.status-pill.called{background:rgba(29,107,99,.12);color:#124b48}
.status-pill.done{background:rgba(29,107,99,.08);color:#124b48}
.status-pill.cancelled{background:rgba(159,58,51,.12);color:#8c302a}
.topic-pill{background:#eef3ef;color:#35555a}
.topic-pill.urgent{background:rgba(159,58,51,.12);color:#8c302a}
.topic-pill.soft{background:rgba(29,107,99,.08);color:#124b48}
.patient-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.patient-meta div{padding:10px 12px;border-radius:16px;background:#f5f2ea}
.patient-meta dt{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5a6670}
.patient-meta dd{margin:4px 0 0;color:#182127;font-weight:700}
.patient-note{margin:0;padding:12px 14px;border-radius:16px;background:rgba(18,75,72,.05);color:#35555a}
.review-card{border-color:rgba(83,96,106,.14)}
.match-list{display:grid;gap:10px}
.match-row{display:grid;grid-template-columns:1.2fr .9fr .8fr;gap:12px;padding:10px 12px;border-radius:16px;background:#f5f2ea}
.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.quick-actions form{display:grid}
.quick-actions button{width:100%}
.divider{height:1px;background:rgba(24,33,39,.08);margin:4px 0}
.callback-list{display:grid;gap:10px}
.callback-row{display:grid;grid-template-columns:90px 1.1fr 1fr;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:#f5f2ea}
.action-card p{max-width:32ch}
.action-stack{display:grid;justify-items:start;gap:12px}
.qr-inline-card,.qr-poster{display:grid;place-items:center;padding:18px;border-radius:24px;background:#fff;border:1px solid rgba(24,33,39,.08)}
.qr-inline-card img{width:min(100%,210px);height:auto}
.qr-poster-card{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:22px;align-items:center}
.qr-poster img{width:min(100%,320px);height:auto}
.qr-meta{display:grid;gap:14px}
@media (max-width:1180px){.grid-three{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
@media (max-width:980px){.hero-card,.grid-two,.stat-panel,.news-grid,.qr-poster-card,.patient-meta{grid-template-columns:1fr}.portal-header{border-radius:28px;align-items:flex-start;flex-direction:column;padding:14px}.portal-brand,.portal-meta{width:100%}.portal-meta{gap:10px}.inline-form{flex-direction:column;align-items:stretch}.dashboard-card h2{max-width:none}.patient-card-top,.section-head-inline,.callback-row,.match-row{grid-template-columns:1fr;display:grid}}
@media (max-width:980px){.tools-grid,.support-grid{grid-template-columns:1fr}}
@media (max-width:760px){.table-wrap{overflow:visible}table,thead,tbody,tr,td{display:block;width:100%}thead{display:none}tbody{display:grid;gap:14px}tr{display:grid;gap:10px;padding:16px;border:1px solid rgba(24,33,39,.1);border-radius:20px;background:#fffdf8;box-shadow:0 12px 28px rgba(24,33,39,.06)}td{display:grid;gap:4px;padding:0;border:none}td::before{content:attr(data-label);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5a6670}tr.empty-row td::before{content:""}td[data-label="Aktion"]{padding-top:6px}.inline-form select,.inline-form button{width:100%}.quick-actions{grid-template-columns:1fr}}
@media (max-width:640px){button,.button-link{width:100%}.card,.narrow-card,.hero-card{padding:22px}.portal-shell{padding:14px}.portal-main{padding:20px 0 34px}.portal-meta{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;font-size:.94rem}.portal-meta-text{grid-column:1 / -1}.portal-mark{width:42px;height:42px;border-radius:14px}.portal-brand strong{font-size:.98rem;line-height:1.15}.portal-brand small{font-size:.82rem;line-height:1.35}h1{font-size:clamp(2rem,10vw,3rem);line-height:1}.stat-panel div{min-height:112px;padding:18px}.stat-panel strong{font-size:clamp(1.6rem,9vw,2.3rem)}}
