body{margin:0;font-family:Arial,sans-serif;background:#f3f6f5;color:#15211d}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(420px,100%);background:#fff;border:1px solid #dce5e1;border-radius:20px;padding:36px;box-shadow:0 22px 60px rgba(20,55,43,.1)}.brand-mark{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:#117a5b;color:#fff;font-weight:800;margin-bottom:20px}label{display:block;font-size:14px;font-weight:700;margin:18px 0 7px}input{width:100%;box-sizing:border-box;border:1px solid #dce5e1;border-radius:11px;padding:13px 14px;font-size:16px}button{width:100%;margin-top:22px;border:0;border-radius:11px;padding:14px;background:#117a5b;color:#fff;font-size:16px;font-weight:800}.alert{background:#fff2f2;border:1px solid #efcaca;color:#972c2c;border-radius:10px;padding:11px 13px;margin:16px 0}.layout{min-height:100vh;display:grid;grid-template-columns:250px 1fr}aside{background:#0b523e;color:#fff;padding:28px 20px}.logo{font-size:22px;font-weight:900;margin-bottom:30px}nav{display:grid;gap:7px}nav a{color:rgba(255,255,255,.78);text-decoration:none;padding:11px 13px;border-radius:9px}nav a.active,nav a:hover{background:rgba(255,255,255,.12);color:#fff}.content{padding:32px}header{display:flex;align-items:center;justify-content:space-between}.logout{color:#0b523e;text-decoration:none;font-weight:700}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0}.cards article,.panel{background:#fff;border:1px solid #dce5e1;border-radius:15px;padding:22px}.cards strong{display:block;font-size:30px;color:#117a5b}.cards span{color:#6b7973;font-size:14px}@media(max-width:850px){.layout{grid-template-columns:1fr}aside{display:none}.cards{grid-template-columns:1fr 1fr}}@media(max-width:520px){.cards{grid-template-columns:1fr}}

.nav-label {
    margin: 20px 12px 5px;
    color: rgba(255,255,255,.45);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.page-alert {
    margin: 20px 0;
}

.success {
    background: #eaf8f1;
    border: 1px solid #b9e2cc;
    color: #176443;
    border-radius: 10px;
    padding: 11px 13px;
}

.narrow-panel {
    max-width: 650px;
}

.panel-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
}

.table-wrap {
    overflow-x: auto;
    margin-top: 18px;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th, td {
    text-align: left;
    padding: 13px 12px;
    border-bottom: 1px solid var(--line);
    white-space: nowrap;
}

th {
    color: var(--muted);
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.badge {
    display: inline-block;
    padding: 5px 9px;
    border-radius: 999px;
    background: #eaf8f1;
    color: var(--emerald-dark);
    font-size: 12px;
    font-weight: 800;
}


select {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 11px;
    padding: 13px 14px;
    font-size: 16px;
    background: white;
}

.button-link {
    display: inline-block;
    text-decoration: none;
    background: var(--emerald);
    color: white;
    padding: 11px 15px;
    border-radius: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.inline-form {
    display: inline;
}

.small-button {
    width: auto;
    margin: 0;
    padding: 8px 11px;
    font-size: 13px;
}

.team-card {
    margin-top: 18px;
    border: 1px solid var(--line);
    border-radius: 13px;
    padding: 18px;
}

.team-card h3 {
    margin: 0 0 5px;
}

.team-card p {
    color: var(--muted);
    margin-bottom: 10px;
}

.member-list {
    margin: 14px 0;
    padding-left: 20px;
}

.member-form {
    display: grid;
    grid-template-columns: 2fr 1fr auto;
    gap: 10px;
    align-items: center;
}

@media (max-width: 700px) {
    .panel-heading {
        display: grid;
    }
    .member-form {
        grid-template-columns: 1fr;
    }
}


.table-action,
.secondary-link {
    display: inline-block;
    text-decoration: none;
    font-weight: 800;
    color: var(--emerald-dark);
}

.secondary-link {
    margin-top: 14px;
}

.team-top,
.member-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.member-list li {
    padding: 8px 0;
    border-bottom: 1px solid var(--line);
}

.member-list li form {
    margin: 0;
}

.danger-link {
    width: auto;
    margin: 0;
    padding: 0;
    background: transparent;
    color: #a33;
    font-size: 13px;
}

small {
    color: var(--muted);
}


.filter-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr auto;
    gap: 10px;
    margin: 20px 0;
}

.form-grid.two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 18px;
}

textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 11px;
    padding: 13px 14px;
    font: inherit;
    resize: vertical;
}

fieldset {
    margin: 22px 0;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 16px;
}

legend {
    padding: 0 8px;
    font-weight: 800;
}

.roles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.check-card {
    display: flex;
    gap: 9px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 10px;
    margin: 0;
}

.check-card input {
    width: auto;
    margin: 0;
}

.crm-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 20px;
}

