/* Shared desktop/browser interface; adapt spacing instead of scaling map data. */
/* Device size changes spacing, never whether a scenario is running. */
.topbar .brand,.topbar #mode,.topbar #fullscreen,.map-toolbar{display:none!important}
#workspace[data-screen=home]{display:flex!important;gap:0;padding:0}
#workspace[data-screen=home] .map-area{display:flex!important;flex:1;min-width:0;min-height:0;height:auto}
#workspace[data-screen=home] .panel,#workspace[data-screen=home] #mobile-switch{display:none!important}
#workspace[hidden]{display:none!important}
.task-history-toggle{flex:none;min-height:32px;font-size:12px;padding:6px 10px;align-self:flex-start}
@media(pointer:coarse) and (min-width:851px){
 #workspace:not(.desktop-home){display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,34%);min-height:0;gap:6px}
 #workspace .map-area{height:auto;min-height:0}#workspace .panel{min-height:0}
 #tabs{display:flex;flex-wrap:wrap;gap:3px;padding:4px}#tabs button{min-height:36px;font-size:11px;padding:5px 8px}
 .panel-title{padding:8px}.panel-title h1{font-size:17px}.workspace-list-row{min-height:48px}
 .topbar{height:48px;min-height:48px;padding:0 10px;gap:8px}
}
.station-chat-dialog{box-sizing:border-box;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;background:var(--bg,#f0f6f5);color:var(--text,#173e43);overflow:hidden}
.station-chat-dialog[open]{display:flex;flex-direction:column}
.station-chat-dialog>header{display:flex;align-items:center;gap:20px;flex:none;height:64px;padding:8px 24px;border-bottom:1px solid var(--line,#b9d0ce);box-sizing:border-box}
.station-chat-dialog>header h2{margin:0;font-size:22px}.chat-identity{flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.station-chat-dialog button{min-height:40px;cursor:pointer}.station-chat-dialog button:disabled{cursor:default;opacity:.55}
.messenger-layout{display:grid;grid-template-columns:minmax(250px,29%) minmax(0,1fr);flex:1;min-height:0}
.messenger-sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line,#b9d0ce);padding:16px;gap:12px}
.messenger-toolbar{display:flex;justify-content:flex-end}.messenger-tabs{display:flex;gap:6px}.messenger-tabs button{flex:1}.messenger-tabs button.active{background:#126e71;color:white}
.messenger-sidebar>input{width:100%;box-sizing:border-box;min-height:40px}.conversation-list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.conversation-entry{position:relative;display:flex;width:100%;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;border:0!important;border-bottom:1px solid var(--line,#b9d0ce)!important;border-radius:0!important;padding:14px 34px 14px 10px!important;background:transparent!important;color:inherit!important}
.conversation-entry.selected{background:#cfe6e2!important}:root[data-theme=night] .conversation-entry.selected{background:#204a50!important}.conversation-entry>span{font-size:12px;opacity:.85}
.chat-unread,.drawer-chat-badge{border-radius:20px;background:#087d72;color:white;font-size:11px;padding:3px 7px}.chat-unread{position:absolute;right:4px;top:12px}.drawer-chat-badge{margin-left:10px}
.chat-presence{font-size:11px;display:block;font-weight:normal}.chat-presence:before{content:'●';margin-right:5px;color:#849395}.chat-presence.online:before{color:#19a36a}.chat-presence.unknown:before{color:#c69640}
.messenger-room{display:flex;flex-direction:column;min-width:0;min-height:0}.messenger-room>header{display:flex;align-items:center;padding:12px 22px;border-bottom:1px solid var(--line,#b9d0ce);min-height:66px;gap:12px;box-sizing:border-box;flex:none}.messenger-room>header>div{flex:1;min-width:0}.messenger-room h3{margin:0 0 4px;font-size:18px}.messenger-room header span{font-size:12px}.messenger-room header .chat-presence{display:inline-block;margin-left:12px}
.messenger-back{display:none}.messenger-log{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(135deg,#e9f0ee,#dfece8)}
:root[data-theme=night] .messenger-log{background:linear-gradient(135deg,#142d32,#183539)}
.station-message{flex:none;align-self:flex-start;max-width:78%;min-width:140px;padding:10px 14px;background:#fff;color:#203e43;border-radius:0 14px 14px 14px;box-shadow:0 1px 3px #0001;overflow-wrap:anywhere}
.station-message.outgoing{align-self:flex-end;background:#cce9df;border-radius:14px 0 14px 14px}
:root[data-theme=night] .station-message{background:#29474e;color:#f1f7f7}:root[data-theme=night] .station-message.outgoing{background:#205750;color:#f5ffff}
.station-message strong{font-size:11px;color:inherit}.station-message p{color:inherit;background:none!important;white-space:pre-wrap;margin:8px 0;font-size:14px;line-height:1.5}.station-message footer{display:flex;justify-content:flex-end;gap:7px;font-size:10px;align-items:center}
.message-receipt{font-size:15px;font-weight:700;letter-spacing:-3px;margin-right:3px;color:#647c7d}.message-receipt.read{color:#0875be}:root[data-theme=night] .message-receipt{color:#b6cbcc}:root[data-theme=night] .message-receipt.read{color:#68cdff}
.messenger-compose{flex:none;display:flex;gap:10px;align-items:flex-end;padding:16px 22px;border-top:1px solid var(--line,#b9d0ce)}.messenger-compose textarea{flex:1;min-width:0;resize:vertical;max-height:25dvh;font:inherit;font-size:14px;box-sizing:border-box;padding:10px;min-height:44px}
.messenger-notice{flex:none;margin:0;padding:8px 20px;background:#f7e1c5;color:#6d3c18;font-size:13px}.chat-empty{margin:auto;text-align:center;padding:25px;opacity:.8}.chat-warning{font-size:12px;color:#a65724}
.group-invitation{margin:auto;max-width:480px;padding:24px;text-align:center;border:1px solid var(--line,#b9d0ce);border-radius:16px}.group-invitation button{margin:6px}
.chat-picker{width:min(560px,92vw);max-height:88dvh;box-sizing:border-box;border:1px solid var(--line,#b9d0ce);border-radius:16px;padding:22px;background:var(--bg,#f0f6f5);color:var(--text,#173e43)}
.chat-picker[open]{display:flex;flex-direction:column;gap:12px}.chat-picker h2,.chat-picker p{margin:0}.chat-picker input:not([type=checkbox]){min-height:40px}.chat-picker-options{flex:1;min-height:100px;overflow:auto;max-height:45dvh}.chat-contact-choice{display:flex;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid var(--line,#b9d0ce);cursor:pointer}.chat-contact-choice>span{flex:1;display:flex;flex-direction:column}.chat-contact-choice input[type=checkbox]{width:20px;height:20px;flex:none}
@media(max-width:650px){
 .station-chat-dialog>header{height:50px;padding:6px 12px;gap:10px}.station-chat-dialog>header h2{font-size:18px}.chat-identity{font-size:11px}
 .messenger-layout{display:flex}.messenger-sidebar{width:100%;box-sizing:border-box;padding:10px}.messenger-room{display:none;width:100%}.messenger-layout.conversation-open .messenger-sidebar{display:none}.messenger-layout.conversation-open .messenger-room{display:flex}.messenger-back{display:block}
 .messenger-room>header{padding:8px 10px;min-height:58px}.messenger-room h3{font-size:15px}.messenger-room header .chat-presence{display:block;margin-left:0}.messenger-log{padding:14px 10px}.station-message{max-width:88%;padding:9px 11px}.messenger-compose{padding:8px;gap:6px}.messenger-compose textarea{font-size:16px}.chat-picker{padding:14px}
}
.topbar #connection{max-width:clamp(150px,23vw,320px);font-size:clamp(11px,.85vw,14px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar .identity{display:none}#desktop-tools{max-width:44%;min-width:0}
.icon-button.listening{color:#ffcc66;border-color:#ffcc66;background:#624825}
.plan-context{max-height:calc(100% - 12px);overflow-y:auto;overscroll-behavior:contain}
.cinali-dialog .shell-layout{grid-template-columns:minmax(0,1fr)}
.cinali-dialog .shell-layout>nav{display:none}
.cinali-dialog>header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.cinali-dialog>header h2{grid-column:2;text-align:center}
.cinali-dialog>header>button:last-child{justify-self:end}
.new-cinali-chat{justify-self:start;font-size:13px!important;min-height:34px!important;padding:6px 12px!important}
.cinali-dialog .shell-content{display:flex;padding:clamp(10px,1.5vw,20px)}
.cinali-page{display:flex;flex-direction:column;width:100%;min-height:0;gap:12px}
.cinali-page .chat-log{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;padding:4px}
.chat-message{max-width:90%;margin:0 0 14px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:#e6f0ed;color:#173d40;overflow-wrap:anywhere}
.chat-message.outgoing{margin-left:auto;background:#dbeee8;color:#163e3a}
:root[data-theme=night] .chat-message{background:#223d43;color:#edf7f7}
:root[data-theme=night] .chat-message.outgoing{background:#174d4a;color:#f3fffc}
.chat-message strong,.chat-message p{color:inherit!important}
.dictation-button{flex:none;display:grid;place-items:center;min-width:42px;padding:8px}
.dictation-button.listening{background:#9e2437;color:white;border-color:#9e2437}
.dictation-status{margin:0;font-size:12px;color:inherit;flex:none}
.plan-alarm{cursor:pointer}.plan-alarm circle{animation:yordam-alarm-pulse 1s ease-in-out infinite}
@keyframes yordam-alarm-pulse{0%,100%{stroke-opacity:1;fill-opacity:.5}50%{stroke-opacity:.35;fill-opacity:.1}}
@media(prefers-reduced-motion:reduce){.plan-alarm circle{animation:none}}
.chat-log .chat-message p{margin:6px 0 0;padding:0;background:none;white-space:pre-wrap}
.chat-message.pending{opacity:.75}.chat-message strong{font-size:13px}
.cinali-page .chat-compose{display:flex;flex:none;align-items:flex-end;gap:10px}
.cinali-page .chat-compose textarea{resize:none;min-width:0;flex:1;max-height:22dvh}
.cinali-controls{margin-top:auto;padding:12px 4px;display:flex;flex-direction:column;gap:10px}
.cinali-controls h3{font-size:15px}.cinali-controls button{margin:0!important;flex:none;text-align:left}
.cinali-controls .muted{margin:0;font-size:12px}
.shell-layout>nav .cinali-controls{flex-shrink:0}
@media(max-width:1100px){
 .app-drawer{width:clamp(210px,28vw,290px);max-width:80vw;padding:12px}
 .drawer-project{font-size:clamp(16px,2vw,22px);min-height:58px;padding:8px}
 .app-drawer button:not(.drawer-menu){font-size:clamp(11px,1.2vw,14px);min-height:36px;padding:8px 10px;margin-bottom:6px}
 .app-drawer header img{width:160px!important;height:50px!important}
 .settings-dialog .shell-layout>nav button{font-size:clamp(11px,1.2vw,14px);min-height:34px;padding:8px}
 .settings-section h3{font-size:clamp(16px,1.8vw,21px);margin:10px 0 14px}
 .settings-option{padding:10px 0;min-height:42px;font-size:12px}
 .settings-page-title{font-size:clamp(17px,2vw,23px);padding:10px 14px}
}
@media(max-width:850px),(max-height:500px){
 :root{font-size:13px}.topbar{height:44px;min-height:44px;padding:0 8px;gap:8px}
 #desktop-tools{max-width:78%;gap:5px}.topbar #connection{max-width:clamp(110px,35vw,260px);font-size:11px}
 .icon-button{width:34px;height:34px;min-height:34px;font-size:21px}
 .desktop-app-heading{font-size:15px;max-width:25%}.desktop-window-controls button{width:32px;height:32px;min-height:32px;font-size:21px}
 #operation-header{height:34px;gap:8px;padding:4px 8px;font-size:11px}#operation-status{font-size:10px}
 #operation-caption{max-width:60%}.map-footer{min-height:20px;padding:2px 6px;font-size:10px}
 #plan .plan-controls{left:8px;bottom:4px;gap:6px;max-width:calc(100% - 48px)}
 #plan .plan-controls button,#plan #plan-style{width:auto;min-width:0;min-height:30px;height:auto;padding:6px 8px;font-size:clamp(10px,1.5vw,12px);border-radius:8px}
 .floor-card{left:6px;right:38px;border-radius:12px}.floor-preview{left:12px;right:44px;border-radius:10px}
 .floor-preview span,.floor-badge{font-size:11px;padding:3px 6px;right:5px}.floor-badge{top:5px}
 .floor-edge{right:0;width:34px}.floor-edge button{font-size:25px;min-height:32px}
 .plan-context{min-width:150px;padding:5px;font-size:12px}.plan-context button{font-size:12px;min-height:32px;padding:7px 8px}
 .shell-dialog{width:96vw;max-width:98vw;height:90dvh;max-height:96dvh}
 .shell-dialog>header{height:40px;padding:4px 12px}.shell-dialog>header h2{font-size:16px}.shell-layout{height:calc(100% - 40px);grid-template-columns:28% minmax(0,1fr);gap:6px}
 .shell-layout>nav{padding:5px;gap:4px}.shell-layout>nav button{font-size:12px;min-height:34px;padding:7px}
 .shell-dialog.settings-dialog{min-width:0;width:min(620px,96vw);height:min(620px,86dvh);min-height:0}
 .settings-dialog .shell-content{padding:8px 12px}.permission-grid{gap:0 8px}.permission-grid .settings-option{font-size:11px}
 .cinali-controls{padding:8px 0;gap:6px}.cinali-controls h3{font-size:12px}.cinali-controls .muted{font-size:10px}
 .chat-message{padding:8px 10px;font-size:12px}.chat-message strong{font-size:11px}
 .chat-compose textarea{font-size:13px;padding:8px}.chat-compose button{font-size:12px;padding:8px;min-height:36px}
 #detail.info-dialog{width:clamp(230px,44vw,420px);max-width:92vw;padding:10px;gap:8px}
 .info-dialog #detail-title{font-size:17px}.info-subtitle{font-size:13px}.info-row{gap:6px;padding:8px 4px}.info-row strong,.info-row span{font-size:12px}
 .card-tabs{min-height:40px;gap:4px;padding-bottom:5px}.card-tabs button{min-height:32px;min-width:75px;font-size:11px;padding:6px}
}
/* Keep the map visible next to the operation panel on wide small screens. */
@media(max-width:850px) and (orientation:landscape){
 #workspace{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(210px,37%);gap:4px}
 #mobile-switch{display:none!important}#workspace .map-area,#workspace .panel{display:flex!important;min-height:0;height:auto;overflow:hidden}
 .panel-title{display:flex;padding:5px 8px}.panel-title h1{font-size:15px}#tabs{gap:2px;padding:2px 4px}#tabs button{font-size:10px;min-height:30px;padding:5px}
 #panel-content{display:flex;flex-direction:column;padding:6px}.workspace-list{max-height:32%;flex:none}.workspace-list-row{min-height:42px;padding:7px;font-size:12px}
 .workspace-detail{flex:1;min-height:0;overflow:auto}.task-card{padding:8px}.task-title-button{font-size:12px}.description{font-size:11px}
 .workspace-detail .task-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px}.task-actions button{min-height:30px;padding:5px;font-size:11px}
}
@media(max-width:850px) and (orientation:portrait){
 #workspace{display:flex;flex-direction:column}#workspace .map-area{display:flex!important;flex:0 0 46%;height:46%;min-height:100px}
 #workspace.mobile-map .map-area{flex-basis:64%;height:64%}#workspace .panel{display:flex!important;flex:1;min-height:0}
 #mobile-switch{display:flex;height:30px;min-height:30px;padding:1px 5px}#mobile-switch button{min-height:26px;font-size:10px;padding:3px}
 .panel-title{padding:5px 8px}.panel-title h1{font-size:15px}#tabs{padding:1px 4px}#tabs button{min-height:30px;font-size:10px;padding:5px}
 #panel-content{padding:6px}.workspace-list-row{min-height:44px;padding:8px;font-size:12px}.workspace-list{max-height:100px}
 .task-card{padding:9px}.task-actions button{min-height:34px;font-size:12px;padding:6px}
}
@media(max-width:850px){
 #workspace[data-screen=home]{display:flex!important}#workspace[data-screen=home] .map-area{flex:1;height:auto;min-height:0}
 #workspace[data-screen=home] .panel,#workspace[data-screen=home] #mobile-switch{display:none!important}
}
