:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#193047;background:#f5f8fb;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:hover{filter:brightness(.96)}header{height:70px;background:#fff;display:flex;align-items:center;padding:0 25px;border-bottom:1px solid #e4ebf1;gap:25px}.brand{display:flex;align-items:center;gap:12px;min-width:190px}.brand b{font-size:17px;letter-spacing:1.6px}.brand small{display:block;font-size:9px;letter-spacing:1.6px;color:#8293a3;margin-top:4px}.logo{font-size:28px;background:#e7f2fa;color:#2174a4;padding:3px 10px;border-radius:11px}.separator{height:32px;width:1px;background:#e6edf2}.community{font-weight:650}.demo{font-size:9px;padding:5px 8px;border-radius:5px;background:#e7f4ed;color:#1d8959;margin-left:8px;letter-spacing:.8px}.header-right{margin-left:auto;display:flex;align-items:center;gap:18px}.online{color:#698197;font-size:12px}.online:first-letter{color:#22a675}#profile{background:#244d6c;color:white;border-radius:50%;width:35px;height:35px;font-size:12px;font-weight:700}#notificationsToggle{font-size:21px;position:relative}#unreadCount{font-size:10px;background:#d64f53;color:white;padding:2px 5px;border-radius:10px;vertical-align:top}.layout{display:flex;height:calc(100vh - 70px);min-height:540px}#sidebar{width:224px;flex-shrink:0;background:#fff;border-right:1px solid #e4ebf1;padding:22px 12px;position:relative;transition:width .2s}#sidebar.collapsed{width:65px}#sidebar.collapsed .nav span,#sidebar.collapsed .nav em,#sidebar.collapsed .side-label,#sidebar.collapsed .sidebar-bottom{display:none}.collapse{font-size:21px;padding:6px 12px;margin-bottom:23px;color:#647e91}.side-label{color:#98a7b4;font-size:10px;font-weight:750;letter-spacing:1.4px;margin:18px 13px 12px}.nav{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border-radius:8px;padding:12px 13px;color:#607589;font-size:14px;margin-bottom:4px;white-space:nowrap}.nav:first-letter{font-size:20px}.nav.active{background:#e9f4fa;color:#146b9c;font-weight:700}.nav em{margin-left:auto;font-size:11px;font-style:normal;background:#e5edf3;padding:3px 6px;border-radius:10px}.sidebar-bottom{position:absolute;bottom:22px;left:23px;color:#9baab6;font-size:11px;line-height:1.7}main{flex:1;min-width:0;display:flex;flex-direction:column}.toolbar{background:#fff;padding:20px 25px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e4ebf1;gap:15px}.toolbar h1{font-size:21px;margin:0 0 6px}.toolbar p{font-size:12px;color:#8b9aa8;margin:0}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.actions select,.outline,.primary{padding:10px 13px;border-radius:7px;border:1px solid #dbe4eb;background:white;font-weight:650;font-size:12px}.primary{background:#176f9f;border-color:#176f9f;color:white}.primary:hover{background:#115a84}#workspace{position:relative;flex:1;min-height:300px;background:#e3e9e8}#map{height:100%;width:100%}#fallback{display:none;position:absolute;z-index:1;inset:0;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#e8f0ed;color:#4a6875;pointer-events:none}#fallback>div{font-size:60px}#fallback p{max-width:280px}#fallback.grid-mode{display:flex;background-image:linear-gradient(#cbdad7 1px,transparent 1px),linear-gradient(90deg,#cbdad7 1px,transparent 1px);background-size:45px 45px;opacity:.6}#fallback.grid-mode p,#fallback.grid-mode strong,#fallback.grid-mode>div{display:none}#mapHint{position:absolute;z-index:2;top:18px;left:18px;background:#fff;padding:11px 15px;border-radius:8px;box-shadow:0 2px 13px #20374a22;font-size:12px;color:#6e8290}#mapLegend{position:absolute;z-index:2;bottom:24px;left:18px;background:white;padding:13px 17px;border-radius:8px;box-shadow:0 2px 13px #20374a22;display:flex;gap:14px;font-size:11px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.urgent{background:#d95055}.progress{background:#2184bd}.pending{background:#e6a84b}.archived{background:#95a6b1}.map-pin{width:32px;height:32px;border-radius:50% 50% 50% 5px;transform:rotate(-45deg);border:3px solid white;color:white;box-shadow:0 2px 10px #0005;font-size:21px}.map-pin:hover{transform:rotate(-45deg) scale(1.12)}#notifications{width:265px;background:#fff;border-left:1px solid #e4ebf1;flex-shrink:0;display:flex;flex-direction:column}#notifications.hidden{display:none}.panel-heading{padding:26px 18px 20px;display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid #e9eef2}.panel-heading b{font-size:16px}.panel-heading small{display:block;color:#91a0ad;font-size:11px;margin-top:6px}.panel-heading button{font-size:22px;color:#8ca0af}.notification-list{overflow:auto;flex:1}.notification{width:100%;padding:17px 15px;display:flex;text-align:left;gap:10px;border-bottom:1px solid #f0f3f6}.notification.unread{background:#f1f8fc}.notification b{font-size:12px;font-weight:600;line-height:1.5;display:block}.notification small{display:block;color:#92a0ac;margin-top:6px;font-size:10px}.notice-icon{width:28px;height:28px;background:#e5f1f8;border-radius:50%;display:grid;place-items:center;color:#247da9;flex-shrink:0}.quiet{padding:16px;color:#247da9;font-weight:600;border-top:1px solid #e7edf1}#contentView{padding:25px;overflow:auto;flex:1}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{margin:0}.section-header span{color:#8b9cab;font-size:12px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:15px}.ticket-card,.member,.settings-card,.message-box{background:white;border:1px solid #e4ebf0;border-radius:10px;padding:18px;text-align:left;box-shadow:0 2px 7px #244b6510}.ticket-card{display:flex;flex-direction:column;gap:13px;min-height:188px}.ticket-card b{font-size:15px}.ticket-card small{font-size:12px;color:#8b9bab;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ticket-top,.ticket-bottom{display:flex;justify-content:space-between;gap:10px;align-items:center}.ticket-bottom{font-size:11px;color:#7890a0;margin-top:auto}.tag{font-size:10px;background:#eaf1f5;color:#557487;border-radius:5px;padding:5px 8px}.status{font-size:10px;font-weight:750;border-radius:5px;padding:6px 9px;background:#e8f2fb;color:#2b7caa}.status.pending{background:#fff4df;color:#a77520}.status.archived{background:#e9eef0;color:#788c97}.member{display:flex;flex-direction:column;align-items:start;gap:12px}.avatar{width:40px;height:40px;border-radius:50%;background:#e1f1f8;display:grid;place-items:center;color:#237aa5;font-weight:800}.member small{color:#8194a2}.message-box{max-width:760px}.message-box h3{margin-top:0}.message-box p{padding:10px 0;border-bottom:1px solid #eef2f4}.message-box form{display:flex;gap:10px}.message-box input,.chat-form input{flex:1;min-width:0;border:1px solid #d8e2e9;border-radius:7px;padding:11px}.settings-card{max-width:700px;line-height:1.7}.settings-card p{color:#687d8e}.danger{background:#fae6e7;color:#b93b44;padding:10px 13px;border-radius:7px}#shade{position:fixed;inset:0;background:#142c3a66;z-index:9}#ticketDrawer{position:fixed;right:0;top:0;height:100vh;width:min(510px,100vw);z-index:10;background:#fff;box-shadow:-7px 0 30px #122a3a35;display:flex;flex-direction:column}#ticketDrawer[hidden],#shade[hidden],#contentView[hidden],#workspace[hidden]{display:none!important}.drawer-header{display:flex;justify-content:space-between;padding:25px;border-bottom:1px solid #e9eef2}.drawer-header small{color:#247fae;letter-spacing:1px;font-weight:750}.drawer-header h2{margin:7px 0 0;font-size:20px}.drawer-header button{font-size:27px;color:#8298a8}.drawer-scroll{padding:24px;overflow:auto;flex:1}.drawer-scroll h3{font-size:13px;margin:28px 0 10px}.drawer-scroll p{line-height:1.65;color:#657c8e}.ticket-fields{display:flex;gap:8px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.field-grid>div{background:#f4f8fa;border-radius:7px;padding:12px;min-width:0}.field-grid small{display:block;color:#93a4af;font-size:10px;margin-bottom:7px}.field-grid b{font-size:12px;overflow-wrap:anywhere}.checkbox{display:flex;gap:8px;align-items:center;color:#567083}.ticket-actions{display:flex;gap:9px;margin-top:18px}.approved-note{color:#21875c!important}.chat-list{border:1px solid #e8edf1;border-radius:8px;padding:12px;max-height:250px;overflow:auto}.chat-line{padding:10px 5px;border-bottom:1px solid #eef2f5}.chat-line:last-child{border:0}.chat-line small{margin-left:10px;color:#9aabb6}.chat-line p{margin:7px 0 0}.chat-form{display:flex;gap:7px;margin-top:10px}.small-note{font-size:11px;color:#a0adb7!important}.empty{color:#91a1ad;font-size:13px}dialog{border:0;border-radius:14px;padding:0;width:min(520px,calc(100vw - 30px));box-shadow:0 15px 60px #0c263755}dialog::backdrop{background:#112a3a88}dialog form{padding:25px}.dialog-title{display:flex;justify-content:space-between;align-items:center}.dialog-title h2{margin:0 0 20px}.dialog-title button{font-size:25px}dialog label{display:block;font-size:12px;font-weight:700;margin:14px 0;color:#4c6477}dialog input,dialog textarea,dialog select{display:block;width:100%;margin-top:8px;border:1px solid #dce5eb;border-radius:7px;padding:11px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.dialog-footer button{padding:11px 16px;border-radius:7px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#203c50;color:white;padding:12px 20px;border-radius:9px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20}#toast.show{opacity:1}@media(max-width:1100px){#notifications{width:220px}.online{display:none}}@media(max-width:850px){#notifications{display:none}.toolbar{align-items:flex-start;flex-direction:column}.layout{height:calc(100vh - 70px)}#sidebar{width:60px}#sidebar .nav span,#sidebar .nav em,#sidebar .side-label,#sidebar .sidebar-bottom{display:none}#sidebar .nav{padding:12px}#mapHint{max-width:230px}.brand{min-width:auto}.brand small,.separator{display:none}}@media(max-width:560px){header{padding:0 12px;gap:10px}.community{font-size:11px}.demo{display:none}.toolbar{padding:12px}.actions{gap:5px}.actions select,.actions button{font-size:10px;padding:8px}.brand b{font-size:12px}.logo{font-size:19px}.header-right{gap:5px}#sidebar{width:48px;padding:10px 4px}.nav{padding:10px!important}#mapLegend{font-size:9px;gap:6px;left:6px;bottom:8px}#mapHint{font-size:10px;top:8px;left:6px}}