.contact-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.eyebrow {
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 11px;
    font-weight: 800;
    color: var(--muted);
}

.summary-box {
    font-size: 17px;
    line-height: 1.6;
    background: #f6fbf8;
    border-left: 4px solid var(--emerald);
    padding: 16px;
    border-radius: 8px;
}

.data-list {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 12px;
}

.data-list dt {
    color: var(--muted);
    font-weight: 800;
}

.data-list dd {
    margin: 0;
}

.timeline {
    display: grid;
    gap: 13px;
}

.timeline-item {
    border-left: 3px solid var(--emerald);
    padding: 4px 0 4px 14px;
}

.timeline-item span {
    display: block;
    color: var(--muted);
    font-size: 13px;
    margin-top: 3px;
}

@media (max-width: 900px) {
    .filter-grid,
    .form-grid.two,
    .roles-grid,
    .crm-grid {
        grid-template-columns: 1fr;
    }

    .contact-header {
        align-items: flex-start;
        gap: 15px;
    }
}

.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.actions{display:flex;gap:10px}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:13px;border-bottom:1px solid var(--line);text-align:left}.table-wrap small{display:block;color:var(--muted)}.owner-select-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:260px;overflow:auto}.property-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.property-kpis span{display:block;color:var(--muted);font-size:12px}.property-kpis strong{display:block;margin-top:6px}@media(max-width:900px){.property-kpis,.owner-select-list{grid-template-columns:1fr}.section-heading{flex-direction:column}}.button-row{display:flex;gap:10px;flex-wrap:wrap}.property-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.property-card h3{margin:.7rem 0}.property-card-top{display:flex;justify-content:space-between;gap:8px}.badge{background:#e8f4ef;color:#096b4c;padding:4px 9px;border-radius:999px;font-size:.8rem}.location-dot{font-weight:700;font-size:.85rem}.location-dot.confirmed{color:#087f5b}.location-dot.missing,.location-dot.estimated{color:#c07a00}.property-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px}.property-map{height:390px;border-radius:12px;margin:12px 0;background:#eef2ef}.full-button{width:100%}.report-guide{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.report-guide span{background:#f1f5f3;padding:7px 10px;border-radius:8px;font-size:.85rem}.audio-recorder{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}.audio-recorder audio{width:100%}.sticky-action{position:sticky;bottom:14px;margin:14px}.muted{color:#68766f}.table-wrap{overflow:auto}.table-wrap table{min-width:1100px}@media(max-width:800px){.property-summary{grid-template-columns:1fr}.property-map{height:330px}}


/* =========================================================
   Emerald Core — Navegación Mobile First
   ========================================================= */

:root{
    --emerald:#117a5b;
    --emerald-dark:#0b523e;
    --line:#dce5e1;
    --muted:#68766f;
}

.logo{
    color:#fff;
    text-decoration:none;
}

.sidebar-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.mobile-topbar,
.mobile-nav-overlay,
.mobile-menu-close,
.mobile-page-context{
    display:none;
}

nav a[aria-disabled="true"]{
    opacity:.55;
    pointer-events:none;
}

nav a small{
    font-size:10px;
    margin-left:4px;
    opacity:.8;
}

.nav-mobile-logout{
    display:none;
}

@media (max-width:850px){
    body{
        padding-top:64px;
    }

    .layout{
        display:block;
        min-height:calc(100vh - 64px);
    }

    .mobile-topbar{
        position:fixed;
        z-index:1200;
        top:0;
        left:0;
        right:0;
        height:64px;
        padding:0 14px;
        box-sizing:border-box;
        display:grid;
        grid-template-columns:44px 1fr 44px;
        align-items:center;
        gap:8px;
        background:#fff;
        border-bottom:1px solid #dce5e1;
        box-shadow:0 4px 18px rgba(16,48,38,.08);
    }

    .mobile-menu-button{
        width:44px;
        height:44px;
        margin:0;
        padding:11px;
        display:flex;
        flex-direction:column;
        justify-content:center;
        gap:5px;
        border-radius:11px;
        background:#edf6f2;
    }

    .mobile-menu-button span{
        display:block;
        height:2px;
        width:100%;
        border-radius:2px;
        background:#0b523e;
    }

    .mobile-brand{
        color:#0b523e;
        text-decoration:none;
        font-size:18px;
        font-weight:900;
        text-align:center;
    }

    .mobile-properties-link{
        width:44px;
        height:44px;
        display:grid;
        place-items:center;
        color:#0b523e;
        background:#edf6f2;
        border-radius:11px;
        text-decoration:none;
        font-size:23px;
        font-weight:900;
    }

    aside{
        display:block;
        position:fixed;
        z-index:1300;
        top:0;
        bottom:0;
        left:0;
        width:min(84vw,330px);
        padding:22px 18px;
        box-sizing:border-box;
        overflow-y:auto;
        transform:translateX(-105%);
        transition:transform .22s ease;
        box-shadow:10px 0 36px rgba(0,0,0,.18);
    }

    .mobile-nav-open aside{
        transform:translateX(0);
    }

    .mobile-nav-overlay{
        position:fixed;
        z-index:1250;
        inset:0;
        background:rgba(0,0,0,.42);
    }

    .mobile-nav-open .mobile-nav-overlay{
        display:block;
    }

    .mobile-nav-open{
        overflow:hidden;
    }

    .mobile-menu-close{
        width:42px;
        height:42px;
        margin:0;
        padding:0;
        display:grid;
        place-items:center;
        border-radius:10px;
        background:rgba(255,255,255,.12);
        color:#fff;
        font-size:28px;
        line-height:1;
    }

    aside .logo{
        margin:0;
        font-size:21px;
    }

    aside nav{
        margin-top:22px;
    }

    aside nav a{
        min-height:46px;
        box-sizing:border-box;
        display:flex;
        align-items:center;
        font-size:16px;
    }

    .nav-mobile-logout{
        display:block;
        margin-top:22px;
        padding-top:16px;
        border-top:1px solid rgba(255,255,255,.14);
    }

    .content{
        padding:18px 16px 32px;
        width:100%;
        box-sizing:border-box;
        overflow-x:hidden;
    }

    .desktop-page-header{
        display:none;
    }

    .mobile-page-context{
        display:flex;
        flex-direction:column;
        gap:4px;
        margin:4px 0 20px;
    }

    .mobile-page-context strong{
        color:#15211d;
        font-size:26px;
        line-height:1.15;
    }

    .mobile-page-context span{
        color:#68766f;
        font-size:15px;
    }

    .cards{
        grid-template-columns:1fr 1fr;
        gap:12px;
        margin:18px 0;
    }

    .cards article,
    .panel{
        border-radius:18px;
    }

    .cards article{
        padding:18px;
        min-height:108px;
        box-sizing:border-box;
    }

    .cards strong{
        font-size:34px;
    }

    .property-grid{
        grid-template-columns:1fr;
        gap:12px;
    }

    .property-card{
        padding:16px;
    }

    .section-heading{
        margin-bottom:14px;
    }

    .actions,
    .button-row{
        width:100%;
    }

    .actions .button-link,
    .button-row .button-link{
        flex:1 1 auto;
        text-align:center;
    }

    .filter-grid{
        grid-template-columns:1fr;
    }

    .table-wrap{
        margin-left:-4px;
        margin-right:-4px;
        padding-bottom:8px;
        -webkit-overflow-scrolling:touch;
    }

    input, select, textarea, button{
        min-height:44px;
    }

    .property-map{
        height:48vh;
        min-height:300px;
        max-height:480px;
    }
}

@media (max-width:520px){
    .cards{
        grid-template-columns:1fr;
    }

    .cards article{
        min-height:118px;
        padding:22px;
    }

    .content{
        padding:16px 14px 28px;
    }

    .mobile-page-context strong{
        font-size:25px;
    }

    .panel{
        padding:18px;
    }

    .property-card-top{
        align-items:flex-start;
        flex-direction:column;
    }

    .property-summary{
        grid-template-columns:1fr;
    }

    .data-list{
        grid-template-columns:1fr;
        gap:5px;
    }

    .data-list dd{
        margin-bottom:10px;
    }
}

/* Emerald OS · Investigación v1 */
.investigation-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.investigation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.investigation-card{overflow:hidden;padding:0}
.investigation-photo-wrap{aspect-ratio:16/10;background:#eef3f1;overflow:hidden}
.investigation-photo{width:100%;height:100%;object-fit:cover;display:block}
.investigation-photo-placeholder{height:100%;display:grid;place-items:center;color:#75817c}
.investigation-card-body{padding:16px;display:flex;flex-direction:column;gap:8px}
.investigation-card-body h3,.investigation-card-body p{margin:0}
.success-inline{padding:9px 11px;background:#eaf6f0;border-radius:10px;color:#0b5d46}
.next-action{padding-top:8px;border-top:1px solid #e7ece9}
.investigation-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.5fr);gap:18px;margin-bottom:18px}
.investigation-evidence{align-self:start}
.investigation-detail-photo{width:100%;max-height:520px;object-fit:contain;background:#111;border-radius:14px;display:block;margin:12px 0 18px}
.notice{padding:15px 18px;border-radius:14px;margin:0 0 18px;background:#f7f3df;border:1px solid #e9dfaa;color:#594b0c}
.important-notice strong{color:#3d3207}
.duplicate-list{display:flex;flex-direction:column;gap:10px}
.duplicate-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px;border:1px solid #e1e8e4;border-radius:12px;background:#fbfcfb}
.inline-form-block{margin-top:18px;padding-top:18px;border-top:1px solid #e3e9e6}
.timeline{display:flex;flex-direction:column;gap:12px;margin:14px 0 22px}
.timeline-item{padding:14px 16px;border-left:4px solid #0b6b50;background:#f7faf8;border-radius:0 12px 12px 0}
.timeline-item p{margin:7px 0}
.timeline-item details{margin:9px 0}
@media(max-width:900px){.investigation-layout{grid-template-columns:1fr}.investigation-cards{grid-template-columns:1fr 1fr}.duplicate-item{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.investigation-cards{grid-template-columns:1fr}.investigation-grid{grid-template-columns:1fr}}

/* Investigación v1.2: depuración segura + ajuste de pin */
.workflow-steps{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.workflow-step{padding:8px 12px;border-radius:999px;background:#eef2f0;color:#53615b;font-size:13px;font-weight:700}
.workflow-step.current{background:#fff3cd;color:#775c00;border:1px solid #ead58b}
.workflow-step.done{background:#e1f3ea;color:#0b523e;border:1px solid #b9ddcf}
.section-heading.compact{margin-bottom:16px;align-items:flex-start}
.depuration-card{border:2px solid #d6e2dd}
.depuration-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:24px;align-items:start}
.depuration-grid form{display:grid;gap:14px}
.depuration-grid label{display:grid;gap:6px;font-weight:700}
.depuration-grid textarea{min-height:90px}
.depuration-badge{margin-left:auto}
.location-card{overflow:visible}
.investigation-map{height:430px;border-radius:14px;border:1px solid #d7dfdc;overflow:hidden;margin:14px 0;background:#eef2f0;z-index:1}
.location-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.location-comparison>div{padding:12px;border-radius:12px;background:#f6f8f7;border:1px solid #e2e8e5;font-size:14px}
.location-form{margin-top:12px}
@media(max-width:760px){
  .depuration-grid{grid-template-columns:1fr}
  .investigation-map{height:360px}
  .location-comparison{grid-template-columns:1fr}
  .workflow-step{font-size:12px;padding:7px 10px}
}

/* Investigación v1.3: historial de movimientos del pin */
.location-history{margin-top:22px;padding-top:18px;border-top:1px solid #dfe7e3}
.location-history h4{margin:0 0 12px}
.location-history table{min-width:900px}
.location-history td{vertical-align:top}
.location-card textarea{width:100%}
.location-card .notice{margin-top:12px}


/* =========================================================
   Emerald Core — Investigación V1.4 · Mapa primero
   ========================================================= */

.investigation-heading{
    align-items:center;
}

.investigation-view-switch{
    display:flex;
    gap:8px;
    margin:18px 0 12px;
    padding:5px;
    width:max-content;
    max-width:100%;
    background:#e8efec;
    border-radius:12px;
}

.investigation-view-button{
    width:auto;
    min-width:125px;
    margin:0;
    padding:10px 16px;
    background:transparent;
    color:#315046;
    border-radius:9px;
    box-shadow:none;
}

.investigation-view-button.active{
    background:#117a5b;
    color:#fff;
}

.investigation-view-panel[hidden]{
    display:none !important;
}

.investigation-map-shell{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 390px;
    gap:16px;
    min-height:680px;
}

.investigation-map-column{
    min-width:0;
    background:#fff;
    border:1px solid #dce5e1;
    border-radius:16px;
    overflow:hidden;
}

.investigation-map-toolbar{
    min-height:64px;
    padding:12px 16px;
    box-sizing:border-box;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    border-bottom:1px solid #dce5e1;
}

.investigation-map-toolbar strong{
    display:block;
    font-size:18px;
}

.investigation-map-toolbar > div:first-child span{
    display:block;
    margin-top:3px;
    color:#68766f;
    font-size:13px;
}

.investigation-map-legend{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px 12px;
    color:#68766f;
    font-size:12px;
}

.investigation-map-legend span{
    display:inline-flex;
    align-items:center;
    gap:5px;
}

.pin-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    display:inline-block;
}

.pin-dot.pending{background:#c48a16}
.pin-dot.researching{background:#117a5b}
.pin-dot.possible-duplicate{background:#c86c18}
.pin-dot.linked{background:#146c43}
.pin-dot.discarded{background:#8b9490}

.investigation-city-map{
    width:100%;
    height:calc(100vh - 295px);
    min-height:600px;
    background:#e9efec;
}

.investigation-map-empty{
    margin:18px;
}

.investigation-map-panel{
    position:relative;
    width:auto;
    background:#fff;
    color:#15211d;
    padding:18px;
    border:1px solid #dce5e1;
    border-radius:16px;
    overflow:auto;
    max-height:calc(100vh - 230px);
    box-sizing:border-box;
}

.investigation-map-panel-empty{
    min-height:260px;
    display:grid;
    align-content:center;
    text-align:center;
    color:#68766f;
}

.investigation-map-panel-empty strong{
    color:#15211d;
    font-size:20px;
}

.map-panel-head{
    display:grid;
    gap:10px;
    margin-bottom:14px;
}

.map-panel-head > div{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.map-panel-head > strong{
    font-size:22px;
}

.map-panel-photo-wrap{
    background:#eef3f1;
    border-radius:12px;
    overflow:hidden;
    min-height:190px;
    margin-bottom:16px;
    display:grid;
    place-items:center;
}

.map-panel-photo-wrap img{
    display:block;
    width:100%;
    max-height:330px;
    object-fit:contain;
    background:#101614;
}

.map-panel-data{
    grid-template-columns:115px 1fr;
    gap:8px 10px;
    font-size:13px;
    margin:0 0 16px;
}

.map-panel-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:14px 0;
}

.map-panel-actions .button,
.map-panel-actions .button.secondary{
    width:100%;
    box-sizing:border-box;
    margin:0;
    text-align:center;
}

.map-panel-actions #panelOpenInvestigation{
    grid-column:1 / -1;
}

.map-panel-box{
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid #dce5e1;
}

.map-panel-box h4{
    margin:0 0 4px;
}

.map-panel-box p{
    margin:0 0 10px;
    color:#68766f;
    font-size:13px;
    line-height:1.45;
}

.map-panel-box label{
    margin-top:12px;
}

.map-panel-box button{
    margin-top:12px;
}

.map-panel-coordinate-preview{
    margin-top:10px;
    padding:9px 10px;
    background:#eef6f2;
    border-radius:9px;
    font-size:13px;
    font-weight:700;
    color:#0b523e;
}

.investigation-div-icon{
    background:transparent !important;
    border:0 !important;
}

.investigation-pin{
    position:relative;
    width:26px;
    height:26px;
    display:block;
    background:var(--pin-color,#117a5b);
    border:3px solid #fff;
    border-radius:50% 50% 50% 0;
    transform:rotate(-45deg);
    box-shadow:0 2px 8px rgba(0,0,0,.35);
    box-sizing:border-box;
}

.investigation-pin b{
    position:absolute;
    width:7px;
    height:7px;
    background:#fff;
    border-radius:50%;
    left:7px;
    top:7px;
}

.investigation-pin.corrected{
    box-shadow:0 0 0 3px rgba(17,122,91,.24),0 2px 8px rgba(0,0,0,.35);
}

.investigation-pin.selected{
    transform:rotate(-45deg) scale(1.28);
    z-index:10;
}

@media(max-width:1100px){
    .investigation-map-shell{
        grid-template-columns:minmax(0,1fr) 340px;
    }
}

@media(max-width:850px){
    .investigation-heading{
        align-items:flex-start;
    }

    .investigation-heading form{
        width:100%;
    }

    .investigation-heading form button{
        width:100%;
    }

    .investigation-view-switch{
        width:100%;
        box-sizing:border-box;
    }

    .investigation-view-button{
        flex:1 1 50%;
        min-width:0;
    }

    .investigation-map-shell{
        display:block;
        min-height:0;
    }

    .investigation-map-column{
        border-radius:14px;
    }

    .investigation-map-toolbar{
        display:grid;
        align-items:start;
    }

    .investigation-map-legend{
        justify-content:flex-start;
    }

    .investigation-city-map{
        height:58vh;
        min-height:420px;
    }

    .investigation-map-panel{
        margin-top:12px;
        max-height:none;
        border-radius:14px;
    }

    .map-panel-actions{
        grid-template-columns:1fr;
    }

    .map-panel-actions #panelOpenInvestigation{
        grid-column:auto;
    }
}

@media(max-width:520px){
    .investigation-city-map{
        height:52vh;
        min-height:360px;
    }

    .investigation-map-toolbar{
        padding:12px;
    }

    .investigation-map-panel{
        padding:14px;
    }

    .map-panel-data{
        grid-template-columns:95px 1fr;
        font-size:12px;
    }
}
