/* File panels: retain the classic icon artwork and existing action handlers. */
#mapSidebar #saveControls {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
    margin-bottom:0;
    align-items:stretch;
}
#mapSidebar #saveControls > div {
    flex:1 1 0;
    min-width:0;
}
#mapSidebar #saveControls :is(#save_map2Active,#save_map2Disabled,#fileManagerLinkActive,#fileManagerLinkDisabled,#start_new_map) {
    box-sizing:border-box;
    width:100%;
    min-height:44px;
    margin:0;
    padding:13px 4px 12px 29px;
    border:0;
    border-radius:11px;
    background-color:#3e4037;
    background-position:6px center;
    background-size:21px;
    color:#fffdf5;
    box-shadow:none;
    font:700 15px/19px Arial,sans-serif;
    text-align:left;
    white-space:nowrap;
}
#mapSidebar #saveControls #start_new_map { width:100%; }
#mapSidebar #saveControls :is(#save_map2Active,#fileManagerLinkActive,#start_new_map):hover {
    background-color:#4c503f;
}
#mapSidebar #saveControls :is(#save_map2Active,#fileManagerLinkActive)[aria-expanded="true"] {
    /* The legacy unsaved indicator writes an inline background on Save. */
    background-color:#607c25!important;
    border-radius:11px 11px 0 0;
    color:#fff!important;
    box-shadow:none;
}
#mapSidebar #saveControls :focus-visible {
    outline:3px solid #efbc40;
    outline-offset:-3px;
}
#mapSidebar :is(#saveDropDown,#openDropDown) {
    box-sizing:border-box;
    position:relative;
    clear:both;
    width:100%;
    margin:0 0 12px;
    padding:17px 13px 14px;
    border:2px solid #607c25;
    border-radius:16px;
    background:#fbfaf4;
    color:#293024;
    box-shadow:none;
    font:14px/1.45 Arial,sans-serif;
}
#mapSidebar #saveDropDown { border-top-left-radius:0; }
/* The tab identifies the panel; keep its heading available to screen readers. */
#mapSidebar #saveDropDown .save-panel-title,
#mapSidebar #openDropDown h3 {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
    border:0;
}
#mapSidebar #saveDropDown .save-name-label,
#mapSidebar #openDropDown label {
    margin:0 0 13px;
    color:#424b38;
    font:400 14px/1.4 Arial,sans-serif;
}
#mapSidebar #saveDropDown #mapName,
#mapSidebar #openDropDown #openMapName {
    width:100%;
    height:44px;
    margin:6px 0 0;
    padding:10px 11px;
    border:1.5px solid #cfd5bd;
    border-radius:11px;
    background:#fff;
    color:#222a20;
    font:16px/1.35 Arial,sans-serif;
    box-shadow:none;
}
#mapSidebar #saveDropDown #saveButton,
#mapSidebar #openDropDown #openSaveButton {
    width:100%;
    min-height:46px;
    height:auto;
    margin:0;
    padding:12px 30px;
    border:1px solid #607c25;
    border-radius:28px;
    background:#607c25;
    color:white;
    font:700 16px/1.3 Arial,sans-serif;
    text-align:center;
    box-shadow:none;
}
#mapSidebar #saveDropDown #saveButton:hover,
#mapSidebar #openDropDown #openSaveButton:hover { background:#4f681d; border-color:#4f681d; }
#mapSidebar #saveDropDown .save-other-actions { gap:6px; margin-top:8px; }
#mapSidebar #saveDropDown .save-other-actions:not(:has(button:not([hidden]))) { display:none; }
#mapSidebar #saveDropDown .save-other-actions:has(button:not([hidden])) { margin-bottom:8px; }
#mapSidebar #saveDropDown .save-other-actions button {
    border:1px solid #cfd5bd;
    border-radius:9px;
    background:#f0f2e4;
    color:#43562d;
    font-size:13px;
}
#mapSidebar #saveDropDown .save-download-title {
    margin:14px 0 11px;
    padding-top:13px;
    border-top:1px solid #d9deca;
    color:#424b38;
    font:400 14px/1.4 Arial,sans-serif;
}
#mapSidebar #saveDropDown > button[data-file-format] {
    position:relative;
    width:100%;
    min-height:46px;
    height:auto;
    margin:0 0 7px;
    padding:11px 43px 11px 37px;
    border:1px solid #cfd5bd;
    border-radius:11px;
    background-color:#fff;
    background-size:25px;
    background-position:8px center;
    color:#273023;
    font:14px/1.4 Arial,sans-serif;
    text-align:left;
    box-shadow:none;
}
#mapSidebar #saveDropDown > button[data-file-format]::after {
    content:attr(data-file-format);
    position:absolute;
    right:7px;
    top:50%;
    transform:translateY(-50%);
    padding:3px 5px;
    border-radius:6px;
    background:#edf0df;
    color:#4e563d;
    font:700 10px/1.1 Arial,sans-serif;
    pointer-events:none;
}
#mapSidebar #saveDropDown > button[data-file-format]:hover { background-color:#f0f3e7; border-color:#99aa72; }
#mapSidebar #openDropDown .open-change-prompt { margin:0 0 14px; color:#424b38; font:14px/1.45 Arial,sans-serif; }
#mapSidebar #openDropDown #openWithoutSaveButton {
    margin:8px 0 0;
    padding:11px 5px;
    min-height:44px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#4c641d;
    font:700 14px/1.4 Arial,sans-serif;
    text-decoration:underline;
    text-underline-offset:3px;
    text-align:center;
    box-shadow:none;
}
#mapSidebar #openDropDown #openWithoutSaveButton:hover { background:#edf0df; }

body.mcs-small-screen #mapSidebar :is(#saveDropDown,#openDropDown) { border-radius:14px; padding:16px; }
body.mcs-small-screen #mapSidebar #saveDropDown > button[data-file-format] { min-height:48px; }
