/* Frozen approved mockup: app-only. Live data replaces illustrative mockup values. */
#dispatchApp.phone323[data-phone-theme=dark]{--ws-bg:#001824;--ws-panel:#021c2b;--ws-raised:#052538;--ws-line:#286884;--ws-text:#e7efff;--ws-muted:#adc9ed;--ws-accent:#be80ff}
#dispatchApp.phone323.svx-phone-app.phone-talkgroups-layout.show-talkgroups{--shell-head:70px;--mobile-nav:calc(70px + env(safe-area-inset-bottom,0px));grid-template-rows:70px 0 minmax(0,1fr) 0 var(--mobile-nav)!important;background:var(--ws-bg)}
#dispatchApp.phone323 .phone323-header{height:70px;padding:8px;grid-template-columns:50px minmax(0,1fr) 46px 46px;gap:6px;background:var(--ws-bg);border:0;align-items:center}
#dispatchApp.phone323 .phone323-logo{width:50px;height:50px;object-fit:contain;border-radius:50%;justify-self:center}
#dispatchApp.phone323 .phone323-watch{height:50px;padding:8px 39px 8px 6px;display:flex;flex-direction:column;justify-content:center;border-color:#286884;overflow:hidden}
#dispatchApp.phone323 .phone323-watch span{font:750 11px/1.2 system-ui;letter-spacing:0}
#dispatchApp.phone323 .phone323-watch small{font:600 9px/1.2 system-ui;color:var(--health);max-width:100%}
#dispatchApp.phone323 .phone323-watch i{position:absolute;left:auto;right:6px;top:12px;bottom:auto;width:35px;height:25px;display:flex;align-items:center;gap:1px;background:none;opacity:.5}
#dispatchApp.phone323 .phone323-watch i b{position:static;flex:1;min-width:1px;height:3px;max-height:25px;transition:height .2s;background:var(--health);box-shadow:0 0 4px var(--health)}
#dispatchApp.phone323 .phone323-watch span,#dispatchApp.phone323 .phone323-watch small{z-index:1}
#dispatchApp.phone323 .phone323-header button{height:50px;min-height:44px;padding:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-color:#3484a5;background:var(--ws-panel)}
#dispatchApp.phone323 .phone323-header button>span{font-size:22px;line-height:22px}
#dispatchApp.phone323 .phone323-header button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2}
#dispatchApp.phone323 .phone323-header button small{font-size:11px;font-weight:650}
#dispatchApp.phone323 .phone323-sheet[open]{top:70px!important}
#dispatchApp.phone323 .svx-phone-ui{grid-template-rows:44px 24px minmax(0,1fr)!important;gap:7px!important}
#dispatchApp.phone323 .phone-toolbar{grid-template-columns:1fr 1fr;gap:6px;padding:0 10px}
#dispatchApp.phone323 [data-phone-more]{display:none}
#dispatchApp.phone323 .phone-toolbar button{font-size:14px;border-color:#286884;background:var(--ws-panel)}
#dispatchApp.phone323 [data-phone-rx][aria-pressed=true]{border-color:#53f77d;background:linear-gradient(120deg,#07451f,#002b23);color:#c9ffdf}
#dispatchApp.phone323 .phone-heading h1{font-size:13px!important;text-transform:uppercase;letter-spacing:.03em}
#dispatchApp.phone323 .phone-heading span{font-size:11px}
#dispatchApp.phone323 .phone-grid{gap:6px;padding:2px}
#dispatchApp.phone323 .phone-card{border-radius:9px;background:radial-gradient(ellipse at top,#062b3b, var(--ws-bg));border-color:var(--phone-tg-colour,#286884)}
#dispatchApp.phone323 .phone-select{align-items:flex-start;justify-content:center;padding:19px 7px 19px;gap:4px;text-align:left}
#dispatchApp.phone323 .phone-number{font-size:clamp(22px,4.4dvh,34px);line-height:1.05}
#dispatchApp.phone323 .phone-tg-label{left:7px;top:5px;font-size:10px}
#dispatchApp.phone323 .phone-priority{font-size:17px;right:6px;top:3px}
#dispatchApp.phone323 .phone-call{font-size:clamp(10px,2.9vw,13px);font-weight:650;color:var(--ws-text);width:100%;overflow:visible;white-space:normal}
#dispatchApp.phone323 .phone324-last-time{font-size:11px;font-weight:400;line-height:1.2;margin-top:5px;color:var(--ws-muted)}
#dispatchApp.phone323 .phone-speaker{width:44px;height:44px;bottom:0;right:0;padding:14px 8px 10px 16px}
#dispatchApp.phone323 .phone-card.is-tx{background:radial-gradient(ellipse at top,#390c15,#17060b);border:2px solid #ff514e;box-shadow:inset 0 0 12px #ff303025,0 0 8px #ff303070}
#dispatchApp.phone323 .phone-card.is-tx .phone-tg-label{background:none;color:#ff4a49;padding:0;left:6px;top:4px}
#dispatchApp.phone323 .phone-tg-spectrum{left:4px;right:4px;bottom:0;height:19px;gap:2px;opacity:1}
#dispatchApp.phone323 .phone-tg-spectrum i{background:#ff322e;box-shadow:0 0 3px #f33}
#dispatchApp.phone323 .phone-all{border-radius:10px;background:var(--ws-panel);gap:6px}
#dispatchApp.phone323 .phone-all[aria-pressed=true]{border:2px solid #b679ff;background:radial-gradient(ellipse,#27183f,#051825);box-shadow:inset 0 0 8px #ad60ff30,0 0 6px #ad60ff40}
#dispatchApp.phone323 .phone-all>span{border:2px solid #d49bea;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:25px;color:#d49bea}
#dispatchApp.phone323 .phone-all strong{font-size:14px;color:#dcadf4}
#dispatchApp.phone323 .phone-all small{font-size:10px;color:#c9a3e7}
#dispatchApp.phone323>.layout-phone-nav{background:var(--ws-bg);border:1px solid #173d51;border-radius:16px 16px 0 0}
#dispatchApp.phone323 .layout-phone-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:3px!important;border:0!important;border-radius:0!important;background:none!important;color:var(--ws-muted);font-size:13px!important;position:relative}
#dispatchApp.phone323 .layout-phone-nav button svg{width:25px;height:25px;fill:currentColor}
#dispatchApp.phone323 .layout-phone-nav button[aria-pressed=true]{color:#c985ff}
#dispatchApp.phone323 .layout-phone-nav button[aria-pressed=true]::after{content:'';position:absolute;bottom:3px;left:20%;right:20%;height:2px;background:#b679ff;border-radius:2px}
@media(min-width:390px){#dispatchApp.phone323 .phone323-watch{padding-right:39px}#dispatchApp.phone323 .phone323-watch i{opacity:1}#dispatchApp.phone323 .phone323-watch span{font-size:12px}}
@media(max-height:640px) and (orientation:portrait){#dispatchApp.phone323 .phone-select{padding-top:17px;padding-bottom:12px;gap:2px}#dispatchApp.phone323 .phone-number{font-size:22px}#dispatchApp.phone323 .phone324-last-time{margin-top:2px;font-size:10px}}
@media(orientation:landscape) and (max-height:500px){
 #dispatchApp.phone323.svx-phone-app.phone-talkgroups-layout.show-talkgroups{--mobile-nav:44px;grid-template-rows:44px 0 minmax(0,1fr) 0 44px!important}
 #dispatchApp.phone323 .phone323-header{height:44px;padding:2px 8px;grid-template-columns:40px minmax(0,1fr) 90px 90px}
 #dispatchApp.phone323 .phone323-logo{width:40px;height:40px}
 #dispatchApp.phone323 .phone323-watch,#dispatchApp.phone323 .phone323-header button{height:40px;min-height:40px}
 #dispatchApp.phone323 .phone323-header button{flex-direction:row;gap:7px}
 #dispatchApp.phone323 .phone323-sheet[open]{top:44px!important}
 #dispatchApp.phone323 .svx-phone-ui{grid-template-rows:44px minmax(0,1fr)!important;gap:4px!important}
 #dispatchApp.phone323 .phone-select{padding:13px 5px 2px;gap:0}
 #dispatchApp.phone323 .phone-number{font-size:20px}
 #dispatchApp.phone323 .phone-call{font-size:10px}
 #dispatchApp.phone323 .phone324-last-time{font-size:9px;margin-top:0}
 
 #dispatchApp.phone323 .phone-all{gap:1px}
 #dispatchApp.phone323 .phone-all>span{width:20px;height:20px;font-size:16px}
 #dispatchApp.phone323 .layout-phone-nav button{flex-direction:row;gap:8px}
}
@media(prefers-reduced-motion:reduce){#dispatchApp.phone323 .phone323-watch i b{transition:none!important}}

/* v325: fixed-size flag artwork, readable health and real colour audio meters. */
#dispatchApp.phone323 .phone323-watch{padding:4px 6px;display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:5px}
#dispatchApp.phone323 .phone325-health-copy{min-width:0}
#dispatchApp.phone323 .phone323-watch [data-watch-state]{font:750 10px/1.1 system-ui;letter-spacing:.04em;margin:0}
#dispatchApp.phone323 .phone323-watch [data-watch-verdict]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 15px/1.15 system-ui;color:var(--health);margin:2px 0}
#dispatchApp.phone323 .phone323-watch [data-watch-detail]{display:block;font:500 9px/1.1 system-ui;margin:0;color:var(--ws-muted)}
#dispatchApp.phone323 .phone325-watch-ring{width:40px;height:40px;overflow:visible;color:var(--health)}
#dispatchApp.phone323 .phone325-watch-ring circle{fill:none;stroke-width:3}
#dispatchApp.phone323 .ring-track{stroke:currentColor;opacity:.16}
#dispatchApp.phone323 .ring-pulse{stroke:currentColor;stroke-dasharray:28 85;stroke-linecap:round;filter:drop-shadow(0 0 2px currentColor);transition:stroke-dashoffset .25s linear}
#dispatchApp.phone323 [data-watch-check]{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#dispatchApp.phone323 [data-watch-alert]{display:none;fill:currentColor;font:bold 19px system-ui}
#dispatchApp.phone323 .phone323-watch[data-healthy=false] [data-watch-check]{display:none}
#dispatchApp.phone323 .phone323-watch[data-healthy=false] [data-watch-alert]{display:block}
#dispatchApp.phone323 .phone323-watch[data-healthy=false] .ring-pulse{stroke-dasharray:none;filter:none}
#dispatchApp.phone323 .phone324-last-name{display:flex;align-items:center;gap:5px;max-width:100%;overflow:hidden;white-space:normal}
#dispatchApp.phone323 .phone325-flag{display:block;flex:0 0 28px;width:28px;height:21px;object-fit:fill;border-radius:1px;box-shadow:0 0 0 1px #ffffff20}
#dispatchApp.phone323 .phone325-call-text{min-width:0;display:block;overflow:hidden;line-height:1.1}
#dispatchApp.phone323 .phone325-call-text b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:700 clamp(11px,3.1vw,14px)/1.15 system-ui}
#dispatchApp.phone323 .phone325-call-suffix{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:500 9px/1.1 system-ui;color:var(--ws-muted);margin-top:2px}
#dispatchApp.phone323 .phone323-call{gap:8px}
#dispatchApp.phone323 .phone-select{padding-top:16px;padding-bottom:30px;gap:2px}
#dispatchApp.phone323 .phone-number{font-size:clamp(22px,3.8dvh,30px)}
#dispatchApp.phone323 .phone-tg-spectrum{left:5px;right:5px;bottom:2px;height:28px;display:flex;align-items:flex-end;gap:2px;opacity:1;z-index:0}
#dispatchApp.phone323 .phone-tg-spectrum i{height:0;min-height:0;transform:none;background:linear-gradient(to top,#17dd70 0px,#91ed47 9px,#ffdb35 15px,#ff8c24 21px,#ff333f 26px);box-shadow:0 0 3px #ff582655;border-radius:1px 1px 0 0}
#dispatchApp.phone323 .phone-speaker{bottom:25px;padding:12px;right:0}
#dispatchApp.phone323 .phone324-last-time{padding-right:30px}
@media(max-height:640px) and (orientation:portrait){
 #dispatchApp.phone323 .phone-select{padding:15px 5px 23px;gap:1px}
 #dispatchApp.phone323 .phone-number{font-size:21px}
 #dispatchApp.phone323 .phone-tg-spectrum{height:20px}
 #dispatchApp.phone323 .phone-speaker{bottom:17px}
 #dispatchApp.phone323 .phone324-last-time{margin-top:1px;font-size:9px}
}
@media(orientation:landscape) and (max-height:500px){
 #dispatchApp.phone323 .phone323-watch{grid-template-columns:minmax(0,1fr) 34px;gap:7px;padding:2px 6px}
 #dispatchApp.phone323 .phone325-watch-ring{width:34px;height:34px}
 #dispatchApp.phone323 .phone325-health-copy{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}
 #dispatchApp.phone323 .phone323-watch [data-watch-detail]{grid-column:1/-1}
 #dispatchApp.phone323 .phone323-watch [data-watch-verdict]{margin:0}
 #dispatchApp.phone323 .phone-select{padding:12px 4px 17px;gap:0}
 #dispatchApp.phone323 .phone-number{font-size:19px}
 #dispatchApp.phone323 .phone-tg-spectrum{height:16px}
 #dispatchApp.phone323 .phone-speaker{bottom:12px;right:0;width:30px;min-width:30px;height:30px;min-height:30px;padding:5px}
 #dispatchApp.phone323 .phone325-flag{width:24px;height:18px;flex-basis:24px}
 #dispatchApp.phone323 .phone325-call-text b{font-size:11px}
 #dispatchApp.phone323 .phone325-call-suffix{display:none}
}
@media(prefers-reduced-motion:reduce){#dispatchApp.phone323 .ring-pulse{transition:none;stroke-dashoffset:0!important}}

/* User's final choice: full-width server-feed oscilloscope instead of ring. */
#dispatchApp.phone323 .phone323-watch{display:block;padding:3px 6px 20px;position:relative}
#dispatchApp.phone323 .phone325-health-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:5px;align-items:center;position:relative;z-index:1}
#dispatchApp.phone323 .phone323-watch [data-watch-state]{font-size:9px;white-space:nowrap}
#dispatchApp.phone323 .phone323-watch [data-watch-verdict]{font-size:12px;margin:0}
#dispatchApp.phone323 .phone323-watch [data-watch-detail]{grid-column:1/-1;font-size:9px;line-height:11px;margin:1px 0 0}
#dispatchApp.phone323 .phone325-watch-scope{position:absolute;left:5px;bottom:2px;width:calc(100% - 10px);height:19px;overflow:visible;color:var(--health)}
#dispatchApp.phone323 .scope-grid{fill:none;stroke:currentColor;stroke-width:.5;opacity:.13}
#dispatchApp.phone323 .scope-trace{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 2px currentColor)}
#dispatchApp.phone323 .phone323-watch[data-feed-fresh=false] .scope-trace{opacity:.5;filter:none}
@media(orientation:landscape) and (max-height:500px){
 #dispatchApp.phone323 .phone323-watch{padding:2px 6px 15px}
 #dispatchApp.phone323 .phone325-health-copy{grid-template-columns:auto auto minmax(0,1fr);column-gap:12px}
 #dispatchApp.phone323 .phone323-watch [data-watch-detail]{grid-column:auto;margin:0}
 #dispatchApp.phone323 .phone325-watch-scope{height:17px}
}
@media(prefers-reduced-motion:reduce){#dispatchApp.phone323 .phone325-watch-scope{display:none}}
