/* Municipal workspace shell: retain MEEDO's teal theme and page components. */
:root {
    --meedo-sidebar-width:268px;
    --meedo-header-height:51.84px;
}

[hidden] { display:none !important; }
.meedo-skip-link { position:fixed; top:8px; left:12px; z-index:1080; transform:translateY(-150%); padding:9px 14px; border-radius:7px; background:#fff; color:var(--meedo-primary-dark); }
.meedo-skip-link:focus { transform:translateY(0); }

.meedo-sidebar {
    width:var(--meedo-sidebar-width);
    padding:0;
    height:100vh;
    height:100dvh;
    background:linear-gradient(180deg,#115e59 0%,#1b746c 55%,#397f79 100%);
    box-shadow:10px 0 28px rgba(17,94,89,.1);
}
.meedo-sidebar-heading { display:flex; align-items:center; gap:8px; flex-shrink:0; min-height:88px; padding:18px 16px; border-bottom:1px solid rgba(255,255,255,.12); }
.meedo-sidebar-brand { display:flex; align-items:center; gap:11px; min-width:0; color:#fff; }
.meedo-sidebar-brand img { width:46px; height:46px; flex-shrink:0; object-fit:contain; }
.meedo-sidebar-brand > span { display:flex; flex-direction:column; gap:5px; }
.meedo-sidebar-brand strong { font-size:1.65rem; line-height:1; font-weight:800; letter-spacing:.08em; }
.meedo-sidebar-brand small { color:#bce4dc; font-size:.59rem; letter-spacing:.1em; }
.meedo-sidebar-brand:hover { color:#fff; }
.meedo-sidebar-close { display:none; flex-shrink:0; margin-left:auto; width:30px; height:30px; border:0; border-radius:7px; background:transparent; color:#d9efeb; }
.meedo-sidebar-close:hover { background:rgba(255,255,255,.12); color:#fff; }
.meedo-nav { min-height:0; padding:4px 10px 8px; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#6caaa2 transparent; }
.meedo-nav .menu-section-label { padding:8px 10px 3px; color:#a8d8d1; font-size:.58rem; }
.meedo-nav .menu-link { margin:1px 0; min-height:32px; padding:6px 10px; font-size:.74rem; }
.meedo-nav .menu-link > iconify-icon { flex:0 0 17px; font-size:.95rem; }
.meedo-nav .menu-link > span { flex:1; min-width:0; }
.meedo-nav .menu-chevron { margin-left:auto; flex:0 0 12px !important; font-size:.62rem !important; }
.meedo-nav .menu-parent.has-active { color:#fff; background:rgba(255,255,255,.12); font-weight:700; }
.meedo-nav .menu-parent[aria-expanded="true"] { background:rgba(255,255,255,.08); color:#fff; }
.meedo-nav .enterprise-menu { margin:1px 0 3px 18px; padding:0 0 0 8px; border-left:1px solid rgba(255,255,255,.2); }
.meedo-nav .submenu-link { min-height:28px; margin:1px 0; padding:4px 9px; white-space:normal; line-height:1.4; font-size:.69rem; }
.meedo-menu-divider { height:1px; margin:3px 8px; background:rgba(255,255,255,.1); }
.meedo-sidebar-art { width:100%; padding:0; margin-left:0; margin-right:0; border-top:1px solid rgba(255,255,255,.12); }
.meedo-sidebar-art img { display:block; width:100%; height:auto; max-height:none; margin:0; padding:0; }

.meedo-main { margin-left:var(--meedo-sidebar-width); }
.meedo-shell-header { height:var(--meedo-header-height); min-height:var(--meedo-header-height); justify-content:space-between; gap:12px; padding:0 20px; background:#fff; }
.meedo-header-main { display:flex; align-items:center; gap:9px; flex:1; min-width:0; }
.meedo-header-title { display:flex; align-items:center; flex-wrap:wrap; gap:2px 10px; color:var(--meedo-muted); font-size:.66rem; line-height:1.35; }
.meedo-header-title strong { color:var(--meedo-primary-dark); font-weight:700; }
.meedo-header-divider { color:#bdccca; }
.meedo-header-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.meedo-header-icon { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:28px; height:28px; padding:0; border:1px solid var(--meedo-border); border-radius:8px; color:var(--meedo-primary); background:#fff; font-size:.86rem; }
.meedo-header-icon:hover,.meedo-header-icon.active { background:var(--meedo-primary-light); border-color:#a8d8d1; }
.meedo-menu-toggle { display:none; }
.meedo-account { padding-left:9px; border-left:1px solid var(--meedo-border); }
.meedo-account-toggle { display:flex; align-items:center; gap:8px; min-height:28px; padding:2px 5px; border:1px solid transparent; border-radius:8px; color:var(--meedo-text); background:#fff; text-align:left; }
.meedo-account-toggle:hover,.meedo-account-toggle[aria-expanded="true"] { background:var(--meedo-primary-light); border-color:var(--meedo-border); }
.meedo-account-avatar { display:grid; place-items:center; width:28px; height:28px; flex-shrink:0; border-radius:50%; background:#e3f4ef; color:var(--meedo-primary); font-size:1rem; }
.meedo-account-copy { display:flex; flex-direction:column; gap:2px; }
.meedo-account-copy strong { font-size:.68rem; font-weight:700; line-height:1.2; }
.meedo-account-copy small { color:var(--meedo-muted); font-size:.57rem; line-height:1.2; }
.meedo-account-chevron { font-size:.62rem; color:var(--meedo-muted); transition:transform .15s; }
.meedo-account-toggle[aria-expanded="true"] .meedo-account-chevron { transform:rotate(180deg); }
.meedo-account-menu { min-width:230px; max-width:calc(100vw - 24px); margin-top:8px !important; padding:6px; border:1px solid var(--meedo-border); border-radius:12px; box-shadow:0 10px 32px rgba(17,94,89,.12); }
.meedo-account-summary { display:flex; flex-direction:column; gap:3px; padding:10px 12px 6px; font-size:.75rem; }
.meedo-account-summary small { color:var(--meedo-muted); font-size:.63rem; }
.meedo-account-menu .dropdown-item { display:flex; align-items:center; gap:9px; padding:10px 12px; border-radius:7px; font-size:.73rem; }
.meedo-account-menu .dropdown-item:not(:disabled):hover { background:var(--meedo-primary-light); color:var(--meedo-primary-dark); }
.meedo-account-menu .meedo-logout:not(:disabled) { color:#b43e3e; }

.meedo-shell-pagebar { gap:14px; flex-wrap:wrap; padding:15px 20px 10px !important; background:var(--meedo-bg) !important; border-bottom:0 !important; }
.meedo-shell-pagebar .page-title { font-size:1.18rem !important; white-space:normal; }
.meedo-shell-pagebar .page-description { font-size:.64rem !important; white-space:normal; line-height:1.45; }
.meedo-shell-pagebar .page-heading { flex:1 1 260px; }
#meedoPageActions { margin-left:auto; max-width:100%; flex-shrink:0; }
#meedoPageActions .meedo-dashboard-filter-menu .meedo-form-section-title { color:#334155; font-size:.75rem; margin-bottom:12px; }
#meedoPageActions .meedo-dashboard-filter-menu .meedo-control:focus { border-color:#80a9a2; box-shadow:0 0 0 2px rgba(57,127,121,.12); }
#meedoPageActions .meedo-btn-primary { background:var(--meedo-primary-light); border-color:var(--meedo-primary-border); color:var(--meedo-primary-dark); }
#meedoPageActions .meedo-btn-primary:hover { background:var(--meedo-primary); border-color:var(--meedo-primary); color:#fff; }

.meedo-sidebar :is(a,button):focus-visible,
.meedo-shell-header :is(a,button):focus-visible { outline:3px solid #83cfc2; outline-offset:2px; }

@media (max-width:1199.98px) {
    .meedo-header-title { display:block; }
    .meedo-header-municipality { display:block; font-size:.58rem; margin-bottom:2px; }
    .meedo-header-divider { display:none; }
}
@media (max-width:991.98px) {
    .meedo-sidebar { max-width:calc(100vw - 40px); }
    .meedo-main { margin-left:0; }
    .meedo-menu-toggle,.meedo-sidebar-close { display:inline-flex; align-items:center; justify-content:center; }
    .meedo-shell-header { padding:0 14px; }
    .meedo-shell-pagebar { padding:13px 15px 8px !important; }
}
@media (max-width:767.98px) {
    .meedo-account-copy { display:none; }
    .meedo-shell-pagebar { gap:10px; }
}
@media (max-width:575.98px) {
    .meedo-header-municipality { display:none; }
    .meedo-shell-header { gap:6px; padding:0 10px; }
    .meedo-header-title { font-size:.6rem; }
    .meedo-header-main,.meedo-header-actions { gap:6px; }
    .meedo-account { padding-left:6px; }
    .meedo-account-toggle { gap:5px; padding:2px; }
    .meedo-shell-pagebar { padding:12px 15px 6px !important; }
    #meedoPageActions { width:100%; margin:0; justify-content:flex-end; }
}
@media (prefers-reduced-motion:reduce) { .meedo-sidebar,.menu-link,.menu-chevron,.meedo-account-chevron { transition:none; } }
@media print { .meedo-sidebar,.meedo-topbar,.meedo-pagebar,.sidebar-backdrop,.meedo-skip-link { display:none !important; } }
