:root{--navy:#053554;--logo-blue:#2169a7;--logo-cyan:#52bed1;--paper:#f5f7f6;--ink:#142830;--muted:#526b77;--line:#d7deda;--danger:#a83232;--focus:#087ea4;color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Segoe UI",Aptos,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper)}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 45%,transparent);outline-offset:2px}::selection{background:#bcebf2;color:#07354f}
.viewer{position:fixed;inset:0;overflow:hidden;background:#e8eef2}.viewer-stage{position:absolute;inset:0;touch-action:none;cursor:grab}.viewer-stage:active{cursor:grabbing}.viewer-stage canvas{display:block;width:100%;height:100%}.viewer-brand{position:fixed;z-index:2;left:clamp(16px,4vw,44px);top:calc(18px + env(safe-area-inset-top));display:flex;align-items:center;gap:14px;color:var(--navy);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;pointer-events:none}.viewer-brand img{width:110px;height:auto}.viewer-brand span{border-left:1px solid #aebbb7;padding-left:14px}.viewer-status{position:fixed;z-index:5;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;padding:clamp(24px,5vw,48px);color:var(--muted);font-weight:600;background:#edf5f7}
.viewer-status::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(82,190,209,.12),transparent 42%)}
.viewer-status>*{position:relative}
.viewer-status-logo{width:min(390px,84vw);height:auto;max-height:174px;object-fit:contain;margin-bottom:18px}
.viewer-status strong{max-width:22ch;color:var(--navy);font-size:clamp(22px,4vw,30px);line-height:1.15;letter-spacing:-.025em}
.viewer-status span{font-size:14px;line-height:1.45}.viewer-status .viewer-welcome-line{margin-bottom:13px;color:#2c617d;font-size:clamp(15px,2vw,18px);font-weight:650}
.viewer-status[hidden]{display:none}
.viewer-status.is-error strong{color:var(--danger)}
.viewer-status.is-error .viewer-status-logo{animation:none}
.viewer-status.is-error .viewer-progress,.viewer-status.is-error .viewer-tip{display:none}
.viewer-status.is-error .viewer-welcome-line{display:none}
.viewer-tip{min-height:19px;max-width:42ch;margin:4px 0 0;font-size:13px;line-height:1.45;font-weight:600;color:#617c88;opacity:0;transition:opacity .35s ease}
.viewer-tip.is-shown{opacity:1}
.viewer-progress{position:relative;width:min(340px,76vw);height:8px;margin-top:14px;overflow:hidden;border-radius:999px;background:#cddfe5;box-shadow:inset 0 1px 2px rgba(5,53,84,.12)}
.viewer-progress i{display:block;width:8%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--navy) 0%,var(--logo-blue) 56%,var(--logo-cyan) 100%);transition:width .25s ease-out}
.viewer-progress::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.48) 50%,transparent 65%);background-size:220% 100%;animation:scanShimmer 1.8s linear infinite}
.viewer-status-actions{display:flex;gap:10px;margin-top:14px}
.viewer-status-actions a{display:flex;align-items:center;justify-content:center;min-width:112px;min-height:44px;padding:0 18px;border-radius:10px;font-size:14px;font-weight:800;text-decoration:none}
.viewer-status-actions .viewer-text{background:var(--navy);color:#fff}
.viewer-status-actions .viewer-text:hover{background:#0b496f}
.viewer-status-actions .viewer-call{border:1px solid #a9c7cf;color:#075a6a;background:#eaf5f6}
.viewer-status-actions .viewer-call:hover{background:#dceff1}
@keyframes scanShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.viewer-progress::after{animation:none}}.viewer-help{position:fixed;z-index:2;bottom:calc(18px + env(safe-area-inset-bottom));left:16px;right:16px;display:flex;justify-content:center;gap:24px;flex-wrap:wrap;color:#607078;font-size:13px;font-weight:600;pointer-events:none}
.staff{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:34px 0 70px}.staff-header{display:flex;align-items:flex-start;gap:28px;padding-bottom:30px;border-bottom:1px solid var(--line)}.staff-header .back{color:var(--navy);font-weight:700;text-decoration-thickness:1px;text-underline-offset:4px;margin-top:8px;white-space:nowrap}.staff h1,.staff h2{margin:0;color:var(--navy);letter-spacing:-.025em}.staff h1{font-size:clamp(30px,4vw,46px)}.staff h2{font-size:22px}.staff p{color:var(--muted);line-height:1.55;margin:7px 0 0}.create-panel{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr);gap:42px;margin-top:34px;padding:30px;border-radius:16px;background:#fff;box-shadow:0 14px 38px rgba(20,40,48,.09)}.create-intro{padding-right:8px}.viewer-steps{display:grid;gap:16px;margin:26px 0 0;padding:0;list-style:none}.viewer-steps li{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start}.viewer-steps li>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e1f1f4;color:var(--navy);font-weight:800}.viewer-steps strong,.viewer-steps small{display:block}.viewer-steps strong{color:var(--navy);font-size:14px}.viewer-steps small{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.45}#shareForm{display:grid;grid-template-columns:1fr 150px;gap:18px;align-content:start}label span{display:block;color:var(--navy);font-weight:750;margin-bottom:8px}input,select{width:100%;min-height:46px;border:1px solid #acb9b4;border-radius:10px;background:#fff;color:var(--ink);padding:10px 12px}.file-control{grid-column:1/-1}.file-control input{padding:8px}.file-control small{display:block;margin-top:6px;color:var(--muted)}#createButton{align-self:end;min-height:46px;border:0;border-radius:10px;background:var(--navy);color:#fff;font-weight:750;padding:0 20px;box-shadow:0 8px 22px rgba(5,53,84,.17)}#createButton:hover{background:#0b486e}#createButton:disabled{cursor:wait;opacity:.55}.staff-status{grid-column:2;min-height:24px;color:var(--muted);font-weight:650}.staff-status.is-error{color:var(--danger)}.created-link{grid-column:1/-1;margin-top:18px;background:#e4f3f5;border-radius:14px;padding:20px}.created-link>strong{display:block;color:var(--navy);font-size:18px;letter-spacing:-.015em}.created-link>p{margin:4px 0 14px;color:#365b69;font-size:13px}.created-link>div{display:flex;gap:10px}.created-link input{font-weight:650;color:var(--navy);border-color:#88aeb8}.created-link button,.share-list button{border:1px solid #88aeb8;border-radius:9px;background:#fff;color:var(--navy);font-weight:750;padding:9px 14px}.created-link button{min-width:112px;background:var(--navy);border-color:var(--navy);color:#fff}.created-link button:hover{background:#0b486e}.created-link .created-link-note{margin:10px 0 0;color:var(--muted);font-size:12px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.share-list{padding-top:42px}.share-list>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.share-row{display:grid;grid-template-columns:1.05fr .95fr .55fr .55fr auto;align-items:center;gap:18px;padding:17px 4px;border-top:1px solid var(--line)}.share-row strong{display:block;color:var(--navy)}.share-row small{color:var(--muted)}.share-row .state{font-weight:700;text-transform:capitalize}.share-row .state.active{color:#23743a}.share-row .state.revoked,.share-row .state.expired{color:var(--danger)}.share-row-actions{display:flex;gap:8px}.share-row .revoke{color:var(--danger)}.share-row .copy{color:var(--navy)}.empty{padding:24px 0}
/* Every Recent links row owns its own grid. Reserve the same action track even
   when a revoked/expired row has no buttons so all metadata columns align. */
@media(min-width:761px){.share-row{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) minmax(112px,.55fr) minmax(88px,.55fr) 166px}.share-row-actions{justify-content:flex-end;min-width:0}}
@media(max-width:760px){.viewer-brand img{width:88px}.viewer-help{gap:10px 18px;font-size:11px}.staff{width:min(100% - 24px,1120px);padding-top:20px}.staff-header{display:block}.staff-header .back{display:inline-block;margin:0 0 20px}.create-panel{grid-template-columns:1fr;gap:24px}.staff-status{grid-column:1}.share-row{grid-template-columns:1fr auto}.share-row>:nth-child(2),.share-row>:nth-child(3),.share-row>:nth-child(4){grid-column:1}.share-row>:last-child{grid-column:2;grid-row:1}.created-link>div{display:block}.created-link button{width:100%;margin-top:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.viewer{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.viewer-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:translateY(-7vh);user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;pointer-events:none}
.auto-send-control{display:flex;align-items:flex-start;gap:11px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fbfb}.auto-send-control input{flex:0 0 auto;width:20px;min-height:20px;margin:2px 0 0;padding:0;accent-color:var(--navy)}.auto-send-control>span{margin:0}.auto-send-control strong,.auto-send-control small{display:block}.auto-send-control small{margin-top:4px;color:var(--muted);font-weight:500;line-height:1.4}
.viewer-mode{position:fixed;z-index:4;top:calc(22px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;padding:4px;border:1px solid #adc2cb;border-radius:12px;background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(20,40,48,.14)}.viewer-mode button{min-width:76px;min-height:38px;border:0;border-radius:8px;background:transparent;color:#42606d;font-weight:750}.viewer-mode button:hover{background:#e5f0f3;color:var(--navy)}.viewer-mode button[aria-pressed="true"],.viewer-mode button.is-active{background:var(--navy);color:#fff;box-shadow:0 3px 9px rgba(20,40,48,.2)}
.viewer-mode[hidden]{display:none}
.viewer-brand{left:clamp(14px,3vw,32px);top:calc(12px + env(safe-area-inset-top));padding:0;background:transparent;box-shadow:none}
.viewer-brand img{display:block;width:clamp(280px,28vw,390px);max-height:128px;object-fit:contain}
.viewer-stage{bottom:96px}.viewer-followup{position:fixed;z-index:4;bottom:calc(16px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(720px,calc(100% - 48px));min-height:66px;padding:10px 12px 10px 18px;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(20,40,48,.14);color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:18px}
.viewer-followup strong{display:block;color:var(--navy);font-size:16px;letter-spacing:-.02em}.viewer-followup span{display:block;margin-top:2px;color:#526871;font-size:12px;line-height:1.35}.viewer-actions{display:grid;grid-template-columns:112px 112px;gap:8px;flex:0 0 auto}.viewer-actions a{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;font-size:14px;font-weight:800;text-decoration:none}.viewer-text{background:var(--navy);color:#fff}.viewer-text:hover{background:#0b496f}.viewer-call{border:1px solid #a9c7cf;color:#075a6a;background:#eaf5f6}.viewer-call:hover{background:#dceff1}.viewer-actions a:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 45%,transparent);outline-offset:2px}
.viewer-help{justify-content:center}
@media(max-width:760px){.viewer-brand{top:calc(10px + env(safe-area-inset-top))}.viewer-brand img{width:230px;max-height:88px}.viewer-mode{top:calc(12px + env(safe-area-inset-top));left:auto;right:12px;transform:none}.viewer-mode button{min-width:58px;min-height:40px}.viewer-stage{bottom:104px}.viewer-frame{transform:translateY(-10vh)}.viewer-followup{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));transform:none;width:auto;min-height:0;padding:11px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.viewer-followup strong{font-size:14px}.viewer-followup span{max-width:29ch;font-size:11px}.viewer-actions{grid-template-columns:82px 82px;gap:6px}.viewer-actions a{min-height:42px;font-size:12px}}
@media(max-width:430px){.viewer-stage{bottom:132px}.viewer-followup{grid-template-columns:1fr}.viewer-followup>div:first-child{text-align:center}.viewer-followup span{max-width:none}.viewer-actions{grid-template-columns:1fr 1fr}.viewer-brand img{width:190px;max-height:74px}.viewer-mode button{min-width:52px}}
.viewer::before,.viewer::after{content:"";position:absolute;z-index:0;top:86px;bottom:104px;width:clamp(120px,15vw,210px);background-image:url("icare-logo-watermark.png");background-repeat:repeat-y;background-position:center top;background-size:112px 36px;pointer-events:none}.viewer::before{left:clamp(10px,3vw,42px)}.viewer::after{right:clamp(10px,3vw,42px)}.viewer-stage{z-index:1}.viewer-frame{transform:translateY(2vh)}
@media(max-width:760px){.viewer::before,.viewer::after{top:78px;bottom:112px;width:92px;background-size:82px 26px}.viewer::before{left:8px}.viewer::after{right:8px}}
@media(max-width:760px){.viewer-mode{left:50%;right:auto;transform:translateX(-50%)}.viewer-mode button{min-width:68px}.viewer-frame{transform:translateY(2vh)}}
.viewer::before,.viewer::after{z-index:2;width:clamp(130px,15vw,220px);background-size:128px 41px}
@media(max-width:760px){.viewer::before,.viewer::after{width:110px;background-size:104px 33px}}
.viewer::before{display:block;position:absolute;inset:0 0 96px;z-index:0;width:auto;background-image:url("icare-watermark-centered-dense.png?v=4");background-repeat:repeat;background-position:var(--wm-pos,center center);background-size:var(--wm-size,240px 120px);opacity:.6;transform:none}.viewer::after{display:none}.viewer-stage{z-index:1}
@media(max-width:760px){.viewer::before{inset:0 0 104px;width:auto;opacity:.6}}
@media(max-width:430px){.viewer::before{inset:0 0 132px}}
.scan-patient{padding:14px;border-radius:12px;background:#f1f5f6}.scan-patient>span{display:block;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.scan-patient strong{display:block;margin-top:4px;color:var(--navy)}
.patient-search{position:relative}.patient-search>label>span{margin-bottom:8px}.patient-search-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.patient-search-input button{min-width:92px;border:1px solid var(--navy);border-radius:10px;background:#fff;color:var(--navy);font-weight:750;padding:0 16px}.patient-search-input button:hover{background:#edf5f7}.patient-search-input button:disabled{cursor:wait;opacity:.55}.patient-results{display:grid;margin-top:8px;border:1px solid #b9c8c3;border-radius:12px;background:#fff;overflow:hidden}.patient-results[hidden]{display:none}.patient-results p{margin:0;padding:14px;color:var(--muted);font-size:13px}.patient-results p.is-error{color:var(--danger)}.patient-results button{display:block;width:100%;min-height:58px;padding:10px 12px;border:0;border-top:1px solid #e0e6e3;background:#fff;color:var(--ink);text-align:left}.patient-results button:first-child{border-top:0}.patient-results button:hover,.patient-results button:focus-visible{background:#eef6f7}.patient-results strong,.patient-results small{display:block}.patient-results strong{color:var(--navy)}.patient-results small{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}
.render-progress{grid-column:1/-1;padding:16px 18px;border-radius:14px;background:#eef5f6}.render-progress-head{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--navy)}.render-progress-head span{font-variant-numeric:tabular-nums;font-weight:800}.render-progress progress{display:block;width:100%;height:12px;margin:11px 0 8px;border:0;border-radius:8px;overflow:hidden;background:#d3e1e4;accent-color:var(--navy)}.render-progress progress::-webkit-progress-bar{background:#d3e1e4}.render-progress progress::-webkit-progress-value{border-radius:8px;background:var(--navy)}.render-progress progress::-moz-progress-bar{border-radius:8px;background:var(--navy)}.render-progress small{color:var(--muted);font-size:13px;line-height:1.4}
.job-row{display:grid;grid-template-columns:1.1fr 1fr 90px;gap:18px;align-items:center;padding:15px 4px;border-top:1px solid var(--line)}.job-row strong,.job-row small{display:block}.job-row strong{color:var(--navy)}.job-row small{margin-top:3px;color:var(--muted)}.job-row progress{width:100%;height:9px;accent-color:var(--navy)}.job-row .state{text-align:right;font-weight:750;text-transform:capitalize}.job-row .state.complete{color:#23743a}.job-row .state.failed{color:var(--danger)}
.list-actions{display:flex;gap:8px}.list-actions button{min-height:44px}
@media(max-width:760px){.job-row{grid-template-columns:1fr auto}.job-row>div:nth-child(2){grid-column:1/-1}.job-row .state{grid-column:2;grid-row:1}}