/* R5 additions */
.board-tabs{display:flex;gap:5px;max-width:36vw;overflow:auto}.board-tab{white-space:nowrap;padding:9px 11px;border-radius:6px;background:#f0f5f8;font-size:11px}.board-tab.active{background:#dceefa;color:#086a9c;font-weight:700}#boardAdd{padding:8px}.low-priority{background:#2ba66d}.map-pin.low-priority{background:#2ba66d}.priority-select{border:0;background:transparent;color:#28576e;font-weight:700;cursor:pointer}.priority-select.normal{color:#188452}.priority-select.medium{color:#d18a13}.priority-select.top{color:#c8343d}.upload-label{display:inline-block;margin-top:10px;cursor:pointer}.attachment{display:block;width:100%;text-align:left;padding:11px;border:1px solid #dae6ed;border-radius:7px;margin:5px 0;color:#186c99}.message-layout{display:grid;grid-template-columns:minmax(180px,230px) minmax(270px,1fr) minmax(180px,245px);gap:14px;align-items:start}.thread-list,.member-panel{background:#fff;border:1px solid #e4ebf0;border-radius:10px;padding:15px;min-height:400px}.thread{width:100%;text-align:left;padding:12px;border-bottom:1px solid #e7edf2;display:flex;flex-direction:column;gap:6px}.thread.selected{background:#e8f4fa;border-radius:6px}.thread small{color:#879bab;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-box{max-width:none;min-height:400px}.conversation-lines{max-height:55vh;overflow:auto}.member-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #e7edf2}.member-row small{display:block;color:#8396a4}.avatar.mini{width:29px;height:29px}.locate-approval{margin:6px 0 0}.preview-head{display:flex;justify-content:space-between;color:#2778a2;font-weight:700;margin-bottom:8px}#mapPreview{position:absolute;z-index:5;top:40%;left:49%;background:#fff;border-radius:10px;padding:17px;width:230px;box-shadow:0 5px 25px #172f4466;border-left:4px solid #d99d39}#mapPreview p{color:#7d91a0;font-size:12px}#mapPreview[hidden]{display:none}.focus-pin{font-size:34px;color:#e95457;text-shadow:0 0 6px white;animation:pulse 1s infinite alternate}@keyframes pulse{to{transform:scale(1.4)}}#filePreview{width:min(780px,95vw);padding:18px}.preview-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:10px}.preview-dialog-head button{font-size:24px}#filePreviewBody{height:min(65vh,550px);display:grid;place-items:center;overflow:auto;background:#f1f5f8;margin:10px 0}#filePreviewBody img{max-width:100%;max-height:100%;object-fit:contain}#filePreviewBody iframe{width:100%;height:100%;border:0}@media(max-width:1100px){.message-layout{grid-template-columns:1fr 2fr}.member-panel{grid-column:1/-1;min-height:0}.board-tabs{max-width:22vw}}@media(max-width:700px){.message-layout{display:block}.thread-list,.member-panel{min-height:0;margin-bottom:10px}.board-tabs{max-width:120px}.board-tab{font-size:10px}}

/* R6 additions */
.board-members{display:flex;align-items:center;gap:5px;margin-left:auto;white-space:nowrap;font-size:10px;color:#7c91a0}.member-chip{display:grid;place-items:center;background:#e2f2f9;color:#11658f;border-radius:50%;width:28px;height:28px;font-weight:800}.header-right{margin-left:8px}.draft-pin{font-size:32px;cursor:grab;filter:drop-shadow(0 2px 3px #3338)}.direction-arrow{font-size:28px;color:#e64e4e;text-shadow:0 1px 3px white;pointer-events:none;display:block}.ticket-controls{display:flex;gap:10px;align-items:center}.ticket-controls select{border:1px solid #d6e2eb;border-radius:7px;padding:9px}.list-layout{display:flex;flex-direction:column}.list-layout .ticket-card{min-height:95px}.ticket-date{font-size:10px;color:#8da0af}.approval-card{display:flex;flex-direction:column;gap:7px}.approval-card .ticket-card{flex:1}.locate-approval{width:100%;margin:0}.notification-list{overflow-y:scroll;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#91a9bb #edf3f7}.notification-list::-webkit-scrollbar{width:9px}.notification-list::-webkit-scrollbar-thumb{background:#91a9bb;border-radius:8px}.notification-list::-webkit-scrollbar-track{background:#edf3f7}#editDescription{width:100%;border:1px solid #dce5eb;border-radius:8px;padding:10px;resize:vertical}#arrowControls label{display:flex;align-items:center;gap:10px;font-size:12px}#arrowControls input{flex:1}.move-history{max-height:90px;overflow:auto;font-size:10px;color:#758a99}.message-tools{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}.message-tools button{border:1px solid #dbe4eb;border-radius:6px;padding:7px;background:#f5f9fc}.message-tools input{width:32px;height:29px;border:0;padding:0}.message-box mark{background:#fff0a2}.focus-pin{animation:none}.maplibregl-canvas{cursor:grab}.maplibregl-canvas:active{cursor:grabbing}@media(max-width:1100px){.board-members>span:first-child{display:none}}@media(max-width:800px){.board-members{display:none}}

/* R7 */
.direction-arrow{width:34px;height:34px;display:grid;place-items:center}.direction-arrow-glyph{display:block;transform-origin:center center;line-height:1;will-change:transform}
.member-dialog{position:fixed;margin:auto;top:33vh;max-height:65vh;overflow:auto}.member-dialog form{padding:24px}.confirm-content{padding:25px}
.discord-layout{grid-template-columns:minmax(170px,220px) minmax(340px,1fr) minmax(160px,220px)}.discord-chat{display:flex;flex-direction:column;min-height:490px;padding:0;overflow:hidden}.chat-heading{padding:17px 20px;border-bottom:1px solid #e4ebf0}.chat-heading h3{margin:0 0 5px}.chat-heading small{color:#8395a6}.discord-chat .conversation-lines{flex:1;min-height:200px;max-height:55vh;padding:12px 16px;overflow-y:auto}.discord-message{display:flex;gap:12px;padding:10px 4px;border-radius:8px}.discord-message:hover{background:#f4f7fb}.discord-message-body{min-width:0;overflow-wrap:anywhere;line-height:1.55}.discord-message-body b{color:#243b50}.formatted-message{white-space:pre-wrap;margin-top:3px}.chat-media{max-width:250px;max-height:200px;object-fit:contain;display:block;border-radius:8px;margin:6px 0}.composer{padding:12px;border-top:1px solid #e6edf2;position:relative}.composer .message-tools{flex-wrap:wrap}.composer .message-tools button{font-size:12px}.composer form textarea{flex:1;min-width:0;border:1px solid #d8e2e9;border-radius:8px;padding:11px;resize:vertical}.composer form{align-items:stretch}.composer .small-note{display:block;margin-top:8px}.media-picker{position:absolute;bottom:100%;left:12px;width:min(370px,calc(100% - 24px));max-height:320px;overflow-y:auto;background:white;border:1px solid #cbdbe5;border-radius:12px;padding:13px;box-shadow:0 6px 24px #102b3a30;z-index:3}.media-picker[hidden]{display:none}.picker-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.picker-head button{font-size:22px}.media-picker input{width:100%;padding:10px;border:1px solid #d5e1e8;border-radius:7px;margin-bottom:10px}.emoji-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.emoji-choice{font-size:24px;padding:5px;border-radius:6px}.emoji-choice:hover{background:#e6f3fa}@media(max-width:850px){.discord-layout{display:block}.discord-layout .thread-list,.discord-layout .member-panel{min-height:0;margin-bottom:12px}.discord-chat{min-height:400px}}

/* R8 fixes */
.direction-arrow{width:40px!important;height:40px!important;display:flex!important;align-items:center;justify-content:center;pointer-events:none!important;overflow:visible!important;background:transparent!important;opacity:1!important;visibility:visible!important;z-index:10!important;}
.direction-arrow-glyph{display:block!important;font-size:32px!important;font-weight:900!important;line-height:1!important;color:#e33f42!important;-webkit-text-stroke:1px #fff;filter:drop-shadow(0 1px 2px #15222a);transform-origin:50% 50%!important;}
.member-chip{border:0;cursor:pointer;font-size:10px}.member-chip:hover{outline:2px solid #1976a8}
.member-dialog,.custom-action-dialog{position:fixed!important;inset:0!important;margin:auto!important;top:0!important;left:0!important;right:0!important;bottom:0!important;transform:none!important;max-height:min(80vh,680px);width:min(490px,92vw);border:0;border-radius:14px;box-shadow:0 16px 48px #142f4655;padding:0;}
.custom-action-dialog form{padding:24px}.custom-action-dialog label{display:block;margin:16px 0}.custom-action-dialog input,.custom-action-dialog select{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid #cddce6;border-radius:7px}.custom-action-dialog .dialog-footer{margin-top:20px}.custom-action-dialog.lower-dialog{top:27vh!important;bottom:auto!important;}
#contentView:has(.ticket-controls) .cards{max-height:calc(100vh - 275px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:8px;}

/* R9 arrow SVG visibility and reliable centering */
.direction-arrow.maplibregl-marker{width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;pointer-events:none!important;opacity:1!important;visibility:visible!important;}
.direction-arrow-glyph{display:flex!important;width:38px;height:38px;align-items:center;justify-content:center;transform-origin:19px 19px!important;}
.direction-arrow-glyph svg{display:block;width:38px;height:38px;overflow:visible;filter:drop-shadow(0 2px 2px #0008)}

/* R10: visible ticket scrolling, actor movement history, near-pin arrows, draggable recenter */
#contentView:has(.ticket-controls){min-height:0;overflow:hidden;}
#contentView:has(.ticket-controls) .cards{height:calc(100dvh - 260px);max-height:none;min-height:180px;overflow-y:scroll!important;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:auto;padding-right:10px;}
#contentView:has(.ticket-controls) .cards::-webkit-scrollbar{width:12px;}
#contentView:has(.ticket-controls) .cards::-webkit-scrollbar-thumb{background:#8ba9bc;border:3px solid #f5f8fb;border-radius:10px;}
.move-entry{display:flex;align-items:center;gap:9px;margin:8px 0;}
.move-entry>span:last-child{min-width:0;display:grid;gap:2px;}
.move-entry small{font-size:10px;overflow-wrap:anywhere;color:#7991a4;}
.move-avatar{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#dff0fa;color:#086c9b;font-weight:700;font-size:11px;}
.recenter-drag-marker{display:grid;place-items:center;width:24px;height:24px;border:2px solid white;border-radius:50%;background:#ef4055;color:white;font-size:19px;font-weight:800;box-shadow:0 1px 5px #0008;cursor:grab;}
.recenter-drag-marker:active{cursor:grabbing;}

/* R10.2: restore compact ticket layouts without losing independent scroll */
#contentView:has(.ticket-controls) .cards{align-content:start;grid-auto-rows:max-content;min-height:0;}
#contentView:has(.ticket-controls) .cards:not(.list-layout){grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:start;}
#contentView:has(.ticket-controls) .cards:not(.list-layout) .ticket-card{height:240px;min-height:0;align-self:start;}
#contentView:has(.ticket-controls) .cards.list-layout{display:flex;flex-direction:column;align-items:stretch;gap:12px;}
#contentView:has(.ticket-controls) .cards.list-layout .ticket-card{height:auto;min-height:112px;flex:0 0 auto;gap:7px;padding:14px 18px;}
#contentView:has(.ticket-controls) .cards.list-layout .ticket-card small{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}
#contentView:has(.ticket-controls) .cards.list-layout .ticket-bottom{margin-top:2px;}
/* R10.2: drawer body is a flex item, and its contents scroll within viewport */
#ticketDrawer{min-height:0;overflow:hidden;}
#ticketDrawer .drawer-header{flex:0 0 auto;}
#drawerBody{display:flex;flex:1 1 auto;min-height:0;overflow:hidden;}
#drawerBody>.drawer-scroll{flex:1 1 auto;min-height:0;height:100%;overflow-y:scroll;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#8ba9bc #edf3f7;}
#drawerBody>.drawer-scroll::-webkit-scrollbar{width:11px;}
#drawerBody>.drawer-scroll::-webkit-scrollbar-thumb{background:#8ba9bc;border:2px solid #edf3f7;border-radius:9px;}
#drawerBody>.drawer-scroll::-webkit-scrollbar-track{background:#edf3f7;}

/* R10.4: Fixed pin above orbital arrows; independent arrow orientation */
.map-pin.maplibregl-marker{z-index:30!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;}
.direction-arrow.maplibregl-marker{z-index:20!important;}
.pin-rotation-control{display:flex;align-items:center;gap:10px;font-size:12px;color:#607589}.pin-rotation-control input{flex:1;min-width:50px}.pin-rotation-control span{min-width:35px;text-align:right}

/* R10.5: MapLibre owns marker-anchor transforms; rotate only the nested pin. */
.pin-marker-anchor.maplibregl-marker{width:34px;height:34px;z-index:100!important;overflow:visible!important;display:grid;place-items:center;visibility:visible!important;opacity:1!important}
.pin-marker-anchor .map-pin{position:relative;display:block;flex:none;width:32px;height:32px;transform:rotate(-45deg);z-index:1;visibility:visible;opacity:1}
.pin-marker-anchor .map-pin:hover{transform:rotate(-45deg) scale(1.12)}
.direction-arrow.maplibregl-marker{z-index:10!important}
