/* 3.2: scoped auth palette and responsive, accessible customer workspaces. */
.auth-page{min-height:100svh;background:#f4f8fc;color:#172c40;color-scheme:light;display:grid;grid-template-columns:1fr 1fr}
.auth-page .auth-visual{background:linear-gradient(145deg,#e7f3fc,#ecfaf5);color:#15334c;padding:clamp(24px,5vw,76px);min-height:100svh;display:flex;flex-direction:column;justify-content:space-between}
.auth-page .auth-visual h1{font-size:clamp(30px,3.7vw,52px);line-height:1.12;color:#15334c;max-width:580px}
.auth-page .auth-visual p,.auth-page .auth-visual small{color:#405e70;max-width:570px}
.auth-page .auth-logo{width:180px;max-height:180px;object-fit:contain;filter:none}
.auth-page .eyebrow{color:#087f78}
.auth-page .auth-panel{background:#fff;color:#172c40;padding:clamp(24px,5vw,72px);display:flex;flex-direction:column;justify-content:center}
.auth-page .card{background:white;color:#172c40;border:0;box-shadow:none;padding:0}
.auth-page h1,.auth-page label,.auth-page h2{color:#172c40}
.auth-page p,.auth-page .help{color:#4e6375}
.auth-page input,.auth-page select{background:#f7fafc;border:1px solid #b6c8d7;color:#172c40;min-height:48px}
.auth-page input::placeholder{color:#637b8c}
.auth-page a{color:#066e68}.auth-page .btn-primary{background:#087f78;color:white;border-color:#087f78;min-height:48px}
.auth-page .btn-secondary{background:#edf4f9;color:#23485d;border-color:#baceda}
.auth-page .auth-language{margin-bottom:32px;align-self:flex-end}
.case-page{max-width:1200px;margin:auto}.case-page .page-heading{margin-bottom:18px}.case-page .page-heading h1{font-size:clamp(23px,3vw,32px)}
.case-page .case-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:20px;align-items:start}
.case-page .case-main,.case-page .case-side{display:grid;gap:20px;min-width:0}
.case-page .card{padding:22px}.case-steps{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:0;margin:24px 0;gap:8px}
.case-steps li{display:flex;flex-direction:column;gap:8px;position:relative;min-width:0;font-size:12px;color:var(--muted,#60758a)}
.case-steps li>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--soft,#f0f4f8);border:1px solid var(--line,#c8d5df);font-size:14px}
.case-steps li strong{font-size:12px;line-height:1.4}.case-steps li.current{color:var(--ink,#182f43)}.case-steps li.current>span,.case-steps li.done>span{background:#087f78;color:#fff;border-color:#087f78}.case-steps li.current>span{box-shadow:0 0 0 4px #087f781c}
.case-safe-message{padding:14px;background:var(--soft,#f3f7fa);border-radius:10px;line-height:1.6}.case-progress .compact-details{margin-top:20px;grid-template-columns:repeat(2,minmax(0,1fr))}
.case-page .chat-log{height:390px;min-height:180px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.case-page .message-thread{margin:0}.case-page .chat-composer{align-items:end}.case-page .chat-composer textarea{min-height:48px;max-height:160px}.case-page .chat-composer button{min-height:48px;min-width:48px}.case-page .message-body{overflow-wrap:anywhere;white-space:pre-wrap}
.case-live-status{display:flex;gap:10px;align-items:center;font-size:13px;flex-wrap:wrap;margin-bottom:18px}.case-live-status button{font-size:13px}.case-page .timeline{max-height:420px;overflow:auto}.case-page .timeline-item{overflow-wrap:anywhere}
.appointment-row{flex-wrap:wrap;gap:14px}.appointment-row .btn{margin-left:auto}.appointment-detail{max-width:800px;margin:auto}.appointment-detail .form-grid{margin-top:24px}.appointment-detail .danger-zone{margin-top:28px;padding-top:22px;border-top:1px solid var(--line,#d9e2ea)}.appointment-detail textarea{min-height:90px}
.ticket-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.case-subject{overflow-wrap:anywhere}.case-subject summary{cursor:pointer;min-height:44px}.case-subject dl{display:grid;gap:12px}.case-subject dt{font-size:12px;color:var(--muted,#60758a)}.case-subject dd{margin:3px 0}
@media(max-width:1000px){.case-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.case-page .case-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.auth-page{grid-template-columns:1fr}.auth-page .auth-visual{min-height:auto;padding:24px;gap:18px}.auth-page .auth-logo{width:115px;max-height:105px}.auth-page .auth-visual h1{font-size:28px;margin:0}.auth-page .auth-visual p{margin:12px 0 0}.auth-page .auth-visual small{display:none}.auth-page .auth-panel{padding:24px}.auth-page .auth-language{margin-bottom:22px}.case-page .card{padding:16px}.case-page .page-heading .actions{width:100%}.case-page .chat-log{height:340px}.appointment-row .row-copy{flex-basis:60%}.appointment-row .btn{margin-left:0;width:100%}.case-progress .compact-details{grid-template-columns:1fr}.case-page .section-heading{flex-wrap:wrap;gap:10px}}
@media(prefers-reduced-motion:reduce){.case-page *,.auth-page *{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
