:root {
    --mgis-primary: #1565c0;
    --mgis-sidebar: #0d2438;
    --mgis-sidebar-hover: #16395a;
}

html, body { font-family: 'Segoe UI', 'Sarabun', Tahoma, sans-serif; margin: 0; }

/* ---------- layout ---------- */
.mgis-app { display: flex; min-height: 100vh; }
.mgis-main { flex: 1; display: flex; flex-direction: column; background: #f4f6f9; min-width: 0; }
.mgis-topbar {
    height: 56px; background: #fff; border-bottom: 1px solid #e3e6ea;
    display: flex; align-items: center; justify-content: flex-end; padding: 0 20px;
}
.mgis-content { padding: 24px; flex: 1; }

/* ---------- sidebar ---------- */
.mgis-sidebar { width: 250px; background: var(--mgis-sidebar); color: #cdd6e0; flex-shrink: 0; }
.mgis-brand { font-size: 1.4rem; font-weight: 700; color: #fff; padding: 16px 20px; border-bottom: 1px solid #1c3a57; }
.mgis-nav, .mgis-sub { list-style: none; margin: 0; padding: 0; }
.mgis-sub { padding-left: 14px; }
.mgis-link {
    display: flex; align-items: center; gap: 10px; padding: 11px 20px;
    color: #cdd6e0; text-decoration: none; cursor: pointer; font-size: .95rem;
}
.mgis-link:hover { background: var(--mgis-sidebar-hover); color: #fff; }
.mgis-link.active { background: var(--mgis-primary); color: #fff; }
.mgis-parent { font-weight: 600; }

/* ---------- login ---------- */
.mgis-login-bg {
    min-height: 100vh; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #1565c0, #0d2438);
}
.mgis-login-card { background: #fff; padding: 36px; border-radius: 12px; width: 360px; max-width: 92vw; }

/* ---------- map ---------- */
.mgis-map { width: 100%; height: 70vh; border: 1px solid #ccc; border-radius: 6px; }

/* ---------- blazor error ---------- */
#blazor-error-ui {
    display: none; position: fixed; bottom: 0; left: 0; right: 0;
    background: #ffe9e9; color: #842029; padding: 10px 20px; box-shadow: 0 -1px 4px rgba(0,0,0,.2); z-index: 1000;
}
#blazor-error-ui .dismiss { cursor: pointer; float: right; }
