:root {
    --bg: #f5f7fb;
    --panel: #ffffff;
    --text: #172033;
    --muted: #6b7280;
    --line: #e6eaf0;
    --sidebar: #111827;
    --sidebar-soft: #1f2937;
    --primary: #2563eb;
    --accent: #f59e0b;
    --green: #10b981;
    --red: #ef4444;
    --shadow: 0 18px 45px rgba(18, 31, 56, .08);
}

/* Public homepage founder */
.intro-founder{background:#f8fafc}
.intro-founder-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:28px;align-items:center;max-width:1050px;margin:0 auto;padding:36px;border:1px solid #e5e7eb;border-radius:18px;background:linear-gradient(135deg,#111827,#1e3a8a);color:#fff;box-shadow:0 24px 60px rgba(15,23,42,.18)}
.intro-founder-mark{width:110px;height:110px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f47b20;color:#111827;font-size:48px}
.intro-founder-card span{color:#fbbf24;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.09em}
.intro-founder-card h2{margin:8px 0 4px;font-size:clamp(34px,5vw,58px);color:#fff}
.intro-founder-card b{display:block;color:#dbeafe}
.intro-founder-card p{max-width:760px;margin:14px 0 0;color:#dbeafe;line-height:1.8}
@media(max-width:960px){.intro-founder-card{grid-template-columns:1fr;padding:26px}.intro-founder-mark{width:82px;height:82px;font-size:36px}}
* { box-sizing: border-box; }
body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: "Be Vietnam Pro", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: 0;
}
body, .app-shell, .main, .content, .card, .stat-card, .modal-panel, .form-row, .project-list-body, .asset-card, .rich-content {
    min-width: 0;
}
.card, .stat-card, .modal-panel, .sidebar-card, .nav-link, .btn, .badge, .user-pill, .project-list-body, .asset-card, .rich-content, .rich-area, table, th, td {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.login-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    background: radial-gradient(circle at top left, #dbeafe, transparent 34%), #f5f7fb;
}
.login-card {
    width: min(430px, 100%);
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--shadow);
}
.login-card h1 { margin-bottom: 8px; }
.google-login-btn {
    width: 100%;
    margin: 16px 0 14px;
    min-height: 46px;
    background: #fff;
    border-color: #d0d5dd;
    color: #1f2937;
    font-weight: 800;
}
.google-login-btn i { color: #ea4335; font-size: 20px; }
.login-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 4px 0 14px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}
.login-divider:before, .login-divider:after {
    content: "";
    height: 1px;
    flex: 1;
    background: var(--line);
}
.alert-error {
    margin: 16px 0;
    padding: 12px;
    border-radius: 10px;
    background: #fee2e2;
    color: #991b1b;
    font-weight: 700;
    font-size: 13px;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 280px 1fr; transition: grid-template-columns .22s cubic-bezier(0.4, 0, 0.2, 1); }
.app-shell.sidebar-collapsed { grid-template-columns: 86px 1fr; }
.sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    background: var(--sidebar);
    color: #e5e7eb;
    padding: 22px 18px;
    display: flex;
    flex-direction: column;
    gap: 22px;
    z-index: 1000;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), width 0.25s cubic-bezier(0.4, 0, 0.2, 1), padding 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.sidebar-toggle {
    position: absolute;
    right: -14px;
    top: 20px;
    z-index: 1001;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    background: #fff;
    color: #111827;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(15,23,42,.18);
    transition: left 0.25s cubic-bezier(0.4, 0, 0.2, 1), right 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s ease, background 0.2s ease;
}
.sidebar-toggle span { display: none; }
.app-shell.sidebar-collapsed .brand span:not(.brand-mark),
.app-shell.sidebar-collapsed .nav-link span,
.app-shell.sidebar-collapsed .nav-group,
.app-shell.sidebar-collapsed .sidebar-card { display: none; }
.app-shell.sidebar-collapsed .sidebar { padding: 22px 14px; align-items: center; }
.app-shell.sidebar-collapsed .brand { padding-inline: 0; }
.app-shell.sidebar-collapsed .nav-link { justify-content: center; width: 48px; }
.brand { display: flex; align-items: center; gap: 12px; padding: 8px 10px 18px; border-bottom: 1px solid rgba(255,255,255,.08); }
.brand-mark {
    width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center;
    color: #111827; background: linear-gradient(135deg, #fbbf24, #60a5fa); font-weight: 800;
}
.brand strong { display: block; font-size: 18px; }
.brand small { color: #9ca3af; font-size: 12px; }
.nav { overflow-y: auto; padding-right: 4px; }
.nav::-webkit-scrollbar { width: 0; height: 0; }
.nav-group { margin: 18px 10px 8px; color: #818cf8; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.nav-link {
    min-height: 44px; display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px;
    color: #cbd5e1; margin-bottom: 4px; transition: background .18s ease, color .18s ease, transform .18s ease;
}
.nav-link i { font-size: 20px; width: 22px; text-align: center; }
.nav-link:hover, .nav-link.active { background: var(--sidebar-soft); color: #fff; transform: translateX(2px); }
.nav-link.active { box-shadow: inset 3px 0 0 var(--accent); }
.sidebar-card {
    margin-top: auto; padding: 16px; border-radius: 12px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08);
}
.sidebar-card strong { display: block; margin: 6px 0; color: #fff; }
.sidebar-card p, .mini-label { margin: 0; color: #a7b0c0; font-size: 12px; line-height: 1.6; }
.main { min-width: 0; }
.topbar {
    position: sticky; top: 0; z-index: 10; min-height: 86px; background: rgba(245,247,251,.86); backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--line); padding: 18px 28px; display: flex; justify-content: space-between; gap: 20px; align-items: center;
}
.breadcrumb { margin: 0 0 6px; color: var(--muted); font-size: 12px; font-weight: 600; }
h1 { margin: 0; font-size: 28px; line-height: 1.2; }
h2 { margin: 0; font-size: 18px; }
h3 { margin: 0; font-size: 15px; }
.top-actions { display: flex; gap: 10px; align-items: center; }
.top-actions, .inline-actions, .filter-actions, .card-head, .page-actions, .project-metrics, .project-detail-stats {
    min-width: 0;
}
.search-box {
    width: min(360px, 34vw); min-height: 44px; display: flex; align-items: center; gap: 8px;
    background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 0 12px;
}
.search-box input { width: 100%; border: 0; outline: 0; color: var(--text); }
.icon-btn, .btn {
    min-height: 40px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--text);
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 14px; cursor: pointer; white-space: normal; text-align: center;
}
.icon-btn { width: 44px; min-width: 44px; padding: 0; font-size: 20px; white-space: nowrap; }
.btn-primary { background: var(--primary); border-color: var(--primary); color: #fff; }
.btn-danger { background: #fff1f2; border-color: #fecdd3; color: #be123c; }
.btn-soft { background: #eef2ff; border-color: #dbeafe; color: #1d4ed8; }
.user-pill { display: flex; align-items: center; gap: 8px; padding: 7px 12px; border: 1px solid var(--line); border-radius: 999px; background: #fff; }
.user-pill span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 999px; background: #111827; color: #fff; font-size: 12px; }
.notify-menu { position: relative; }
.notify-btn { position: relative; }
.notify-btn span { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; display: grid; place-items: center; background: #ef4444; color: #fff; font-size: 10px; font-weight: 800; }
.notify-panel { position: absolute; right: 0; top: calc(100% + 10px); width: min(360px, 92vw); display: none; z-index: 40; padding: 10px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow); }
.notify-menu.open .notify-panel { display: block; }
.notify-head { display: flex; justify-content: space-between; gap: 10px; padding: 8px 8px 10px; border-bottom: 1px solid var(--line); }
.notify-head a { color: var(--primary); font-size: 12px; font-weight: 800; }
.notify-item { display: grid; gap: 4px; padding: 10px 8px; border-bottom: 1px solid #f1f5f9; color: var(--text); text-decoration: none; }
.notify-item.unread { background: #eff6ff; border-radius: 10px; border-bottom-color: transparent; }
.notify-item span { font-weight: 800; font-size: 13px; }
.notify-item small, .notify-empty { color: var(--muted); font-size: 12px; }
.notify-empty { padding: 14px 8px; }
.notification-list { display: grid; gap: 10px; }
.notification-row { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.notification-row.unread { border-color: #bfdbfe; background: #eff6ff; }
.notification-row h3 { margin: 0 0 4px; }
.notification-row p { margin: 0 0 6px; color: #475569; }
.notification-row small { color: var(--muted); }
.notification-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: #eef2ff; color: #1d4ed8; font-size: 20px; }
.content { padding: 28px; }
.grid { display: grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fanpage-publisher-grid { align-items: start; }
.fanpage-publisher-grid > .card,
.fanpage-publisher-grid > form.card { align-self: start; }
.fanpage-post-form { align-content: start; }
.fanpage-post-form .form-row,
.fanpage-post-form .check-card { align-self: start; }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stat-card, .card {
    background: var(--panel); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow);
}
.stat-card { padding: 18px; display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.stat-card span { color: var(--muted); font-size: 13px; font-weight: 600; }
.stat-card strong { display: block; margin: 8px 0 4px; font-size: 25px; }
.stat-card small { color: var(--muted); font-size: 12px; }
.stat-card i { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; font-size: 24px; }
.tone-blue i { background: #dbeafe; color: #1d4ed8; }
.tone-amber i { background: #fef3c7; color: #b45309; }
.tone-green i { background: #d1fae5; color: #047857; }
.tone-red i { background: #fee2e2; color: #b91c1c; }
.card { padding: 20px; }
.card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.card-head > *, .page-actions > *, .inline-actions > *, .filter-actions > *, .project-metrics > *, .project-detail-stats > * {
    min-width: 0;
}
.muted { color: var(--muted); }
.table-wrap { overflow-x: auto; }
.table-mobile-tools { display: none; margin-bottom: 10px; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 13px 12px; text-align: left; border-bottom: 1px solid var(--line); font-size: 13px; vertical-align: top; }
th { color: #667085; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; }
.badge { display: inline-flex; align-items: center; min-height: 26px; border-radius: 999px; padding: 0 10px; font-size: 12px; font-weight: 700; background: #eef2ff; color: #3730a3; }
.badge-green { background: #dcfce7; color: #166534; }
.badge-amber { background: #fef3c7; color: #92400e; }
.badge-red { background: #ffe4e6; color: #be123c; }
.badge.green { background: #dcfce7; color: #166534; }
.badge.amber { background: #fef3c7; color: #92400e; }
.badge.red { background: #fee2e2; color: #991b1b; }
.badge.stage-new { background: #dbeafe; color: #1d4ed8; }
.badge.stage-consulting { background: #e0e7ff; color: #4338ca; }
.badge.stage-tour { background: #ccfbf1; color: #0f766e; }
.badge.stage-deposit { background: #fef3c7; color: #92400e; }
.badge.stage-signed { background: #dcfce7; color: #166534; }
.badge.stage-lost { background: #fee2e2; color: #991b1b; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.form-grid > .span-2, .form-grid > .form-wide { grid-column: 1 / -1; }
.form-row { display: flex; flex-direction: column; gap: 7px; }
.form-row.full { grid-column: 1 / -1; }
.form-row.form-actions { flex-direction: row; align-items: flex-end; }
.form-row label { color: #445066; font-size: 12px; font-weight: 800; }
.input, .form-row input, .form-row select, .form-row textarea {
    width: 100%; min-height: 42px; border: 1px solid var(--line); border-radius: 10px; background: #fff; padding: 10px 12px; outline: 0;
}
.form-row textarea { min-height: 96px; resize: vertical; }
.form-grid > label,
.form-grid .field-label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
    color: #445066;
    font-size: 12px;
    font-weight: 800;
}
.form-grid > label input,
.form-grid > label select,
.form-grid > label textarea,
.form-grid .field-label input,
.form-grid .field-label select,
.form-grid .field-label textarea {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    padding: 10px 12px;
    outline: 0;
    color: var(--text);
    font-weight: 600;
}
.form-grid > label textarea,
.form-grid .field-label textarea {
    min-height: 96px;
    resize: vertical;
    line-height: 1.55;
}
.form-grid > label input:focus,
.form-grid > label select:focus,
.form-grid > label textarea:focus,
.form-grid .field-label input:focus,
.form-grid .field-label select:focus,
.form-grid .field-label textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(244,123,32,.12);
}
.page-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.inline-actions { display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.form-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.btn.disabled { pointer-events: none; opacity: .48; }
.inventory-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    gap: 12px;
    align-items: end;
}
.inventory-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    align-items: stretch;
}
.inventory-summary-grid .stat-card { min-height: 108px; }
.inventory-filter, .inventory-import {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
}
.inventory-import { grid-template-columns: minmax(0, 1fr) auto; }
.inventory-table-wrap table { min-width: 1180px; }
.inventory-table-wrap th, .inventory-table-wrap td { max-width: 220px; }
.compact-filter-card { padding: 14px; }
.inventory-advanced-filter {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    align-items: end;
}
.inventory-advanced-filter .inline-actions { justify-content: flex-end; }
.filter-panel { margin-bottom: 14px; padding: 14px 16px; }
.filter-bar { display:flex; flex-direction:column; gap:8px; }
.filter-actions input,
.filter-actions select,
.inline-actions input,
.inline-actions select {
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    padding: 10px 12px;
    outline: 0;
    color: var(--text);
    font-weight: 600;
}
.filter-actions input:focus,
.filter-actions select:focus,
.inline-actions input:focus,
.inline-actions select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(244,123,32,.12);
}
.filter-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.filter-search { flex:1; min-width:160px; padding:7px 12px; border:1px solid var(--line); border-radius:8px; font-size:13px; outline:none; background:#fff; }
.filter-search:focus { border-color:var(--primary); }
.filter-select { padding:7px 10px; border:1px solid var(--line); border-radius:8px; font-size:13px; background:#fff; outline:none; cursor:pointer; min-width:110px; }
.filter-select:focus { border-color:var(--primary); }
.filter-btn { height:35px; width:35px; padding:0; display:flex; align-items:center; justify-content:center; }
.filter-date { padding:7px 10px; border:1px solid var(--line); border-radius:8px; font-size:13px; background:#fff; outline:none; }
.filter-perpage { padding:7px 10px; border:1px solid var(--line); border-radius:8px; font-size:13px; background:#fff; outline:none; }
.filter-advanced { padding-top:6px; }
.filter-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}
.filter-toolbar h2 { font-size: 15px; }
.filter-toolbar .muted { margin: 3px 0 0; font-size: 12px; }
.filter-actions { display: flex; gap: 8px; align-items: center; }
.filter-actions { flex-wrap: wrap; }
.filter-strip {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 0;
    overflow-x: auto;
    scrollbar-width: none;
}
.filter-strip::-webkit-scrollbar { display: none; }
.filter-more {
    display: none;
    margin-top: 6px;
    padding-top: 8px;
    border-top: 1px solid var(--line);
}
.filter-panel.expanded .filter-more { display: block; }
.filter-label {
    min-width: 74px;
    color: #445066;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}
.filter-chip {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: #fff;
    color: #344054;
    padding: 0 10px;
    font-size: 12px;
    font-weight: 700;
    transition: transform .14s ease, border-color .14s ease, background .14s ease, color .14s ease;
    flex: 0 0 auto;
}
.filter-chip:hover { transform: translateY(-1px); border-color: #bfdbfe; }
.filter-chip.active { background: #111827; border-color: #111827; color: #fff; }
.filter-chip.stage-new.active { background: #2563eb; border-color: #2563eb; }
.filter-chip.stage-consulting.active { background: #4f46e5; border-color: #4f46e5; }
.filter-chip.stage-tour.active { background: #0d9488; border-color: #0d9488; }
.filter-chip.stage-deposit.active { background: #d97706; border-color: #d97706; }
.filter-chip.stage-signed.active { background: #16a34a; border-color: #16a34a; }
.filter-chip.stage-lost.active { background: #dc2626; border-color: #dc2626; }
.kanban-board { display: grid; grid-template-columns: repeat(6, minmax(250px, 1fr)); gap: 14px; overflow-x: auto; padding-bottom: 8px; }
.kanban-column { background: #eef2f7; border: 1px solid #dfe6ef; border-top: 4px solid #94a3b8; border-radius: 12px; padding: 12px; min-height: 520px; }
.kanban-column.stage-new { border-top-color: #2563eb; background: #eff6ff; }
.kanban-column.stage-consulting { border-top-color: #4f46e5; background: #f1f3ff; }
.kanban-column.stage-tour { border-top-color: #0d9488; background: #ecfdf5; }
.kanban-column.stage-deposit { border-top-color: #d97706; background: #fffbeb; }
.kanban-column.stage-signed { border-top-color: #16a34a; background: #f0fdf4; }
.kanban-column.stage-lost { border-top-color: #dc2626; background: #fff1f2; }
.kanban-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-size: 13px; font-weight: 800; }
.kanban-title span:first-child { display: inline-flex; align-items: center; gap: 8px; }
.stage-dot { width: 10px; height: 10px; border-radius: 999px; background: #94a3b8; display: inline-block; }
.stage-new .stage-dot { background: #2563eb; }
.stage-consulting .stage-dot { background: #4f46e5; }
.stage-tour .stage-dot { background: #0d9488; }
.stage-deposit .stage-dot { background: #d97706; }
.stage-signed .stage-dot { background: #16a34a; }
.stage-lost .stage-dot { background: #dc2626; }
.lead-card {
    background: #fff; border: 1px solid var(--line); border-left: 4px solid #94a3b8; border-radius: 10px; padding: 12px; margin-bottom: 10px;
    box-shadow: 0 8px 18px rgba(17,24,39,.06); transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.lead-card.stage-new { border-left-color: #2563eb; }
.lead-card.stage-consulting { border-left-color: #4f46e5; }
.lead-card.stage-tour { border-left-color: #0d9488; }
.lead-card.stage-deposit { border-left-color: #d97706; }
.lead-card.stage-signed { border-left-color: #16a34a; }
.lead-card.stage-lost { border-left-color: #dc2626; }
.lead-card:hover { transform: translateY(-2px); border-color: #bfdbfe; box-shadow: 0 14px 28px rgba(37,99,235,.12); }
.lead-card.dragging { opacity: .72; transform: scale(.98); }
.lead-card.pointer-dragging {
    position: fixed;
    z-index: 1000;
    margin: 0;
    pointer-events: none;
    transform: rotate(.6deg) scale(1.02);
    box-shadow: 0 26px 60px rgba(17,24,39,.22);
}
.lead-placeholder {
    margin-bottom: 10px;
    border-radius: 10px;
    border: 1px dashed #2563eb;
    background: rgba(37, 99, 235, .08);
}
.lead-card.sortable-ghost { opacity: .45; border: 1px dashed #2563eb; }
.lead-card.sortable-chosen { transform: rotate(.4deg); }
.kanban-column.drag-over { background: #dbeafe; border-color: #93c5fd; }
.lead-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.lead-card strong { display: block; }
.drag-handle {
    width: 30px; height: 30px; border: 0; border-radius: 8px; display: grid; place-items: center;
    background: #f1f5f9; color: #64748b; cursor: grab; flex: 0 0 auto;
    touch-action: none;
}
.drag-handle:active { cursor: grabbing; }
.lead-meta { display: flex; flex-wrap: wrap; gap: 8px; color: var(--muted); font-size: 12px; }
.detail-hero { display: grid; grid-template-columns: 1.4fr .8fr; gap: 18px; }
.timeline { display: grid; gap: 12px; }
.timeline-item { border-left: 3px solid #dbeafe; padding-left: 12px; }
.progress-line { height: 8px; background: #e5e7eb; border-radius: 999px; overflow: hidden; }
.progress-line span { display: block; height: 100%; background: linear-gradient(90deg, #2563eb, #10b981); border-radius: inherit; }
.media-download-progress {
    padding: 12px;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    background: #eff6ff;
}
.media-progress-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 9px;
    color: #1e3a8a;
}
.media-progress-head span { font-weight: 900; }
.media-download-progress .progress-line { height: 10px; margin-bottom: 8px; }
.inventory-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; }
.unit-card { border: 1px solid var(--line); border-radius: 12px; padding: 14px; background: #fff; }
.unit-status { width: 10px; height: 10px; border-radius: 999px; display: inline-block; margin-right: 6px; background: var(--green); }
.unit-status.reserved { background: var(--accent); }
.unit-status.sold { background: var(--red); }
.org-levels { display: grid; gap: 10px; }
.org-level {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: start;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
}
.org-level p { margin: 4px 0 0; }
.team-section { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.team-section:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.team-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.user-card {
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 14px;
    background: #fff;
    box-shadow: 0 10px 22px rgba(17,24,39,.05);
}
.user-profile { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.avatar {
    width: 58px;
    height: 58px;
    border-radius: 14px;
    object-fit: cover;
    flex: 0 0 auto;
    border: 1px solid var(--line);
    background: #eef2ff;
}
.avatar-fallback {
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #10b981);
    font-weight: 800;
}
.user-profile h3 { margin: 0 0 4px; }
.user-profile p { margin: 0 0 8px; }
.user-kpis {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin: 12px 0;
    padding: 10px;
    border-radius: 10px;
    background: #f8fafc;
    color: #475569;
}
.org-tree-wrap {
    max-height: 560px;
    overflow: auto;
    padding-right: 4px;
}
.org-tree {
    list-style: none;
    margin: 0;
    padding-left: 18px;
    position: relative;
}
.org-tree > li {
    position: relative;
    padding: 6px 0 6px 16px;
}
.org-tree > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    border-left: 1px solid #d8dee9;
}
.org-tree > li::after {
    content: "";
    position: absolute;
    left: 0;
    top: 23px;
    width: 14px;
    border-top: 1px solid #d8dee9;
}
.tree-node,
.tree-person {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
}
.tree-node i { color: #d97706; font-size: 18px; }
.tree-person { background: #f8fafc; }
.tree-person span { display: grid; gap: 2px; }
.tree-person small { color: var(--muted); display: block; }
.tree-person em {
    margin-left: auto;
    color: #64748b;
    font-size: 12px;
    font-style: normal;
    white-space: nowrap;
}
.org-tree.people { margin-top: 6px; }
.avatar.tiny { width: 28px; height: 28px; border-radius: 8px; font-size: 11px; }
.avatar.large { width: 72px; height: 72px; border-radius: 16px; }
.avatar-config-row { display: flex; gap: 14px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #f8fafc; }
.avatar-config-fields { flex: 1; display: grid; gap: 10px; }
.color-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: #445066; font-size: 12px; font-weight: 800; }
.color-row input { width: 54px; min-height: 34px; padding: 2px; }
.modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(15, 23, 42, .52);
}
.modal-backdrop.open { display: flex; }
.modal-panel {
    width: min(760px, 96vw);
    max-height: 88vh;
    overflow: auto;
    padding: 20px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 30px 80px rgba(2, 6, 23, .28);
}
.modal-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.modal-head p { margin: 4px 0 0; }
.permission-table-wrap { overflow-x: auto; }
.perm-check {
    display: grid;
    place-items: center;
}
.perm-check input { width: 18px; height: 18px; accent-color: var(--primary); }
.permission-override {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
}
.permission-override h3 { margin-bottom: 6px; }
.permission-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 12px 0;
}
.permission-grid label {
    display: grid;
    gap: 6px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #f8fafc;
}
.permission-grid span { font-size: 12px; font-weight: 800; color: #445066; }
.permission-grid select { min-height: 38px; border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 8px; }
.avatar-config-fields input[type="file"] {
    min-height: 40px;
    padding: 8px;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    background: #fff;
}
.empty-state { padding: 26px; text-align: center; color: var(--muted); border: 1px dashed #cbd5e1; border-radius: 12px; background: #fff; }
.empty-state i { font-size: 30px; display: block; margin-bottom: 8px; }
.pagination {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 16px;
}
.page-link {
    min-width: 38px;
    min-height: 38px;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    font-size: 13px;
    font-weight: 800;
}
.page-link.active { background: var(--primary); border-color: var(--primary); color: #fff; }
.profile-preview {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #f8fafc;
}
.profile-preview img,
.profile-preview span {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    object-fit: cover;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 24px;
    font-weight: 800;
}
.profile-preview p { margin: 4px 0 0; }
.pdf-workbench { overflow: hidden; }
.pdf-tool-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 12px;
    margin-bottom: 16px;
}
.pdf-tab {
    min-height: 38px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    color: #344054;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
}
.pdf-tab.active { background: #111827; border-color: #111827; color: #fff; }
.pdf-panel {
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #f8fafc;
    padding: 16px;
}
.pdf-panel h3 { margin-bottom: 6px; }
.pdf-upload {
    min-height: 150px;
    margin: 14px 0;
    display: grid;
    place-items: center;
    gap: 6px;
    border: 1px dashed #94a3b8;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    text-align: center;
    padding: 18px;
}
.pdf-upload i { font-size: 34px; color: var(--primary); }
.pdf-upload span { font-weight: 800; }
.pdf-upload small { color: var(--muted); }
.pdf-upload input { display: none; }
.pdf-upload.dragging {
    border-color: #2563eb;
    background: #eff6ff;
    box-shadow: inset 0 0 0 2px rgba(37,99,235,.12);
}
.pdf-file-list,
.pdf-result-list { display: grid; gap: 10px; }
.pdf-file-item,
.pdf-result-item {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    padding: 10px;
}
.pdf-file-item[draggable="true"] { cursor: grab; }
.pdf-file-item.dragging { opacity: .55; transform: scale(.98); }
.pdf-file-item > i,
.pdf-result-item > i {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: #fee2e2;
    color: #b91c1c;
    font-size: 20px;
    flex: 0 0 auto;
}
.pdf-file-item div,
.pdf-result-item div { flex: 1; min-width: 0; }
.pdf-file-item strong,
.pdf-result-item strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pdf-file-item small,
.pdf-result-item small { display: block; color: var(--muted); margin-top: 3px; }
.pdf-thumb-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(86px, 1fr));
    gap: 10px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
}
.pdf-thumb {
    display: grid;
    gap: 6px;
    justify-items: center;
    padding: 8px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    position: relative;
}
.pdf-thumb canvas {
    width: 100%;
    height: auto;
    max-height: 126px;
    object-fit: contain;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 4px 10px rgba(15,23,42,.08);
}
.pdf-thumb small,
.pdf-thumb-more {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
}
.pdf-thumb-more {
    display: grid;
    place-items: center;
    min-height: 90px;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
}
.pdf-reorder-box { display: grid; gap: 12px; margin: 12px 0; }
.pdf-reorder-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
    gap: 12px;
}
.pdf-reorder-item {
    display: grid;
    gap: 7px;
    justify-items: center;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    cursor: grab;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
    position: relative;
}
.pdf-reorder-item:hover { border-color: #93c5fd; box-shadow: 0 10px 22px rgba(37,99,235,.12); transform: translateY(-1px); }
.pdf-reorder-item.dragging { opacity: .55; transform: scale(.96); }
.pdf-reorder-item.selected {
    border-color: #2563eb;
    background: #eff6ff;
    box-shadow: inset 0 0 0 2px rgba(37,99,235,.18), 0 10px 22px rgba(37,99,235,.10);
}
.pdf-page-delete {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border: 1px solid #fecdd3;
    border-radius: 999px;
    background: #fff1f2;
    color: #be123c;
    cursor: pointer;
    opacity: 0;
    transition: opacity .14s ease, transform .14s ease;
    z-index: 2;
}
.pdf-thumb:hover .pdf-page-delete,
.pdf-reorder-item:hover .pdf-page-delete,
.pdf-reorder-item.selected .pdf-page-delete { opacity: 1; }
.pdf-page-delete:hover { transform: scale(1.05); }
.pdf-reorder-item canvas {
    width: 100%;
    height: auto;
    max-height: 150px;
    object-fit: contain;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 4px 10px rgba(15,23,42,.08);
}
.pdf-reorder-item small {
    color: #445066;
    font-size: 11px;
    font-weight: 800;
    text-align: center;
}
.pdf-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.alert-success {
    padding: 12px;
    border-radius: 10px;
    background: #dcfce7;
    color: #166534;
    font-size: 13px;
    font-weight: 800;
}
.email-builder-shell {
    height: calc(100vh - 150px);
    min-height: 680px;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 12px;
}
.email-builder-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--shadow);
}
.email-fields { flex: 1; display: grid; grid-template-columns: 1.1fr 1.2fr 1.2fr; gap: 10px; }
.email-fields input {
    min-height: 40px;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 9px 11px;
    outline: 0;
}
.email-builder-body {
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
}
.email-builder-body #gjs { height: 100%; }
.email-template-modal { width: min(900px, 96vw); }
.email-template-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.email-template-card-wrap{display:grid;gap:8px;align-content:start}
.email-template-card-wrap .email-template-card{width:100%}
.email-template-actions{justify-content:flex-end}
.email-template-manager{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.email-template-manager summary{cursor:pointer;font-weight:900;color:#1e3a8a}
.intro-tools .intro-section-head span{color:#fbbf24}
.intro-tools .intro-section-head h2,.intro-tools .intro-tool-grid h3{color:#fff}
.intro-tools .intro-tool-grid p{color:#cbd5e1}
.intro-tools .intro-tool-grid article{background:#182235;border-color:rgba(255,255,255,.16)}
.intro-tools .intro-tool-grid i{background:#f47b20;color:#111827}
.home-text-groups{display:grid;gap:12px}
.home-text-group{border:1px solid var(--line);border-radius:14px;background:#f8fafc;overflow:hidden}
.home-text-group summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;cursor:pointer;background:#fff;color:#0f172a;font-weight:900;list-style:none}
.home-text-group summary::-webkit-details-marker{display:none}
.home-text-group summary:after{content:"+";font-size:22px;color:#2563eb}
.home-text-group[open] summary{border-bottom:1px solid var(--line);background:#eff6ff;color:#1d4ed8}
.home-text-group[open] summary:after{content:"−"}
.home-text-group summary span{margin-left:auto;padding:5px 9px;border-radius:999px;background:#e0e7ff;color:#3730a3;font-size:11px}
.home-text-group>.form-grid{padding:18px}
.email-template-card {
    min-height: 132px;
    display: grid;
    justify-items: start;
    gap: 8px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    color: var(--text);
    cursor: pointer;
    text-align: left;
}
.email-template-card span { width: 40px; height: 8px; border-radius: 999px; }
.email-template-card strong { font-size: 15px; }
.email-template-card small { color: var(--muted); line-height: 1.5; }
.email-toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 2000;
    padding: 12px 16px;
    border-radius: 10px;
    background: #111827;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}
.email-toast.show { opacity: 1; transform: translateY(0); }
.empty-state.compact { padding: 16px; }
.ads-bars { height: 220px; display: flex; align-items: end; gap: 4px; padding: 18px 4px 6px; border: 1px solid var(--line); border-radius: 12px; background: #f8fafc; overflow-x: auto; }
.ads-bar { width: 18px; min-width: 18px; height: 170px; display: flex; flex-direction: column; justify-content: end; align-items: center; gap: 6px; }
.ads-bar span { width: 100%; border-radius: 8px 8px 2px 2px; background: linear-gradient(180deg, #2563eb, #10b981); display: block; }
.ads-bar small { height: 14px; color: var(--muted); font-size: 10px; }
.ads-month-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; }
.ads-month-card { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.ads-month-head { display: flex; justify-content: space-between; gap: 12px; padding: 16px; color: #fff; background: linear-gradient(135deg, #1d4ed8, #0f766e); }
.ads-month-head span, .ads-month-head strong, .ads-month-head b { display: block; }
.ads-month-head span { font-size: 12px; font-weight: 800; opacity: .86; text-transform: uppercase; }
.ads-month-head strong { margin-top: 5px; font-size: 22px; }
.ads-month-head b { align-self: center; text-align: right; }
.ads-month-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 12px; background: #f8fafc; }
.ads-month-summary span { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.ads-month-summary small, .ads-month-summary b { display: block; }
.ads-month-summary small { color: var(--muted); font-size: 11px; font-weight: 800; }
.ads-month-summary b { margin-top: 4px; font-size: 13px; }
.ads-month-table { max-height: none; overflow: visible; }
.ads-month-table table { min-width: 520px; }
.tool-panel { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: 18px; align-items: start; }
.prompt-output { min-height: 180px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; line-height: 1.6; }
.option-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.env-list { display: grid; gap: 8px; }
.env-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.project-layout { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 18px; align-items: start; }
.project-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 22px; }
.project-list-card { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow); transition: transform .16s ease, box-shadow .16s ease; }
.project-list-card:hover { transform: translateY(-3px); box-shadow: 0 20px 52px rgba(18,31,56,.12); }
.project-cover { position: relative; display: block; }
.project-cover img { width: 100%; aspect-ratio: 16 / 11; display: block; object-fit: cover; background: #e5e7eb; }
.project-cover .badge { position: absolute; left: 12px; top: 12px; }
.project-list-body { display: grid; gap: 10px; padding: 18px; }
.project-list-body h2 { font-size: 19px; line-height: 1.35; }
.project-list-body p { margin: 0; font-size: 13px; }
.project-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 5px 0; }
.project-metrics span { padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafc; }
.project-metrics b, .project-metrics small { display: block; }
.project-metrics small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.project-list { position: sticky; top: 104px; display: grid; gap: 10px; }
.project-item { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 10px; align-items: center; padding: 9px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.project-item.active { border-color: #93c5fd; background: #eff6ff; }
.project-item img { width: 82px; height: 58px; object-fit: cover; border-radius: 8px; background: #e5e7eb; }
.project-item b, .project-item small { display: block; }
.project-item small { margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.project-hero { position: relative; min-height: 260px; overflow: hidden; padding: 0; }
.project-hero > img { width: 100%; height: 300px; display: block; object-fit: cover; background: #e5e7eb; }
.project-hero > div { position: absolute; left: 22px; right: 22px; bottom: 22px; color: #fff; text-shadow: 0 2px 16px rgba(0,0,0,.45); }
.project-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(15,23,42,.78)); pointer-events: none; }
.project-hero > div { z-index: 1; }
.project-hero h2 { margin-top: 10px; font-size: 30px; }
.project-hero p { margin: 8px 0 14px; }
.project-detail-hero { position: relative; min-height: 360px; overflow: hidden; padding: 0; }
.project-detail-hero > img { width: 100%; height: 430px; display: block; object-fit: cover; background: #e5e7eb; }
.project-detail-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,23,42,.08), rgba(15,23,42,.84)); pointer-events: none; }
.project-detail-hero > div { position: absolute; left: 28px; right: 28px; bottom: 28px; z-index: 1; color: #fff; text-shadow: 0 2px 16px rgba(0,0,0,.45); }
.project-detail-hero h1 { margin-top: 12px; font-size: 38px; }
.project-detail-hero p { margin: 8px 0 18px; }
.project-detail-stats { display: flex; flex-wrap: wrap; gap: 10px; }
.project-detail-stats span { min-width: 120px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.24); border-radius: 10px; background: rgba(15,23,42,.42); }
.project-detail-stats b, .project-detail-stats small { display: block; }
.project-detail-stats small { margin-top: 3px; color: rgba(255,255,255,.76); font-size: 11px; }
.project-sticky-nav {
    position: sticky;
    top: 88px;
    z-index: 8;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
    backdrop-filter: blur(14px);
}
.project-sticky-nav a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 9px;
    color: #334155;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}
.project-sticky-nav a:hover { background: #eff6ff; color: #1d4ed8; }
.project-info-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.project-info-grid p { margin-bottom: 0; line-height: 1.65; color: #475569; }
.rich-content { scroll-margin-top: 160px; }
.project-doc-section { scroll-margin-top: 160px; padding: 0; overflow: hidden; }
.doc-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0;
    padding: 18px 20px;
    border-bottom: 1px solid #dbeafe;
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 58%, #ecfeff 100%);
}
.doc-section-head > div {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.doc-section-head h2 {
    margin: 0;
    color: #0f172a;
    font-size: 22px;
    line-height: 1.25;
}
.doc-section-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #10b981);
    box-shadow: 0 10px 24px rgba(37, 99, 235, .2);
}
.doc-section-icon i { font-size: 21px; }
.doc-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 6px 12px;
    border-radius: 999px;
    color: #1d4ed8;
    background: #dbeafe;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}
.project-doc-section .asset-grid { padding: 18px; }
.rich-content h2 { margin-bottom: 12px; }
.rich-content h3 { margin: 16px 0 8px; font-size: 18px; }
.rich-content h4 { margin: 14px 0 7px; font-size: 15px; }
.rich-content p, .rich-content li, .rich-content div { line-height: 1.7; color: #475569; }
.rich-content ul, .rich-content ol { margin: 10px 0 10px 22px; }
.rich-content blockquote { margin: 12px 0; padding: 10px 14px; border-left: 4px solid #2563eb; background: #eff6ff; color: #334155; }
.rich-content table { width: 100%; margin: 12px 0; border-collapse: collapse; display: block; overflow-x: auto; }
.rich-content th, .rich-content td { min-width: 120px; padding: 10px 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.rich-content th { background: #f8fafc; color: #0f172a; font-weight: 800; }
.rich-content caption { padding: 8px; color: var(--muted); font-weight: 700; text-align: left; }
.rich-content figure, .rich-area figure { margin: 14px 0; }
.rich-content img, .rich-area img { max-width: 100%; height: auto; border-radius: 12px; display: block; }
.rich-content figcaption, .rich-area figcaption { margin-top: 6px; color: var(--muted); font-size: 12px; text-align: center; }
.project-buy-reasons-wrap { grid-column: span 1; }
.project-buy-reasons-wrap h2 { margin-bottom: 14px; }
.project-buy-reasons { display: grid; gap: 12px; }
.buy-reason-card {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
    align-items: flex-start;
    padding: 14px;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 10px 28px rgba(37, 99, 235, .08);
}
.buy-reason-card:hover { transform: translateY(-1px); box-shadow: 0 16px 36px rgba(37, 99, 235, .12); }
.buy-reason-card > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #10b981);
    font-weight: 900;
    font-size: 13px;
}
.buy-reason-card h3, .buy-reason-card h4, .buy-reason-card p { margin: 0; }
.buy-reason-card div { color: #334155; line-height: 1.65; }
.code-editor {
    width: 100%;
    min-height: 520px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    color: #dbeafe;
    background: #0f172a;
    font-family: Consolas, Monaco, "Courier New", monospace;
    font-size: 13px;
    line-height: 1.55;
    resize: vertical;
}
.css-example {
    margin: 0;
    padding: 12px;
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 10px;
    color: #dbeafe;
    background: #0f172a;
    font-family: Consolas, Monaco, "Courier New", monospace;
    font-size: 12px;
    line-height: 1.5;
    white-space: pre-wrap;
}
.asset-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.asset-grid.limited .asset-card.hidden { display: none; }
.asset-grid.limited.expanded .asset-card.hidden { display: grid; }
.asset-card { display: grid; gap: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.asset-card .asset-thumb-wrap { position: relative; width: 100%; }
.asset-card .asset-thumb-wrap img,
.asset-card .asset-thumb-wrap iframe { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 8px; background: #e5e7eb; display: block; }
.asset-download-overlay { position: absolute; top: 6px; right: 6px; width: 32px; height: 32px; border-radius: 50%; background: rgba(0,0,0,.55); color: #fff; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .15s; text-decoration: none; z-index: 2; }
.asset-download-overlay i { font-size: 16px; }
.asset-thumb-wrap:hover .asset-download-overlay { opacity: 1; }
.asset-card b { display: block; margin-top: 8px; }
.asset-card small { display: block; min-height: 18px; margin-top: 4px; color: var(--muted); line-height: 1.4; }
.asset-card .asset-thumb-wrap iframe.asset-video { border: 0; background: #0f172a; }
.bulk-check, .asset-check { display: inline-flex; align-items: center; gap: 8px; color: #475569; font-size: 13px; font-weight: 800; }
.asset-check { justify-content: flex-start; padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; background: #f8fafc; }
.asset-admin-grid { grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); }
.asset-admin-card { align-content: start; }
.asset-summary { display: grid; gap: 2px; min-height: 52px; }
.project-asset-modal { width: min(860px, 96vw); }
.category-order-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
.category-order-item { display: grid; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafc; }
.category-order-grid label { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 13px; font-weight: 800; color: #334155; }
.category-order-grid input { width: 82px; min-height: 34px; border: 1px solid var(--line); border-radius: 8px; padding: 6px 8px; }
.category-order-grid .form-actions { grid-column: 1 / -1; }
.option-grid.compact { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.check-card { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafc; font-size: 13px; font-weight: 800; color: #334155; }
.check-card input { width: 16px; height: 16px; accent-color: var(--primary); }
.permission-check-list { display: grid; gap: 8px; max-height: 360px; overflow: auto; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: #f8fafc; }
.permission-check-list .check-card { background: #fff; }
.asset-edit-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.asset-edit-form label { display: grid; gap: 5px; color: #475569; font-size: 12px; font-weight: 800; }
.asset-edit-form input, .asset-edit-form select, .asset-edit-form textarea {
    width: 100%;
    min-height: 36px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 8px 10px;
    color: var(--text);
    background: #fff;
}
.asset-edit-form textarea { min-height: 70px; resize: vertical; }
.asset-edit-form label:nth-child(6), .asset-edit-form label:nth-child(8) { grid-column: 1 / -1; }
@media (max-width: 640px) {
    .asset-admin-grid { grid-template-columns: 1fr; }
    .asset-edit-form { grid-template-columns: 1fr; }
    .asset-grid { grid-template-columns: 1fr; }
    .doc-section-head {
        align-items: flex-start;
        flex-direction: column;
        padding: 16px;
    }
    .doc-section-head h2 { font-size: 19px; }
    .doc-section-icon { width: 38px; height: 38px; }
    .doc-count { align-self: flex-start; }
    .project-doc-section .asset-grid { padding: 14px; }
}
@media (max-width: 1100px) {
    .project-info-grid {
        grid-template-columns: 1fr;
    }
    .rich-content,
    .project-buy-reasons-wrap {
        scroll-margin-top: 150px;
    }
}
.rich-editor { border: 1px solid var(--line); border-radius: 10px; background: #fff; overflow: hidden; }
.rich-toolbar { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px; border-bottom: 1px solid var(--line); background: #f8fafc; }
.rich-toolbar button { min-width: 32px; height: 30px; border: 1px solid var(--line); border-radius: 8px; background: #fff; cursor: pointer; font-weight: 800; }
.rich-toolbar select { min-height: 30px; border: 1px solid var(--line); border-radius: 8px; padding: 0 8px; background: #fff; font-weight: 700; }
.rich-toolbar input[type="color"] { width: 34px; min-height: 30px; padding: 2px; border: 1px solid var(--line); border-radius: 8px; background: #fff; cursor: pointer; }
.rich-area { min-height: 150px; padding: 12px; outline: 0; line-height: 1.65; }
.rich-area h2 { margin: 12px 0 8px; font-size: 22px; }
.rich-area h3 { margin: 10px 0 6px; font-size: 18px; }
.rich-area h4 { margin: 10px 0 6px; font-size: 15px; }
.rich-area ul { margin: 8px 0 8px 20px; }
.rich-area table { width: 100%; border-collapse: collapse; margin: 10px 0; }
.rich-area th, .rich-area td { border: 1px solid #cbd5e1; padding: 8px; }
.email-progress { width: 150px; max-width: 100%; height: 8px; overflow: hidden; border-radius: 999px; background: #e5e7eb; }
.email-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2563eb, #10b981); }
.confirm-modal {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(15, 23, 42, .48);
    backdrop-filter: blur(4px);
}
.confirm-modal.open { display: flex; }
.confirm-dialog {
    width: min(420px, 100%);
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .22);
}
.confirm-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #fee2e2;
    color: #dc2626;
    font-size: 22px;
}
.confirm-dialog h2 { margin: 14px 0 6px; font-size: 18px; }
.confirm-dialog p { margin: 0; color: var(--muted); line-height: 1.55; }
.confirm-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }
@media (max-width: 1180px) {
    .app-shell { grid-template-columns: 92px 1fr; }
    .brand span:not(.brand-mark), .nav-link span, .nav-group, .sidebar-card { display: none; }
    .sidebar { padding: 18px 14px; }
    .nav-link { justify-content: center; }
    .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .app-shell { display: block; }
    .app-shell.sidebar-collapsed { display: block; }
    .sidebar { position: sticky; top: 0; z-index: 30; width: 100%; height: auto; max-height: 82vh; min-height: 62px; flex-direction: column; align-items: stretch; overflow: auto; padding: 12px 98px 12px 12px; box-shadow: 0 12px 28px rgba(15,23,42,.18); }
    .sidebar-toggle { right: 12px; top: 12px; width: auto; min-width: 76px; height: 38px; display: inline-flex; gap: 6px; padding: 0 12px; font-size: 14px; font-weight: 800; }
    .sidebar-toggle span { display: inline; }
    .brand { border-bottom: 0; padding: 0; }
    .nav { display: grid; grid-template-columns: 1fr; gap: 6px; overflow: visible; padding-top: 12px; }
    .nav-link { min-width: 0; justify-content: flex-start; }
    .nav-link span, .brand span:not(.brand-mark) { display: inline; }
    .nav-group { display: block; grid-column: 1 / -1; margin: 8px 4px 0; }
    .app-shell.sidebar-collapsed .sidebar { padding: 12px 98px 12px 12px; align-items: stretch; overflow: hidden; }
    .app-shell.sidebar-collapsed .nav,
    .app-shell.sidebar-collapsed .nav-group,
    .app-shell.sidebar-collapsed .sidebar-card { display: none; }
    .app-shell.sidebar-collapsed .brand { display: flex; }
    .app-shell.sidebar-collapsed .brand-mark { display: grid; }
    .app-shell.sidebar-collapsed .brand span:not(.brand-mark) { display: inline; }
    .app-shell.mobile-sidebar-collapsed .sidebar {
        overflow: hidden;
        min-height: 66px;
    }
    .app-shell.mobile-sidebar-collapsed .nav,
    .app-shell.mobile-sidebar-collapsed .sidebar-card {
        display: none !important;
    }
    .app-shell:not(.mobile-sidebar-collapsed) .nav {
        display: grid !important;
    }
    .topbar { position: static; align-items: flex-start; flex-direction: column; padding: 14px; gap: 12px; }
    .topbar h1 { font-size: 22px; }
    .breadcrumb { font-size: 11px; }
    .top-actions { width: 100%; flex-wrap: wrap; gap: 8px; }
    .search-box { width: 100%; }
    .user-pill { max-width: calc(100vw - 28px); }
    .user-pill b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .notify-menu { order: -1; }
    .notify-panel { position: fixed; right: 12px; left: 12px; top: 78px; width: auto; max-height: 70vh; overflow: auto; }
    .content { padding: 14px; }
    .card { padding: 14px; border-radius: 10px; }
    .card-head, .page-actions { align-items: flex-start; flex-direction: column; }
    .grid-2, .grid-3, .grid-4, .detail-hero, .form-grid { grid-template-columns: 1fr; }
    .project-info-grid, .project-metrics, .project-detail-stats { grid-template-columns: 1fr; }
    .project-detail-stats { display: grid; }
    .project-detail-hero > div { left: 16px; right: 16px; bottom: 16px; }
    .project-detail-hero h1 { font-size: 28px; }
    .project-sticky-nav { top: 0; overflow-x: auto; flex-wrap: nowrap; }
    .project-sticky-nav a { flex: 0 0 auto; }
    .kanban-board { grid-template-columns: repeat(6, 82vw); }
    .filter-toolbar { align-items: flex-start; flex-direction: column; }
    .filter-actions { width: 100%; }
    .filter-actions .btn { flex: 1; }
    .filter-label { min-width: 62px; }
    .page-actions { align-items: flex-start; flex-direction: column; }
    .inventory-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .inventory-summary-grid .stat-card {
        padding: 12px;
        gap: 8px;
        align-items: flex-start;
        min-height: 96px;
    }
    .inventory-summary-grid .stat-card strong {
        font-size: 20px;
        margin: 5px 0 0;
    }
    .inventory-summary-grid .stat-card span { font-size: 12px; }
    .inventory-summary-grid .stat-card i {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        font-size: 18px;
        flex: 0 0 auto;
    }
    .inventory-toolbar, .inventory-filter, .inventory-import { grid-template-columns: 1fr; }
    .ads-month-grid, .ads-month-summary { grid-template-columns: 1fr; }
    .ads-month-head { align-items: flex-start; flex-direction: column; }
    .ads-month-head b { text-align: left; }
    .pagination { justify-content: flex-start; }
    .pdf-options { grid-template-columns: 1fr; }
    .email-builder-shell { height: auto; min-height: 780px; }
    .email-builder-top { align-items: flex-start; flex-direction: column; }
    .email-fields { width: 100%; grid-template-columns: 1fr; }
    .email-builder-body { min-height: 640px; }
    .tool-panel, .project-layout, .project-info-grid { grid-template-columns: 1fr; }
    .project-list { position: static; }
    .option-grid { grid-template-columns: 1fr; }
    .table-mobile-tools { display: flex; justify-content: flex-end; }
    .responsive-table-wrap { overflow: visible; }
    .responsive-table-wrap table { min-width: 0 !important; border-collapse: separate; border-spacing: 0 10px; }
    .responsive-table-wrap thead { display: none; }
    .responsive-table-wrap tbody, .responsive-table-wrap tr, .responsive-table-wrap td { display: block; width: 100%; }
    .responsive-table-wrap tr { padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,.05); }
    .responsive-table-wrap td { padding: 8px 0; border: 0; }
    .responsive-table-wrap td::before { content: attr(data-label); display: block; margin-bottom: 3px; color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; }
    .responsive-table-wrap:not(.show-all-columns) td:nth-child(n+4):not(:last-child) { display: none; }
    .responsive-table-wrap.show-all-columns td { display: block; }
    .notification-row { grid-template-columns: 38px minmax(0,1fr); align-items: flex-start; }
    .notification-row .inline-actions { grid-column: 1 / -1; }
}
@media (max-width: 390px) {
    .inventory-summary-grid { grid-template-columns: 1fr; }
}

/* Public intro page */
.intro-body{margin:0;background:#f6f7fb;color:#111827;font-family:"Be Vietnam Pro",system-ui,sans-serif;overflow-x:hidden}.intro-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px clamp(18px,4vw,64px);background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(17,24,39,.08)}.intro-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:#111827;font-size:22px;letter-spacing:0;font-weight:900}.intro-brand span{background:#ef4444;color:#fff;padding:6px 8px;border-radius:6px}.intro-brand b{font-weight:900}.intro-header nav{display:flex;align-items:center;gap:22px}.intro-header nav a{color:#374151;text-decoration:none;font-size:14px;font-weight:700}.intro-login,.intro-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;text-decoration:none;font-weight:800;white-space:nowrap}.intro-login{background:#111827;color:#fff;padding:11px 16px}.intro-hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:42px;padding:54px clamp(18px,5vw,76px) 46px;background:radial-gradient(circle at 80% 20%,rgba(239,68,68,.18),transparent 30%),linear-gradient(135deg,#fff 0%,#eef2ff 100%)}.intro-kicker{display:inline-flex;padding:8px 12px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:13px;font-weight:800;margin-bottom:18px}.intro-hero h1{font-size:clamp(38px,6vw,78px);line-height:1.02;margin:0 0 20px;font-weight:900;letter-spacing:0;max-width:980px}.intro-hero p{font-size:18px;line-height:1.75;color:#4b5563;max-width:760px;margin:0}.intro-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.intro-btn{padding:14px 20px}.intro-btn.primary{background:#ef4444;color:#fff}.intro-btn.ghost{background:#fff;color:#111827;border:1px solid #e5e7eb}.intro-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px;max-width:720px}.intro-stats div{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.intro-stats strong{display:block;font-size:28px}.intro-stats span{display:block;color:#6b7280;font-size:13px;font-weight:700}.intro-hero-panel{position:relative}.intro-dashboard-card{background:#111827;color:#fff;border-radius:14px;padding:24px;box-shadow:0 28px 70px rgba(17,24,39,.28);min-height:420px;display:flex;flex-direction:column;justify-content:space-between}.intro-card-head{display:flex;gap:8px}.intro-card-head span{width:12px;height:12px;border-radius:50%;background:#ef4444}.intro-card-head span:nth-child(2){background:#f59e0b}.intro-card-head span:nth-child(3){background:#22c55e}.intro-dashboard-card h3{font-size:28px;line-height:1.25;margin:26px 0}.intro-mini-kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.intro-mini-kanban b{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:12px 8px;text-align:center;font-size:12px}.intro-chart{height:170px;display:flex;align-items:end;gap:14px;margin-top:28px}.intro-chart i{flex:1;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#ef4444,#f97316)}.intro-section{padding:72px clamp(18px,5vw,76px);background:#fff}.intro-section:nth-of-type(even){background:#f8fafc}.intro-section-head{max-width:820px;margin-bottom:30px}.intro-section-head span,.intro-band span{color:#ef4444;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.intro-section-head h2,.intro-band h2{font-size:clamp(28px,4vw,48px);line-height:1.12;margin:10px 0 0;letter-spacing:0}.intro-project-grid,.intro-tool-grid,.intro-news-grid,.intro-pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.intro-project-card,.intro-tool-grid article,.intro-news-grid article,.intro-pricing-grid article{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;box-shadow:0 14px 35px rgba(17,24,39,.06)}.intro-project-card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#e5e7eb}.intro-project-card div{padding:18px}.intro-project-card h3,.intro-tool-grid h3,.intro-news-grid h3,.intro-pricing-grid h3{margin:10px 0 8px;font-size:20px;line-height:1.35}.intro-project-card p,.intro-tool-grid p,.intro-news-grid p,.intro-pricing-grid p{color:#6b7280;line-height:1.65;margin:0;overflow-wrap:anywhere}.intro-project-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.intro-project-meta span{font-size:12px;color:#374151;background:#f3f4f6;border-radius:999px;padding:6px 9px}.intro-tools{background:#f8fafc}.intro-tool-grid article{padding:24px}.intro-tool-grid i{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:10px;background:#fee2e2;color:#dc2626;font-size:24px}.intro-band{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px;padding:72px clamp(18px,5vw,76px);background:#111827;color:#fff}.intro-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.intro-feature-list article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:18px}.intro-feature-list p{color:#d1d5db;line-height:1.65;margin:8px 0 0}.intro-news-grid article,.intro-pricing-grid article{padding:22px}.intro-news-grid small{color:#ef4444;font-weight:800}.intro-pricing-grid strong{font-size:28px}.intro-pricing-grid ul{list-style:none;padding:0;margin:18px 0;display:grid;gap:9px}.intro-pricing-grid li{display:flex;gap:8px;align-items:center;color:#374151}.intro-pricing-grid li i{color:#16a34a}.intro-pricing-grid a{display:inline-flex;background:#111827;color:#fff;text-decoration:none;border-radius:8px;padding:11px 14px;font-weight:800}.intro-empty{grid-column:1/-1;background:#fff;border:1px dashed #cbd5e1;border-radius:10px;padding:22px;color:#64748b}.intro-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:28px clamp(18px,5vw,76px);background:#0b1120;color:#fff}.intro-footer a{color:#fff;font-weight:800}.home-project-picker{display:grid;gap:10px;max-height:520px;overflow:auto}.home-project-row{display:grid;grid-template-columns:auto minmax(0,1fr) 78px;align-items:center;gap:10px;padding:10px;border:1px solid #e5e7eb;border-radius:8px}.home-project-row b,.home-project-row small{display:block;overflow-wrap:anywhere}.home-project-row small{color:#6b7280}.home-project-row input[type=number]{width:100%}@media (max-width:960px){.intro-header{align-items:flex-start}.intro-header nav{display:none}.intro-hero{grid-template-columns:1fr;min-height:auto;padding-top:42px}.intro-stats,.intro-project-grid,.intro-tool-grid,.intro-news-grid,.intro-pricing-grid,.intro-band,.intro-feature-list{grid-template-columns:1fr}.intro-dashboard-card{min-height:300px}.intro-footer{flex-direction:column;align-items:flex-start}.intro-login{padding:10px 12px}.intro-hero h1{font-size:38px}}

/* Crafix-inspired intro refinement */
.intro-body{background:#fff}.intro-header{position:absolute;left:0;right:0;background:rgba(10,14,25,.26);border-bottom:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px)}.intro-brand,.intro-header nav a{color:#fff}.intro-brand span{background:#f47b20;color:#111827}.intro-login{background:#f47b20;color:#111827}.intro-hero{position:relative;min-height:100vh;padding-top:118px;background:linear-gradient(90deg,rgba(8,13,24,.94) 0%,rgba(8,13,24,.78) 48%,rgba(8,13,24,.32) 100%),url('https://crafixwp.websitelayout.net/wp-content/uploads/2026/03/banner-04.jpg') center/cover no-repeat;color:#fff}.intro-hero:after{content:"";position:absolute;inset:auto 0 0;height:130px;background:linear-gradient(0deg,#fff 0%,rgba(255,255,255,0) 100%);pointer-events:none}.intro-hero-copy,.intro-hero-panel{position:relative;z-index:1}.intro-kicker{background:rgba(244,123,32,.16);border:1px solid rgba(244,123,32,.5);color:#fbbf24;text-transform:uppercase;letter-spacing:.08em}.intro-hero h1{color:#fff;max-width:980px}.intro-hero h1::after{content:" Structure";color:#f47b20}.intro-hero p{color:rgba(255,255,255,.76)}.intro-btn.primary{background:#f47b20;color:#111827}.intro-btn.ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.22)}.intro-stats div{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}.intro-stats span{color:rgba(255,255,255,.68)}.intro-dashboard-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px)}.intro-trust-line{display:flex;align-items:center;gap:18px;margin-top:28px;max-width:720px}.intro-trust-line p{font-size:14px;line-height:1.6;margin:0;color:rgba(255,255,255,.72)}.intro-avatar-stack{display:flex;min-width:132px}.intro-avatar-stack span{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:#fff;color:#111827;border:2px solid #fff;font-size:12px;font-weight:900;margin-left:-10px}.intro-avatar-stack span:first-child{margin-left:0;background:#f47b20}.intro-feature-strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:-70px clamp(18px,5vw,76px) 0;padding:28px;background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(17,24,39,.14)}.intro-feature-strip article{display:flex;gap:18px;align-items:flex-start;padding:10px}.intro-feature-icon{position:relative;flex:0 0 66px;height:66px;border-radius:14px;background:#fff2e8;border:1px solid #ffd7b8;display:flex;align-items:center;justify-content:center}.intro-feature-icon span{font-weight:900;color:#f47b20;font-size:22px}.intro-feature-strip h3{margin:0 0 8px;font-size:19px}.intro-feature-strip p{margin:0;color:#64748b;line-height:1.65;overflow-wrap:anywhere}.intro-about{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);gap:54px;align-items:center;padding:92px clamp(18px,5vw,76px);background:#fff}.intro-about-image{min-height:570px;border-radius:12px;background:linear-gradient(180deg,rgba(17,24,39,0),rgba(17,24,39,.22)),url('https://crafixwp.websitelayout.net/wp-content/uploads/2026/03/about-04.jpg') center/cover no-repeat;position:relative;overflow:hidden}.intro-about-window{position:absolute;right:24px;bottom:24px;width:min(320px,calc(100% - 48px));background:#111827;color:#fff;border-radius:12px;padding:22px;box-shadow:0 20px 45px rgba(0,0,0,.25)}.intro-about-window b,.intro-about-window span{display:block}.intro-about-window span{color:#cbd5e1;margin-top:12px}.intro-about-window strong{display:block;font-size:54px;color:#f47b20;line-height:1;margin:8px 0 18px}.intro-about-window i{display:block;height:8px;border-radius:999px;background:#334155;margin-top:10px}.intro-about-window i:nth-of-type(1){width:92%;background:#f47b20}.intro-about-window i:nth-of-type(2){width:74%}.intro-about-window i:nth-of-type(3){width:58%}.intro-marquee{display:flex;gap:12px;overflow:hidden;margin-bottom:14px;color:#f47b20;text-transform:uppercase;font-size:13px;font-weight:900;letter-spacing:.08em}.intro-marquee span{white-space:nowrap}.intro-marquee span:after{content:"";display:inline-block;width:7px;height:7px;margin-left:12px;border-radius:50%;background:#f47b20;vertical-align:middle}.intro-about-copy h2{font-size:clamp(34px,5vw,58px);line-height:1.02;margin:0 0 22px;font-weight:900;letter-spacing:0}.intro-about-copy>p{color:#64748b;line-height:1.8;font-size:17px}.intro-about-points{display:grid;gap:18px;margin-top:28px}.intro-about-points article{display:flex;gap:16px;align-items:flex-start}.intro-about-points i{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:12px;background:#fff2e8;color:#f47b20;font-size:24px;flex:0 0 auto}.intro-about-points b,.intro-about-points span{display:block}.intro-about-points span{color:#64748b;margin-top:5px;line-height:1.55}.intro-section-head span{display:inline-flex;gap:12px}.intro-section-head span:after{content:"";width:7px;height:7px;border-radius:50%;background:#ef4444;align-self:center}.intro-tools{background:#111827;color:#fff}.intro-tools .intro-section-head h2{color:#fff}.intro-tool-grid article{background:#182235;border-color:rgba(255,255,255,.12);color:#fff;min-height:260px}.intro-tool-grid p{color:#cbd5e1}.intro-tool-grid i{background:#f47b20;color:#111827}.intro-pricing-grid article{display:grid;grid-template-columns:minmax(0,1fr);position:relative}.intro-pricing-grid article:before{content:"";height:120px;margin:-22px -22px 18px;background:linear-gradient(135deg,#111827,#f47b20);display:block}.intro-pricing-grid article:nth-child(2):before{background:linear-gradient(135deg,#0f766e,#111827)}.intro-pricing-grid article:nth-child(3):before{background:linear-gradient(135deg,#7c2d12,#111827)}@media (max-width:960px){.intro-header{position:sticky;background:#111827}.intro-feature-strip,.intro-about{grid-template-columns:1fr}.intro-feature-strip{margin:0;border-radius:0}.intro-about-image{min-height:360px}.intro-trust-line{align-items:flex-start;flex-direction:column}.intro-hero h1::after{content:""}}

/* Public blog and project detail */
.public-page{padding-top:0}.public-hero{padding:150px clamp(18px,5vw,76px) 70px;background:#111827;color:#fff}.public-hero span{color:#f47b20;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.public-hero h1{font-size:clamp(38px,6vw,72px);line-height:1.04;margin:12px 0 18px;max-width:1000px}.public-hero p{max-width:760px;color:#cbd5e1;font-size:18px;line-height:1.75}.blog-card-cover{width:calc(100% + 44px);height:190px;object-fit:cover;margin:-22px -22px 18px;display:block}.intro-news-grid h3 a,.intro-project-card h3 a{color:inherit;text-decoration:none}.intro-read-more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:#ef4444;font-weight:900;text-decoration:none}.intro-center-action{text-align:center;margin-top:28px}.intro-btn.dark{color:#111827;border-color:#d1d5db}.public-article{max-width:980px;margin:0 auto;padding:150px 18px 80px}.public-article>span{color:#ef4444;font-weight:900;text-transform:uppercase;font-size:13px}.public-article h1{font-size:clamp(36px,6vw,68px);line-height:1.06;margin:14px 0}.public-article .lead{font-size:19px;line-height:1.75;color:#64748b}.public-article-cover{width:100%;max-height:520px;object-fit:cover;border-radius:14px;margin:28px 0}.public-rich{font-size:17px;line-height:1.85;color:#334155}.public-rich img{max-width:100%;height:auto;border-radius:10px}.public-project-hero{min-height:74vh;display:flex;flex-direction:column;justify-content:end;padding:150px clamp(18px,5vw,76px) 72px;color:#fff;background-size:cover;background-position:center}.public-project-hero span{width:max-content;background:#f47b20;color:#111827;border-radius:999px;padding:8px 12px;font-weight:900}.public-project-hero h1{font-size:clamp(42px,7vw,86px);line-height:1;margin:18px 0;max-width:1100px}.public-project-hero p{font-size:18px;color:#e5e7eb}.public-project-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:-44px clamp(18px,5vw,76px) 0;position:relative;z-index:2}.public-project-summary article{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:22px;box-shadow:0 18px 45px rgba(17,24,39,.12)}.public-project-summary b{display:block;font-size:26px;overflow-wrap:anywhere}.public-project-summary span{color:#64748b;font-weight:800}.public-project-content{padding-top:74px}.public-reasons{margin-top:24px}@media(max-width:960px){.public-project-summary{grid-template-columns:1fr;margin:0}.public-hero,.public-article,.public-project-hero{padding-top:110px}.blog-card-cover{height:170px}}

/* Public project detail */
.seo-project-hero{min-height:68vh}
.seo-project-hero-inner{max-width:1120px}
.seo-project-hero p{display:flex;align-items:center;gap:8px;max-width:920px;line-height:1.65}
.seo-project-summary article{display:grid;gap:8px;align-content:start}
.seo-project-summary i{width:42px;height:42px;border-radius:12px;background:#fff2e8;color:#f47b20;display:flex;align-items:center;justify-content:center;font-size:22px}
.public-project-nav{position:sticky;top:0;z-index:25;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;overflow:visible;padding:12px clamp(18px,5vw,76px);margin-bottom:18px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid #e5e7eb}
.public-project-nav a{flex:0 1 auto;max-width:220px;text-decoration:none;color:#334155;background:#f8fafc;border:1px solid #e5e7eb;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:800;white-space:normal;text-align:center;line-height:1.25}
.public-project-nav a:hover{background:#111827;color:#fff}
.public-project-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;padding:28px clamp(18px,5vw,76px) 86px;background:#f6f7fb}
.public-project-main{display:grid;gap:22px;min-width:0}
.public-content-block{scroll-margin-top:86px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:clamp(20px,3vw,34px);box-shadow:0 12px 34px rgba(17,24,39,.06);min-width:0}
.public-content-block>span,.public-doc-head span{display:inline-flex;color:#f47b20;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.public-content-block h2,.public-doc-head h2{font-size:clamp(25px,3vw,38px);line-height:1.16;margin:0 0 18px;letter-spacing:0}
.public-content-block .rich-content{overflow:visible}
.public-content-block .rich-content table{width:100%;min-width:0;display:table;table-layout:auto;overflow:visible}
.public-content-block .rich-content th,.public-content-block .rich-content td{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.public-reason-block .project-buy-reasons{grid-template-columns:repeat(2,minmax(0,1fr))}
.public-doc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.public-doc-head b{flex:0 0 auto;background:#111827;color:#fff;border-radius:999px;padding:7px 10px;font-size:12px}
.public-asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.public-asset-card{position:relative;display:grid;gap:10px;padding:10px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;text-decoration:none;color:#111827;min-width:0}
.public-asset-media{position:relative;width:100%}
.public-asset-card img,.public-asset-card iframe{width:100%;aspect-ratio:16/10;object-fit:cover;border:0;border-radius:9px;background:#e5e7eb;display:block}
.public-asset-open-icon{position:absolute;top:18px;right:18px;z-index:2;width:38px;height:38px;border-radius:999px;background:rgba(17,24,39,.9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;box-shadow:0 10px 24px rgba(17,24,39,.2)}
.public-asset-card:hover .public-asset-open-icon{background:#f47b20;color:#111827}
.public-asset-card strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.public-asset-card small{color:#64748b;font-weight:800;text-transform:uppercase;font-size:11px}
.public-doc-block .public-asset-card.is-hidden-more{display:none}
.public-show-more{margin:18px auto 0;border:1px solid #e5e7eb;background:#111827;color:#fff;border-radius:999px;padding:11px 16px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:900;cursor:pointer}
.public-show-more:hover{background:#f47b20;color:#111827;border-color:#f47b20}
.public-show-more:disabled{cursor:default;background:#e5e7eb;color:#64748b;border-color:#e5e7eb}
.public-inventory-list{display:grid;gap:10px}
.public-inventory-list div{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc}
.public-inventory-list span{color:#64748b}
.public-inventory-list strong{white-space:nowrap}
.public-inventory-list em{font-style:normal;background:#dcfce7;color:#166534;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900}
.public-project-sidebar{min-width:0}
.public-project-sidebar>div{position:sticky;top:74px;background:#111827;color:#fff;border-radius:14px;padding:24px;box-shadow:0 18px 45px rgba(17,24,39,.18)}
.public-project-sidebar h3{font-size:22px;margin:0 0 16px}
.public-project-sidebar p{display:grid;gap:4px;margin:0;padding:13px 0;border-top:1px solid rgba(255,255,255,.12)}
.public-project-sidebar b{font-size:12px;color:#cbd5e1;text-transform:uppercase;letter-spacing:.06em}
.public-project-sidebar span{overflow-wrap:anywhere}
.public-project-sidebar a{display:flex;justify-content:center;margin-top:16px;padding:13px 14px;border-radius:8px;background:#f47b20;color:#111827;text-decoration:none;font-weight:900;text-align:center}
.public-related-projects{background:#fff;padding-top:58px}
.public-project-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px clamp(18px,5vw,76px);background:#0b1120;color:#fff}
.public-project-footer .intro-brand{color:#fff}
.public-project-footer p{margin:10px 0 0;color:#cbd5e1;line-height:1.6;max-width:520px}
.public-project-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.public-project-footer nav a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:9px 12px;font-weight:800;font-size:13px}
.public-project-footer nav a:hover{background:#f47b20;color:#111827;border-color:#f47b20}
@media(max-width:1100px){.public-project-layout{grid-template-columns:1fr}.public-project-sidebar>div{position:static}.public-asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-reason-block .project-buy-reasons{grid-template-columns:1fr}}
@media(max-width:720px){.seo-project-hero{min-height:58vh;padding-bottom:48px}.public-project-summary{gap:0}.public-project-summary article{border-radius:0;box-shadow:none;border-left:0;border-right:0}.public-project-nav{top:63px;justify-content:flex-start;padding:10px 14px;margin-bottom:14px}.public-project-nav a{max-width:calc(50% - 5px);font-size:12px;padding:8px 10px}.public-project-layout{padding-left:14px;padding-right:14px}.public-content-block{border-radius:10px;padding:18px}.public-content-block .rich-content table{display:block;width:100%}.public-content-block .rich-content tr{display:grid;grid-template-columns:1fr}.public-content-block .rich-content th,.public-content-block .rich-content td{display:block;width:100%}.public-asset-grid{grid-template-columns:1fr}.public-inventory-list div{grid-template-columns:1fr}.public-inventory-list strong{white-space:normal}.public-project-hero h1{font-size:38px}.public-project-footer{align-items:flex-start;flex-direction:column}.public-project-footer nav{justify-content:flex-start}}
/* Inventory detail presentation */
.policy-admin-grid{display:grid;gap:10px}
.policy-admin-row{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:10px;padding:10px;border:1px solid var(--border,#e5e7eb);border-radius:12px;background:#f8fafc}
.policy-group-list{display:grid;gap:12px;margin-top:16px}
.policy-group-item{border:1px solid var(--border,#e5e7eb);border-radius:14px;background:#fff;overflow:hidden}
.policy-group-item summary{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1.5fr) auto;gap:12px;align-items:center;padding:14px 16px;cursor:pointer;background:#f8fafc}
.policy-group-item summary b{color:#0f172a}.policy-group-item summary span{color:#64748b}.policy-group-item summary em{font-style:normal;color:#b45309;font-weight:800}
.policy-group-item form{padding:14px 16px}.badge.amber{background:#fef3c7;color:#92400e;border-color:#f59e0b}
.inventory-position-row{padding:12px;border:1px solid var(--border,#e5e7eb);border-radius:12px;background:#f8fafc}
.inventory-position-fields{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px;margin-top:8px}
.inventory-position-fields label{display:grid;gap:4px;font-size:12px;color:#64748b}
.unit-detail-showcase{display:grid;gap:16px}
.unit-detail-shell{overflow:hidden;border:1px solid rgba(15,23,42,.12);border-radius:18px;background:linear-gradient(145deg,#ffffff 0%,#f7fbff 48%,#fff7ed 100%);box-shadow:0 24px 70px rgba(15,23,42,.12)}
.unit-detail-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.78);backdrop-filter:blur(10px)}
.unit-detail-topbar h1{margin:4px 0 2px;font-size:30px;line-height:1;color:#0f2348}
.unit-detail-topbar p{margin:0;color:#64748b}
.unit-chip{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#dcfce7;color:#15803d;font-weight:800;font-size:12px}
.unit-price{text-align:right}.unit-price small{display:block;color:#94a3b8;font-weight:700}.unit-price strong{display:block;color:#dc2626;font-size:28px}
.unit-plan-stage{position:relative;padding:16px}.unit-plan-stage-wide{padding:18px 22px}
.unit-plan-media{position:relative;overflow:hidden;min-height:330px;border-radius:16px;background:linear-gradient(135deg,#0f766e,#0f172a);touch-action:none}
.unit-plan-stage-wide .unit-plan-media{min-height:420px}
.unit-plan-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translate(var(--plan-x,0),var(--plan-y,0)) scale(var(--plan-scale,1));transform-origin:center;transition:transform .18s ease;user-select:none;pointer-events:none}
.unit-plan-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,7,18,.18),rgba(255,255,255,.04));pointer-events:none}
.unit-location-marker{position:absolute;left:var(--marker-x,50%);top:var(--marker-y,50%);z-index:2;display:inline-flex;align-items:center;gap:7px;transform:translate(-18px,-100%);padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:#0f2348;box-shadow:0 12px 32px rgba(15,23,42,.22);font-weight:900;cursor:grab}
.unit-location-marker i{font-size:24px;color:#ef4444;filter:drop-shadow(0 4px 8px rgba(239,68,68,.35))}
.unit-stage-caption{position:absolute;left:28px;top:28px;z-index:3;padding:6px 10px;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;font-size:12px;font-weight:800}
.unit-detail-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:16px;padding:0 22px 18px}
.unit-info-card{border-radius:16px;border:1px solid rgba(15,23,42,.09);background:rgba(255,255,255,.92);padding:18px;box-shadow:0 18px 40px rgba(15,23,42,.08)}
.unit-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.unit-card-title span{color:#64748b;font-weight:800}.unit-card-title strong{font-size:24px;color:#0f2348}
.unit-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.unit-metric-grid div{padding:12px;border-radius:12px;background:#f8fafc}.unit-metric-grid small{display:block;color:#94a3b8;font-weight:800}.unit-metric-grid b{display:block;margin-top:4px;color:#0f172a;overflow-wrap:anywhere}
.unit-attr-list{display:grid;gap:8px;margin-top:14px}.unit-attr-list div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px dashed #e2e8f0}.unit-attr-list span{color:#64748b}.unit-attr-list b{text-align:right;color:#0f172a;overflow-wrap:anywhere}
.unit-policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;padding:0 22px 18px}
.unit-policy-box{display:grid;gap:4px;padding:16px;border-radius:16px;background:linear-gradient(135deg,#fff7ed,#ffffff 52%,#ecfeff);border:1px solid rgba(245,158,11,.22);box-shadow:0 12px 28px rgba(15,23,42,.08)}
.unit-policy-box small{color:#b45309;font-weight:900;text-transform:uppercase}.unit-policy-box strong{font-size:18px;color:#0f2348;overflow-wrap:anywhere}.unit-policy-box span{color:#64748b}
.unit-editor-toolbar{position:sticky;bottom:12px;z-index:20;display:flex;justify-content:center;gap:10px;padding:10px;border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);box-shadow:0 18px 45px rgba(15,23,42,.16);width:max-content;max-width:calc(100vw - 32px);margin:0 auto}
.unit-detail-showcase.is-editing .unit-plan-media{outline:3px solid rgba(37,99,235,.38);cursor:move}.unit-detail-showcase.is-editing .unit-location-marker{cursor:grab}
@media (max-width:900px){
    .policy-admin-row{grid-template-columns:1fr}
    .inventory-position-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
    .unit-detail-topbar{align-items:stretch;flex-direction:column}.unit-price{text-align:left}.unit-detail-grid{grid-template-columns:1fr;padding:0 14px 14px}.unit-plan-stage,.unit-plan-stage-wide{padding:14px}.unit-plan-media,.unit-plan-stage-wide .unit-plan-media{min-height:300px}.unit-policy-grid{padding:0 14px 14px}.unit-detail-topbar h1{font-size:26px}
}
@media (max-width:560px){
    .unit-metric-grid{grid-template-columns:1fr}.unit-attr-list div{display:grid}.unit-attr-list b{text-align:left}.unit-editor-toolbar{border-radius:16px;flex-wrap:wrap}.unit-location-marker b{max-width:120px;overflow:hidden;text-overflow:ellipsis}.unit-plan-media,.unit-plan-stage-wide .unit-plan-media{min-height:240px}
}

/* Inventory detail premium layout - closer to uploaded TK style */
.unit-detail-showcase{max-width:1320px;margin:0 auto 28px}
.unit-detail-shell{border:0;border-radius:0;background:radial-gradient(circle at 50% -10%,rgba(255,216,122,.22),transparent 32rem),linear-gradient(180deg,#260405 0%,#5b0509 42%,#7c090f 70%,#2b0204 100%);box-shadow:0 28px 90px rgba(0,0,0,.28);color:#fff8e6}
.unit-detail-topbar{background:linear-gradient(90deg,rgba(42,4,6,.94),rgba(109,9,15,.88));border-bottom:2px solid rgba(255,226,141,.52);padding:18px 28px}
.unit-detail-topbar h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,6vw,76px);color:#fff2bd;text-shadow:0 4px 0 #5f100d,0 0 18px rgba(255,209,94,.24)}
.unit-detail-topbar p{color:#ffe8a9}.unit-chip{background:linear-gradient(180deg,#0a653f,#034b2d);color:#fff7d6;border:1px solid #ffe6a2}.unit-price strong{font-family:Georgia,"Times New Roman",serif;color:#ffe8a9;font-size:clamp(34px,4vw,58px)}.unit-price small{color:#ffd98c}
.unit-policy-name{display:inline-flex;margin-right:8px;padding:4px 9px;border-radius:999px;background:rgba(255,232,169,.16);border:1px solid rgba(255,232,169,.45);color:#fff2bd;font-weight:900}
.unit-plan-stage{padding:22px clamp(14px,2vw,30px)}.unit-plan-stage-wide{padding:0}
.unit-plan-media{border-radius:0;min-height:clamp(390px,45vw,610px);background:#152819;box-shadow:inset 0 0 0 1px rgba(255,230,168,.28);isolation:isolate}
.unit-detail-grid .unit-plan-media{min-height:540px;border-radius:20px}
.unit-plan-stage-wide .unit-plan-media{min-height:clamp(420px,48vw,660px)}
.unit-plan-media img{left:50%;top:50%;inset:auto;width:100%;height:100%;transform:translate(calc(-50% + var(--plan-x,0%)),calc(-50% + var(--plan-y,0%))) scale(var(--plan-scale,1));filter:saturate(1.05) contrast(1.04)}
.unit-plan-media::after{background:linear-gradient(180deg,rgba(0,0,0,.06),transparent 45%,rgba(35,0,0,.24))}
.unit-stage-caption{left:50%;top:auto;bottom:22px;transform:translateX(-50%);padding:11px 38px;border-radius:12px;background:linear-gradient(180deg,#08603b,#034b2d);border:2px solid #ffe6a2;box-shadow:0 10px 28px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.24);font-size:clamp(18px,2.2vw,34px);white-space:nowrap;color:#fff8e6}
.unit-location-marker{gap:8px;transform:translate(-50%,-100%);padding:0;background:transparent;box-shadow:none;color:#fff8e6;filter:drop-shadow(0 8px 12px rgba(0,0,0,.45))}
.unit-location-marker i{display:grid;place-items:center;width:54px;height:72px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(145deg,#ff392b,#a60000 65%);border:3px solid rgba(255,255,255,.3);box-shadow:inset 0 3px 8px rgba(255,255,255,.34),0 0 0 1px #620000;color:transparent;font-size:0}
.unit-location-marker i::after{content:"";width:19px;height:19px;border-radius:50%;background:#742113;border:3px solid #ffb448}
.unit-location-marker b{margin-left:-12px;padding:8px 18px 8px 22px;border-radius:0 8px 8px 0;background:linear-gradient(180deg,#ee281c,#a40000);border:1px solid rgba(255,231,169,.8);font-weight:900;font-size:clamp(16px,2vw,24px);text-shadow:0 2px 2px rgba(0,0,0,.45);white-space:nowrap}
.unit-stage-editor{position:absolute;right:14px;top:14px;z-index:12;display:flex;gap:7px;opacity:.34;transition:.2s}
.unit-plan-media:hover .unit-stage-editor,.unit-detail-showcase.is-editing .unit-stage-editor{opacity:1}
.unit-stage-editor button{width:38px;height:38px;border-radius:9px;border:1px solid rgba(255,229,162,.75);color:#fff9e9;background:rgba(43,4,6,.77);backdrop-filter:blur(10px);font-weight:900;cursor:pointer}
.unit-detail-showcase.is-editing .unit-plan-media{outline:2px dashed rgba(255,231,155,.7);outline-offset:-8px;cursor:grab}.unit-plan-media.is-dragging{cursor:grabbing!important}
.unit-detail-grid{padding:22px clamp(18px,3vw,36px) 0;grid-template-columns:minmax(0,.95fr) minmax(0,1.08fr);gap:24px;align-items:stretch}
.unit-info-card{border:1px solid rgba(255,230,168,.78);border-radius:20px;background:linear-gradient(145deg,rgba(117,7,12,.96),rgba(61,0,4,.98));box-shadow:0 24px 70px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.16);padding:26px clamp(20px,3vw,42px);color:#fff8e6}
.unit-card-title{display:block}.unit-card-title span{color:#ffe8a9;text-transform:uppercase}.unit-card-title strong{display:block;margin-top:8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(46px,6vw,82px);line-height:.95;color:#fff2bd;text-shadow:0 4px 0 #6b130f}
.unit-metric-grid{grid-template-columns:1fr 1fr;gap:16px 30px;margin-top:24px}.unit-metric-grid div{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;align-items:baseline;padding:0 0 9px;border-radius:0;background:transparent;border-bottom:1px solid rgba(255,229,171,.18)}.unit-metric-grid small{color:#fff8e6;font-weight:700}.unit-metric-grid b{text-align:right;color:#fff8e6}
.unit-attr-list div{border-top:1px solid rgba(255,229,171,.16)}.unit-attr-list span{color:#ffe8a9}.unit-attr-list b{color:#fff8e6}
.unit-policy-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:22px clamp(18px,3vw,36px)}
.unit-policy-box{min-height:128px;justify-content:center;text-align:center;border-radius:11px;background:linear-gradient(180deg,rgba(105,12,17,.92),rgba(67,1,5,.96));border:1px solid rgba(255,223,151,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 18px rgba(0,0,0,.18);color:#fff8e6}
.unit-policy-box small{color:#fff8e6;font-size:13px}.unit-policy-box strong{font-family:Georgia,"Times New Roman",serif;color:#ffe8a9;font-size:clamp(28px,3vw,48px);line-height:.95;text-shadow:0 2px 0 #6b130c}.unit-policy-box span{color:#fff4c9}
.unit-editor-toolbar{background:rgba(43,4,6,.86);border:1px solid rgba(255,229,162,.55);color:#fff8e6}
@media(max-width:900px){.unit-detail-grid{grid-template-columns:1fr;padding:18px 12px 0}.unit-detail-grid .unit-plan-media{min-height:500px}.unit-policy-grid{grid-template-columns:repeat(2,1fr);padding:18px 12px}.unit-location-marker i{width:42px;height:56px}.unit-location-marker i::after{width:14px;height:14px}.unit-stage-caption{padding:8px 24px}.unit-detail-topbar{padding:16px}}
@media(max-width:560px){.unit-plan-media,.unit-plan-stage-wide .unit-plan-media{min-height:410px}.unit-detail-grid .unit-plan-media{min-height:470px}.unit-policy-grid{grid-template-columns:1fr 1fr;gap:8px}.unit-info-card{padding:22px 17px}.unit-metric-grid{grid-template-columns:1fr}.unit-metric-grid b{text-align:left}.unit-location-marker b{font-size:15px;padding:6px 11px 6px 17px}.unit-stage-editor button{width:34px;height:34px}}

/* Unit sales detail modal-like layout */
.unit-stage-caption{display:none!important}
.unit-sales-detail{max-width:1180px;margin:0 auto 28px}
.unit-sales-panel{display:grid;grid-template-columns:minmax(360px,.96fr) minmax(360px,1.05fr);background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;box-shadow:0 24px 70px rgba(15,23,42,.18)}
.unit-sales-left{background:#f8fafc;border-right:1px solid #e5e7eb}
.unit-sales-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 18px;background:#fff;border-bottom:1px solid #e5e7eb}
.unit-sales-header h1{margin:0;color:#172033;font-size:24px;line-height:1.1}.unit-sales-header small{display:block;color:#9ca3af;text-align:right}.unit-sales-header strong{display:block;color:#dc2626;font-size:24px;text-align:right}
.unit-map-card{padding:0;border-bottom:1px solid #e5e7eb;background:#fff}.unit-map-card .unit-plan-media{border-radius:0;min-height:0;height:auto;aspect-ratio:16/10;background:#0f172a;box-shadow:none}
.unit-map-master .unit-plan-media{aspect-ratio:16/10}.unit-map-parcel .unit-plan-media{aspect-ratio:16/9}.unit-map-perspective .unit-plan-media{aspect-ratio:16/7}
.unit-plan-media img{transform:translate(calc(-50% + var(--plan-x,0%)),calc(-50% + var(--plan-y,0%))) scale(var(--plan-scale,1));transform-origin:center}
.unit-sales-detail.view-only-plan .unit-plan-media{touch-action:auto;cursor:default}.unit-sales-detail.view-only-plan .unit-location-marker{cursor:default;pointer-events:none}.unit-sales-detail.view-only-plan .unit-stage-editor{display:none}
.unit-location-marker{left:var(--marker-x,50%);top:var(--marker-y,50%);transform:translate(-50%,-100%);will-change:left,top}
.unit-location-marker i{width:34px!important;height:46px!important;border-width:2px!important}.unit-location-marker i::after{width:12px!important;height:12px!important;border-width:2px!important}.unit-location-marker b{font-size:12px!important;padding:5px 9px 5px 13px!important;margin-left:-9px!important;max-width:120px;overflow:hidden;text-overflow:ellipsis}
.unit-stage-editor{opacity:0}.unit-sales-detail.can-edit-plan.is-editing .unit-stage-editor{opacity:1}.unit-sales-detail.can-edit-plan.is-editing .unit-plan-media{outline:2px dashed rgba(37,99,235,.5);outline-offset:-6px}
.unit-sales-right{padding:18px 20px;background:#fff;display:grid;align-content:start;gap:18px}.unit-status-line{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.unit-info-section{border-bottom:1px solid #edf0f4;padding-bottom:16px}.unit-info-section:last-child{border-bottom:0}.unit-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.unit-section-head h3{margin:0;color:#172033;font-size:18px}
.unit-info-list{display:grid;gap:8px}.unit-info-list div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:baseline}.unit-info-list span{color:#98a2b3;font-weight:700}.unit-info-list b{color:#101828;text-align:right;overflow-wrap:anywhere}
.mini-action{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:8px;background:#f8fafc;border:1px solid #eef2f7;color:#344054;font-weight:800;font-size:13px}.mini-action.disabled{opacity:.72}
.unit-policy-mini{display:grid;gap:8px}.unit-policy-mini div{display:grid;grid-template-columns:1fr auto;gap:10px;padding:8px 0}.unit-policy-mini span{color:#98a2b3;font-weight:700}.unit-policy-mini b{color:#101828;text-align:right}.unit-policy-mini small{grid-column:1/-1;color:#667085;text-align:right}
.unit-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.unit-contact-card{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:10px;background:#f8fafc;border:1px solid #eef2f7}.unit-contact-card img{width:48px;height:48px;border-radius:50%;object-fit:cover}.unit-contact-card b{display:block;color:#172033}.unit-contact-card small,.unit-contact-card span{display:block;color:#667085;font-size:12px;overflow-wrap:anywhere}.contact-actions{display:flex;gap:6px}.contact-actions a{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#2563eb;color:#fff}.contact-actions a:first-child{background:#22c55e}
.unit-editor-toolbar{position:sticky;bottom:14px;z-index:30;margin:14px auto 0}
@media(max-width:960px){.unit-sales-panel{grid-template-columns:1fr}.unit-sales-left{border-right:0;border-bottom:1px solid #e5e7eb}.unit-sales-right{padding:16px}.unit-contact-grid{grid-template-columns:1fr}.unit-status-line{justify-content:flex-start}}
@media(max-width:560px){.unit-sales-panel{border-radius:0;margin:0 -12px}.unit-sales-header{padding:14px}.unit-sales-header h1{font-size:21px}.unit-sales-header strong{font-size:20px}.unit-info-list div{grid-template-columns:1fr}.unit-info-list b{text-align:left}.unit-section-head{display:grid}.unit-policy-mini div{grid-template-columns:1fr}.unit-policy-mini b,.unit-policy-mini small{text-align:left}.unit-map-card .unit-plan-media{aspect-ratio:4/3}.unit-map-perspective .unit-plan-media{aspect-ratio:4/2.6}.unit-location-marker b{max-width:92px}}

/* Left visual board + right info panel */
.unit-sales-panel{grid-template-columns:minmax(420px,.96fr) minmax(430px,1fr);align-items:stretch}
.unit-sales-left{background:#062e2a;padding:0;border-right:1px solid #e5e7eb}
.unit-visual-board{display:grid;gap:0;background:linear-gradient(180deg,#052e2b,#063b36);min-height:100%}
.unit-visual-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:rgba(255,255,255,.96);border-bottom:1px solid #e5e7eb}
.unit-visual-title h1{margin:0;color:#172033;font-size:24px}.unit-visual-title span{color:#667085;font-weight:700;text-align:right}
.unit-visual-board .unit-map-card{border:0;background:#062e2a}.unit-visual-board .unit-plan-media{border-radius:0;box-shadow:none}
.unit-visual-board .unit-map-master .unit-plan-media{aspect-ratio:16/10;min-height:0}
.unit-visual-mid{display:grid;grid-template-columns:minmax(220px,.92fr) minmax(240px,1.08fr);gap:0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.unit-visual-info{padding:18px;background:linear-gradient(145deg,rgba(7,71,64,.96),rgba(4,47,46,.98));color:#eafff9}
.unit-visual-info h2{margin:0 0 14px;color:#fef3c7;font-size:34px;font-family:Georgia,"Times New Roman",serif}
.unit-visual-specs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.unit-visual-specs div{padding-bottom:8px;border-bottom:1px dashed rgba(255,255,255,.2)}.unit-visual-specs span{display:block;color:#99f6e4;font-size:12px;font-weight:800}.unit-visual-specs b{display:block;margin-top:3px;color:#fff;overflow-wrap:anywhere}
.unit-visual-price{margin-top:16px;padding:12px;border-radius:12px;text-align:center;background:linear-gradient(135deg,#fff2ae,#d8a84f 45%,#fff7c7);color:#5b0509}.unit-visual-price small{display:block;font-weight:900;text-transform:uppercase}.unit-visual-price strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:30px}
.unit-visual-mid .unit-map-parcel .unit-plan-media{height:100%;min-height:320px;aspect-ratio:auto}
.unit-visual-policy-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;padding:10px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.unit-visual-policy-strip div{display:grid;align-content:center;min-height:74px;text-align:center;border-radius:10px;background:#fff;border:1px solid #e5e7eb;padding:8px}.unit-visual-policy-strip span{font-size:11px;color:#667085;font-weight:800;text-transform:uppercase}.unit-visual-policy-strip b{margin-top:4px;color:#92400e;font-size:18px;overflow-wrap:anywhere}
.unit-visual-board .unit-map-perspective .unit-plan-media{aspect-ratio:16/6.6;min-height:0}
.unit-sales-right{min-width:0}
@media(max-width:1040px){.unit-sales-panel{grid-template-columns:1fr}.unit-visual-mid{grid-template-columns:1fr}.unit-visual-mid .unit-map-parcel .unit-plan-media{aspect-ratio:16/9;min-height:0}.unit-sales-left{border-right:0}}
@media(max-width:560px){.unit-visual-title{display:grid}.unit-visual-title span{text-align:left}.unit-visual-info h2{font-size:28px}.unit-visual-specs{grid-template-columns:1fr}.unit-visual-board .unit-map-master .unit-plan-media,.unit-visual-board .unit-map-perspective .unit-plan-media,.unit-visual-mid .unit-map-parcel .unit-plan-media{aspect-ratio:4/3}.unit-visual-policy-strip{grid-template-columns:1fr 1fr}.unit-sales-panel{margin:0 -12px}}

/* Restore premium wine/gold visual style while keeping right-side sales panel */
.unit-sales-detail{max-width:1280px}
.unit-sales-panel{border:0;border-radius:18px;background:#fff;box-shadow:0 28px 90px rgba(15,23,42,.24);overflow:hidden}
.unit-sales-left{background:radial-gradient(circle at 50% -12%,rgba(255,205,88,.2),transparent 30rem),linear-gradient(180deg,#1e0505 0%,#4d0307 34%,#71070c 70%,#2c0204 100%);padding:0;border-right:1px solid rgba(15,23,42,.08)}
.unit-visual-board{background:transparent;box-shadow:inset 0 0 0 1px rgba(255,230,168,.18)}
.unit-visual-title{background:linear-gradient(90deg,rgba(49,0,4,.96),rgba(104,5,10,.92));border-bottom:2px solid rgba(255,226,141,.62);padding:18px 22px}
.unit-visual-title h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(40px,5.5vw,70px);line-height:.92;color:#fff2bd;text-shadow:0 4px 0 #6b130f,0 0 16px rgba(255,209,94,.26);letter-spacing:.02em}
.unit-visual-title span{color:#ffe8a9;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.unit-visual-board .unit-map-card{background:#220305;border-top:1px solid rgba(255,230,168,.28)}
.unit-visual-board .unit-plan-media{background:#152819;box-shadow:inset 0 0 0 1px rgba(255,230,168,.2)}
.unit-visual-board .unit-plan-media::after{background:linear-gradient(180deg,rgba(0,0,0,.04),transparent 45%,rgba(35,0,0,.22))}
.unit-visual-mid{border-top:5px solid transparent;border-bottom:5px solid transparent;border-image:linear-gradient(90deg,transparent,#ffe28d 18%,#fff5c5 50%,#d98622 82%,transparent) 1;box-shadow:0 -8px 24px rgba(255,159,35,.12),0 8px 24px rgba(255,159,35,.12)}
.unit-visual-info{border:1px solid rgba(255,230,168,.78);border-left:0;border-radius:0;background:linear-gradient(145deg,rgba(117,7,12,.96),rgba(61,0,4,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.16);color:#fff8e6}
.unit-visual-info h2{font-family:Georgia,"Times New Roman",serif;color:#fff2bd;text-shadow:0 4px 0 #6b130f,0 0 16px rgba(255,209,94,.26);font-size:clamp(46px,5vw,74px);line-height:.92}
.unit-visual-specs div{border-bottom:1px solid rgba(255,229,171,.14)}.unit-visual-specs span{color:#ffe8a9}.unit-visual-specs b{color:#fff8e6;text-align:right}
.unit-visual-price{border-radius:17px;background:linear-gradient(135deg,#fff2ae,#d8a84f 45%,#fff7c7);box-shadow:inset 0 0 0 1px #fff6cd,0 18px 34px rgba(0,0,0,.25);color:#5b0509}
.unit-visual-price strong{font-size:clamp(32px,3.5vw,54px);letter-spacing:-.02em}
.unit-visual-policy-strip{background:linear-gradient(180deg,rgba(92,4,8,.98),rgba(80,1,6,.98));border-top:0;border-bottom:0;padding:14px 16px;gap:12px}
.unit-visual-policy-strip div{min-height:112px;border-radius:11px;background:linear-gradient(180deg,rgba(105,12,17,.9),rgba(67,1,5,.94));border:1px solid rgba(255,223,151,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 18px rgba(0,0,0,.18)}
.unit-visual-policy-strip span{color:#fff8e6;font-size:12px}.unit-visual-policy-strip b{font-family:Georgia,"Times New Roman",serif;color:#ffe8a9;font-size:clamp(24px,2.8vw,42px);text-shadow:0 2px 0 #6b130c}
.unit-sales-right{background:linear-gradient(180deg,#ffffff,#fbfdff);padding:22px 24px}
.unit-info-section{border-bottom:1px solid #edf0f4}.unit-section-head h3{font-size:19px;color:#172033}
.unit-info-list div{padding:4px 0}.unit-info-list span{color:#98a2b3}.unit-info-list b{color:#0b1b35;font-weight:900}
.unit-contact-card{background:#f9fafb;border-color:#edf0f4;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.unit-location-marker{filter:drop-shadow(0 8px 12px rgba(0,0,0,.45))}
.unit-location-marker i{background:linear-gradient(145deg,#ff392b,#a60000 65%)!important;border-color:rgba(255,255,255,.34)!important}
.unit-location-marker b{background:linear-gradient(180deg,#ee281c,#a40000)!important;border-color:rgba(255,231,169,.8)!important;color:#fff8e6!important;text-shadow:0 2px 2px rgba(0,0,0,.45)}
@media(max-width:560px){.unit-visual-title h1{font-size:36px}.unit-visual-info h2{font-size:40px}.unit-visual-policy-strip div{min-height:92px}.unit-sales-right{padding:16px}}

/* Inventory modal + stable map ratio */
body.has-inventory-modal{overflow:hidden}
.inventory-detail-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px}
.inventory-detail-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68);backdrop-filter:blur(4px)}
.inventory-detail-dialog{position:relative;z-index:1;width:min(1180px,calc(100vw - 28px));height:min(760px,calc(100vh - 28px));background:#fff;border-radius:12px;box-shadow:0 30px 90px rgba(0,0,0,.34);overflow:hidden}
.inventory-detail-dialog iframe{width:100%;height:100%;border:0;display:block;background:#f8fafc}
.inventory-detail-close{position:absolute;right:10px;top:10px;z-index:2;width:42px;height:42px;border:0;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(15,23,42,.18);color:#111827;font-size:24px;cursor:pointer}
.unit-modal-body{margin:0;background:#eef2f7;padding:0;font-family:"Be Vietnam Pro",Inter,system-ui,sans-serif}
.unit-modal-body .unit-sales-detail{max-width:none;margin:0}.unit-modal-body .unit-sales-panel{border-radius:0;box-shadow:none;min-height:100vh}
.unit-visual-board .unit-map-master .unit-plan-media,.unit-visual-board .unit-map-perspective .unit-plan-media,.unit-visual-mid .unit-map-parcel .unit-plan-media{aspect-ratio:16/10!important;min-height:0!important;height:auto!important}
.unit-plan-media img{object-fit:cover}
@media(max-width:720px){.inventory-detail-modal{padding:0}.inventory-detail-dialog{width:100vw;height:100vh;border-radius:0}.inventory-detail-close{right:8px;top:8px}.unit-modal-body .unit-sales-panel{grid-template-columns:1fr}}

/* Inventory popup polish */
.inventory-detail-dialog{width:min(1120px,calc(100vw - 32px));height:min(720px,calc(100vh - 32px));border-radius:14px;background:#fff}
.unit-modal-body .unit-sales-panel{min-height:100vh;grid-template-columns:minmax(420px,.96fr) minmax(410px,1fr);background:#fff}
.unit-modal-body .unit-visual-title{padding:14px 18px}.unit-modal-body .unit-visual-title h1{font-size:34px;line-height:1}.unit-modal-body .unit-visual-title span{font-size:12px}
.unit-modal-body .unit-visual-info{padding:16px}.unit-modal-body .unit-visual-info h2{font-size:34px;margin-bottom:12px}
.unit-modal-body .unit-visual-specs{gap:8px}.unit-modal-body .unit-visual-specs span{font-size:11px}.unit-modal-body .unit-visual-specs b{font-size:13px;text-align:left}
.unit-modal-body .unit-visual-price{margin-top:12px;padding:10px}.unit-modal-body .unit-visual-price strong{font-size:28px}
.unit-modal-body .unit-visual-policy-strip{padding:10px;gap:8px}.unit-modal-body .unit-visual-policy-strip div{min-height:76px}.unit-modal-body .unit-visual-policy-strip span{font-size:10px}.unit-modal-body .unit-visual-policy-strip b{font-size:22px}
.unit-modal-body .unit-sales-right{padding:18px 20px;gap:14px;overflow:auto}.unit-modal-body .unit-info-section{padding-bottom:14px}.unit-modal-body .unit-section-head{margin-bottom:8px}.unit-modal-body .unit-section-head h3{font-size:17px;font-weight:900}
.unit-modal-body .unit-info-list{border:1px solid #eef2f7;border-radius:12px;overflow:hidden;background:#fff}.unit-modal-body .unit-info-list div{grid-template-columns:145px minmax(0,1fr);padding:10px 12px;border-bottom:1px solid #eef2f7;background:#fff}.unit-modal-body .unit-info-list div:nth-child(even){background:#fbfdff}.unit-modal-body .unit-info-list div:last-child{border-bottom:0}.unit-modal-body .unit-info-list span{font-size:13px}.unit-modal-body .unit-info-list b{font-size:14px}
.unit-modal-body .unit-policy-mini{border:1px solid #eef2f7;border-radius:12px;overflow:hidden}.unit-modal-body .unit-policy-mini div{padding:10px 12px;border-bottom:1px solid #eef2f7;background:#fff}.unit-modal-body .unit-policy-mini div:last-child{border-bottom:0}.unit-modal-body .unit-policy-mini span{font-size:13px}.unit-modal-body .unit-policy-mini b{font-size:14px}
.unit-modal-body .unit-contact-grid{grid-template-columns:1fr}.unit-modal-body .unit-contact-card{padding:10px;background:#fff;border-radius:12px}.unit-modal-body .unit-contact-card img{width:44px;height:44px}.unit-modal-body .unit-contact-card b{font-size:14px}.unit-modal-body .unit-contact-card span{font-size:11px}
.unit-modal-body .mini-action{padding:7px 9px;font-size:12px}.unit-modal-body .unit-status-line{justify-content:flex-start}
.unit-modal-body .unit-map-master .unit-plan-media{aspect-ratio:16/8.8!important}.unit-modal-body .unit-map-perspective .unit-plan-media{aspect-ratio:16/6.2!important}.unit-modal-body .unit-visual-mid .unit-map-parcel .unit-plan-media{aspect-ratio:16/10!important}
@media(max-width:900px){.unit-modal-body .unit-sales-panel{grid-template-columns:1fr}.unit-modal-body .unit-sales-right{overflow:visible}.inventory-detail-dialog{height:100vh;width:100vw;border-radius:0}}

/* Unit map zoom/pan fixes + premium listed price title */
.unit-plan-media{overflow:hidden!important;background:#280507!important}
.unit-plan-media img{left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;inset:auto!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;object-fit:cover!important;transform:translate(calc(-50% + var(--plan-x,0%)),calc(-50% + var(--plan-y,0%))) scale(var(--plan-scale,1))!important;transform-origin:center!important}
.unit-sales-detail.can-edit-plan .unit-stage-editor{opacity:.9}
.unit-sales-detail.can-edit-plan .unit-plan-media:hover .unit-stage-editor,.unit-sales-detail.can-edit-plan.is-editing .unit-stage-editor{opacity:1}
.unit-stage-editor button:hover{background:rgba(255,229,162,.2);transform:translateY(-1px)}
.unit-visual-title .unit-title-price{display:grid;justify-items:end;gap:2px;text-align:right;min-width:150px}
.unit-visual-title .unit-title-price small{display:block;color:#ffd98c;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.unit-visual-title .unit-title-price strong{display:block;font-family:Georgia,"Times New Roman",serif;color:#fff2bd;font-size:clamp(28px,3.2vw,46px);line-height:1;text-shadow:0 3px 0 #6b130f,0 0 18px rgba(255,209,94,.28);white-space:nowrap}
.unit-modal-body .unit-visual-title .unit-title-price{min-width:128px}
.unit-modal-body .unit-visual-title .unit-title-price strong{font-size:28px}
@media(max-width:560px){
    .unit-visual-title .unit-title-price{justify-items:start;text-align:left;min-width:0}
    .unit-visual-title .unit-title-price strong{font-size:30px}
}

/* Keep inventory detail popup compact: no black gaps, no inner scrolling */
.unit-modal-body{overflow:hidden!important}
.unit-modal-body .unit-sales-panel{height:100vh!important;min-height:0!important;overflow:hidden!important}
.unit-modal-body .unit-sales-left,.unit-modal-body .unit-visual-board{min-height:0!important;overflow:hidden!important}
.unit-modal-body .unit-sales-right{overflow:hidden!important;padding:14px 16px!important;gap:10px!important;align-content:start!important}
.unit-modal-body .unit-info-section{padding-bottom:10px!important}
.unit-modal-body .unit-info-list div,.unit-modal-body .unit-policy-mini div{padding:7px 10px!important}
.unit-modal-body .unit-contact-card{padding:8px!important}
.unit-modal-body .unit-visual-title{padding:10px 14px!important}
.unit-modal-body .unit-visual-info{padding:12px!important}
.unit-modal-body .unit-visual-info h2{font-size:28px!important;margin-bottom:8px!important}
.unit-modal-body .unit-visual-specs{gap:6px!important}
.unit-modal-body .unit-visual-price{margin-top:8px!important;padding:8px!important}
.unit-modal-body .unit-visual-price strong{font-size:24px!important}
.unit-modal-body .unit-visual-policy-strip{padding:8px!important;gap:6px!important}
.unit-modal-body .unit-visual-policy-strip div{min-height:58px!important;padding:6px!important}
.unit-modal-body .unit-visual-policy-strip b{font-size:18px!important}
.unit-modal-body .unit-map-master .unit-plan-media{aspect-ratio:16/6.4!important;max-height:235px!important}
.unit-modal-body .unit-visual-mid .unit-map-parcel .unit-plan-media{aspect-ratio:16/7!important;max-height:245px!important}
.unit-modal-body .unit-map-perspective .unit-plan-media{aspect-ratio:16/5.8!important;max-height:165px!important}
.unit-modal-body .unit-map-card{overflow:hidden!important;background:#280507!important}
@media(max-width:900px){
    .unit-modal-body{overflow:auto!important}
    .unit-modal-body .unit-sales-panel{height:auto!important;overflow:visible!important}
    .unit-modal-body .unit-sales-right{overflow:visible!important}
}

/* Browser-scroll modal + hard-stretched floorplans */
body.has-inventory-modal{overflow:auto!important}
.inventory-detail-modal{position:absolute!important;align-items:start!important;place-items:start center!important;min-height:100vh!important;padding:24px 18px 42px!important}
.inventory-detail-backdrop{position:fixed!important}
.inventory-detail-dialog{height:auto!important;min-height:0!important;overflow:visible!important}
.inventory-detail-dialog iframe{height:1160px;min-height:760px;overflow:hidden!important}
.unit-modal-body{overflow:hidden!important;background:#edf1f6!important}
.unit-modal-body .unit-sales-panel{height:auto!important;min-height:0!important;overflow:visible!important}
.unit-modal-body .unit-sales-left,.unit-modal-body .unit-visual-board,.unit-modal-body .unit-sales-right{overflow:visible!important}
.unit-plan-media{background:transparent!important}
.unit-plan-media::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#2c0507,#120304);z-index:-1}
.unit-plan-media img{object-fit:fill!important;display:block!important}
.unit-location-marker{z-index:8!important;gap:0!important;filter:drop-shadow(0 12px 18px rgba(0,0,0,.48))!important}
.unit-location-marker i{position:relative!important;display:grid!important;place-items:center!important;width:48px!important;height:48px!important;border-radius:999px!important;transform:none!important;background:radial-gradient(circle at 35% 28%,#fff7b8 0 13%,#ffcf39 14% 36%,#ff3d2e 37% 100%)!important;border:4px solid #fff8d9!important;box-shadow:0 0 0 5px rgba(218,28,28,.22),0 14px 28px rgba(127,0,0,.45),inset 0 3px 6px rgba(255,255,255,.45)!important;color:transparent!important;font-size:0!important}
.unit-location-marker i::before{content:"";position:absolute;left:50%;bottom:-17px;transform:translateX(-50%);width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:20px solid #d31313;filter:drop-shadow(0 6px 4px rgba(0,0,0,.25))}
.unit-location-marker i::after{content:"";width:13px!important;height:13px!important;border-radius:999px!important;background:#7d0707!important;border:3px solid #fff4bb!important}
.unit-location-marker b{margin-left:-5px!important;padding:8px 14px 8px 18px!important;border-radius:0 999px 999px 0!important;background:linear-gradient(180deg,#f51e18,#9d0000)!important;border:2px solid rgba(255,240,180,.95)!important;border-left:0!important;font-size:15px!important;line-height:1!important;max-width:150px!important}
.unit-modal-body .unit-sales-right{gap:10px!important;padding-bottom:14px!important}
.unit-modal-body .unit-info-section{padding-bottom:10px!important}
@media(max-width:900px){
    .inventory-detail-modal{position:absolute!important;padding:0 0 24px!important}
    .inventory-detail-dialog{width:100vw!important;border-radius:0!important}
    .unit-location-marker i{width:42px!important;height:42px!important}
    .unit-location-marker b{font-size:12px!important;max-width:110px!important}
}

/* Final universal floorplan guard: no gaps, parcel map fully interactive */
.unit-sales-detail .unit-map-card,.unit-sales-detail .unit-plan-media{position:relative!important;overflow:hidden!important}
.unit-sales-detail .unit-plan-media{background:#fff!important;touch-action:none!important;pointer-events:auto!important}
.unit-sales-detail .unit-plan-media::before{display:none!important}
.unit-sales-detail .unit-plan-media::after{z-index:1!important;pointer-events:none!important}
.unit-sales-detail .unit-plan-media img{position:absolute!important;left:50%!important;top:50%!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;object-fit:fill!important;transform:translate3d(calc(-50% + var(--plan-x,0%)),calc(-50% + var(--plan-y,0%)),0) scale(var(--plan-scale,1))!important;transform-origin:center center!important;z-index:0!important;pointer-events:none!important;backface-visibility:hidden!important}
.unit-sales-detail .unit-location-marker{z-index:6!important;pointer-events:auto!important}
.unit-sales-detail .unit-stage-editor{z-index:20!important;pointer-events:auto!important}
.unit-sales-detail .unit-stage-editor button{pointer-events:auto!important}
.unit-visual-mid,.unit-visual-mid .unit-map-parcel{position:relative!important;z-index:3!important;min-height:260px!important}
.unit-visual-mid .unit-map-parcel .unit-plan-media{display:block!important;height:100%!important;min-height:260px!important;aspect-ratio:16/9!important}
.unit-modal-body .unit-visual-mid,.unit-modal-body .unit-visual-mid .unit-map-parcel{min-height:230px!important}
.unit-modal-body .unit-visual-mid .unit-map-parcel .unit-plan-media{height:230px!important;min-height:230px!important;max-height:none!important;aspect-ratio:auto!important}
.unit-sales-detail.can-edit-plan .unit-visual-mid .unit-map-parcel .unit-stage-editor{opacity:1!important}

/* Professional resilient unit modal */
.unit-modal-body,.unit-sales-detail{font-family:"Nunito","Be Vietnam Pro",Inter,system-ui,sans-serif!important}
.unit-sales-panel{border-radius:22px!important;box-shadow:0 34px 90px rgba(9,14,28,.24)!important}
.unit-sales-left{background:linear-gradient(180deg,#1b0506 0%,#65070d 58%,#240304 100%)!important}
.unit-visual-title{background:linear-gradient(135deg,#330306,#8f0f16)!important;border-bottom:1px solid rgba(255,221,133,.65)!important}
.unit-visual-title h1{font-family:"Nunito","Be Vietnam Pro",system-ui,sans-serif!important;font-weight:1000!important;letter-spacing:0!important}
.unit-title-price strong,.unit-visual-price strong{font-family:"Nunito","Be Vietnam Pro",system-ui,sans-serif!important;font-weight:1000!important}
.unit-sales-detail .unit-plan-media.has-plan-bg{background-image:var(--plan-bg)!important;background-repeat:no-repeat!important;background-position:var(--plan-bg-x,50%) var(--plan-bg-y,50%)!important;background-size:var(--plan-bg-size,100% 100%)!important;background-color:#fff!important}
.unit-sales-detail .unit-plan-media.has-plan-bg img{opacity:0!important;visibility:hidden!important;transform:none!important}
.unit-sales-detail .unit-plan-media{border:1px solid rgba(255,231,160,.34)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)!important}
.unit-sales-detail .unit-plan-media::after{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.08))!important}
.unit-visual-mid{gap:8px!important;padding:8px!important;background:linear-gradient(90deg,rgba(255,214,104,.34),rgba(255,255,255,.12),rgba(255,214,104,.34))!important;border:0!important;box-shadow:none!important}
.unit-visual-mid .unit-visual-info{border-radius:18px!important;border:1px solid rgba(255,231,160,.48)!important}
.unit-visual-mid .unit-map-parcel{border-radius:18px!important;overflow:hidden!important}
.unit-modal-body .unit-visual-mid .unit-map-parcel .unit-plan-media{height:260px!important;min-height:260px!important;border-radius:18px!important}
.unit-modal-body .unit-map-master .unit-plan-media{height:270px!important;max-height:none!important;aspect-ratio:auto!important;border-radius:0!important}
.unit-modal-body .unit-map-perspective .unit-plan-media{height:210px!important;max-height:none!important;aspect-ratio:auto!important;border-radius:0!important}
.unit-location-marker{transform:translate(-50%,-105%)!important;align-items:center!important}
.unit-location-marker i{width:58px!important;height:58px!important;border-radius:20px 20px 20px 4px!important;transform:rotate(-45deg)!important;background:linear-gradient(145deg,#ff5a2c,#e0001b 58%,#8d0012)!important;border:4px solid #fff4c7!important;box-shadow:0 16px 30px rgba(113,0,18,.42),inset 0 4px 8px rgba(255,255,255,.38)!important}
.unit-location-marker i::before{display:none!important}
.unit-location-marker i::after{width:18px!important;height:18px!important;border:4px solid #fff8d6!important;background:#8b0012!important;transform:rotate(45deg)!important}
.unit-location-marker b{margin-left:-8px!important;padding:9px 17px 9px 20px!important;border-radius:999px!important;background:linear-gradient(135deg,#ffffff,#fff1b8)!important;border:2px solid #e11d2e!important;color:#7f0010!important;text-shadow:none!important;font-size:16px!important;font-weight:1000!important;box-shadow:0 12px 24px rgba(20,20,20,.18)!important}
.unit-stage-editor{display:flex!important;opacity:1!important;background:rgba(15,23,42,.42)!important;padding:6px!important;border-radius:14px!important;backdrop-filter:blur(10px)!important}
.unit-stage-editor button{width:42px!important;height:42px!important;border-radius:12px!important;background:#fff!important;color:#8f0f16!important;border:1px solid rgba(255,231,160,.9)!important;box-shadow:0 10px 24px rgba(0,0,0,.18)!important}
@media(max-width:900px){
    .unit-sales-panel{border-radius:0!important}
    .unit-modal-body .unit-map-master .unit-plan-media,.unit-modal-body .unit-visual-mid .unit-map-parcel .unit-plan-media,.unit-modal-body .unit-map-perspective .unit-plan-media{height:240px!important;min-height:240px!important}
    .unit-location-marker i{width:48px!important;height:48px!important}
    .unit-location-marker b{font-size:13px!important;padding:7px 12px 7px 15px!important}
}

/* Compact modal height: remove stale fixed heights after policy/download removal */
.inventory-detail-dialog{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
.inventory-detail-dialog iframe{height:620px;min-height:0!important;max-height:none!important;overflow:hidden!important}
.unit-modal-body{min-height:0!important;overflow:hidden!important}
.unit-modal-body .unit-sales-detail{margin:0!important;min-height:0!important}
.unit-modal-body .unit-sales-panel{height:auto!important;min-height:0!important;max-height:none!important;align-items:start!important}
.unit-modal-body .unit-sales-left,.unit-modal-body .unit-visual-board,.unit-modal-body .unit-sales-right{height:auto!important;min-height:0!important;max-height:none!important}
.unit-modal-body .unit-sales-right{align-content:start!important}
.unit-modal-body .unit-editor-toolbar{position:relative!important;bottom:auto!important;margin:10px auto 12px!important}
@media(max-width:900px){
    .inventory-detail-dialog iframe{height:1180px}
}

/* Modal visual finish: no gray tail, rounded clipped corners */
.inventory-detail-dialog{border-radius:18px!important;overflow:hidden!important;background:transparent!important}
.inventory-detail-dialog iframe{display:block!important;background:transparent!important}
.unit-modal-body{background:transparent!important;padding:0!important}
.unit-modal-body .unit-sales-detail{background:transparent!important}
.unit-modal-body .unit-sales-panel{border-radius:18px!important;overflow:hidden!important;background:#fff!important}
.unit-modal-body .unit-editor-toolbar{background:rgba(255,255,255,.92)!important}
@media(max-width:900px){
    .inventory-detail-dialog,.unit-modal-body .unit-sales-panel{border-radius:0!important}
}

/* Public inventory popup must stay in the current viewport. */
body.has-inventory-modal{overflow:auto!important}
.inventory-detail-modal{
    position:fixed!important;
    inset:0!important;
    z-index:99999!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    min-height:100vh!important;
    padding:18px!important;
    overflow:auto!important;
}
.inventory-detail-backdrop{
    position:fixed!important;
    inset:0!important;
    background:rgba(15,23,42,.68)!important;
    backdrop-filter:blur(4px)!important;
}
.inventory-detail-dialog{
    position:relative!important;
    z-index:1!important;
    width:min(1180px,calc(100vw - 36px))!important;
    min-height:0!important;
    height:auto!important;
    margin:auto 0!important;
    border-radius:18px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 32px 90px rgba(15,23,42,.38)!important;
}
.inventory-detail-dialog iframe{
    width:100%!important;
    height:min(760px,calc(100vh - 36px))!important;
    min-height:620px!important;
    border:0!important;
    background:#f8fafc!important;
}
.inventory-detail-close{
    position:absolute!important;
    top:14px!important;
    right:14px!important;
    z-index:2!important;
}
@media(max-width:720px){
    .inventory-detail-modal{padding:0!important}
    .inventory-detail-dialog{width:100vw!important;min-height:100vh!important;border-radius:0!important}
    .inventory-detail-dialog iframe{height:100vh!important;min-height:100vh!important}
}

/* Inventory public modal: let the popup grow with its real content height. */
body.has-inventory-modal{overflow:auto!important}
.inventory-detail-modal{
    position:fixed!important;
    inset:0!important;
    display:block!important;
    min-height:100vh!important;
    padding:18px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
}
.inventory-detail-dialog{
    width:min(1180px,calc(100vw - 36px))!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto!important;
    overflow:visible!important;
    border-radius:18px!important;
}
.inventory-detail-dialog iframe{
    display:block!important;
    width:100%!important;
    height:1180px!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
}
@media(max-width:720px){
    .inventory-detail-modal{padding:0!important}
    .inventory-detail-dialog{width:100vw!important;border-radius:0!important}
    .inventory-detail-dialog iframe{height:1400px!important}
}

/* User profile */
.profile-shad-page{display:grid;gap:18px}
.profile-hero-card{position:relative;overflow:hidden;border:1px solid #e5e7eb;border-radius:18px;background:#fff;box-shadow:0 18px 42px rgba(15,23,42,.06)}
.profile-cover{height:132px;background:radial-gradient(circle at 18% 20%,rgba(244,123,32,.42),transparent 28%),linear-gradient(135deg,#0f172a,#1e293b 54%,#0f766e)}
.profile-hero-body{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:end;padding:0 24px 18px;margin-top:-34px}
.profile-avatar-xl{width:112px;height:112px;border-radius:28px;padding:5px;background:#fff;box-shadow:0 16px 38px rgba(15,23,42,.22)}
.profile-avatar-xl img,.profile-avatar-xl span{display:grid;place-items:center;width:100%;height:100%;border-radius:23px;object-fit:cover;color:#fff;font-size:40px;font-weight:900}
.profile-name-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.profile-name-line h1{margin:0;color:#111827;font-size:30px;line-height:1.12;overflow-wrap:anywhere}
.profile-identity{padding-top:38px;min-width:0}
.profile-identity p{margin:5px 0 10px;color:#64748b;font-weight:700}
.profile-meta-row{display:flex;gap:10px;flex-wrap:wrap;color:#475569;font-size:13px}
.profile-meta-row span{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}
.profile-tabs{display:flex;gap:6px;padding:0 24px 18px;overflow-x:auto}
.profile-tabs a{padding:9px 13px;border-radius:999px;color:#64748b;text-decoration:none;font-weight:800;white-space:nowrap}
.profile-tabs a.active,.profile-tabs a:hover{background:#111827;color:#fff}
.profile-layout-grid{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.55fr) minmax(250px,.82fr);gap:18px;align-items:start}
.profile-side-stack,.profile-main-stack{display:grid;gap:18px}
.profile-card-tight{padding:18px}
.profile-progress{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:8px 0 12px}
.profile-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f47b20,#0f766e)}
.profile-about-list{display:grid;gap:0;border:1px solid #eef2f7;border-radius:14px;overflow:hidden}
.profile-about-list div{display:grid;gap:5px;padding:11px 12px;background:#fff;border-bottom:1px solid #eef2f7}
.profile-about-list div:last-child{border-bottom:0}
.profile-about-list span{color:#64748b;font-size:12px;font-weight:800}
.profile-about-list b{color:#111827;overflow-wrap:anywhere}
.profile-mini-list{display:grid;gap:10px}
.profile-mini-list a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid #eef2f7;border-radius:14px;color:#111827;text-decoration:none;background:#fff}
.profile-mini-list a:hover{border-color:#f47b20;box-shadow:0 12px 26px rgba(15,23,42,.08)}
.profile-mini-list b{display:block;overflow-wrap:anywhere}
.profile-mini-list small{display:block;margin-top:3px;color:#64748b;overflow-wrap:anywhere}
.mini-dot{width:38px;height:38px;border-radius:14px;background:#f1f5f9;display:grid;place-items:center;color:#0f766e}
.profile-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.profile-stat-grid article{padding:16px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 12px 26px rgba(15,23,42,.04)}
.profile-stat-grid span,.profile-stat-grid small{display:block;color:#64748b;font-size:12px;font-weight:800}
.profile-stat-grid b{display:block;margin:6px 0;color:#111827;font-size:28px;line-height:1}
.profile-form-modern{grid-template-columns:repeat(2,minmax(0,1fr))}
.profile-activity-stream{display:grid;gap:12px}
.profile-activity-stream article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:13px;border:1px solid #eef2f7;border-radius:16px;background:#fff}
.activity-icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#fff7ed;color:#f47b20}
.profile-activity-stream b{display:block;overflow-wrap:anywhere}
.profile-activity-stream p{margin:4px 0 0;color:#64748b;font-size:13px}
@media(max-width:1180px){.profile-layout-grid{grid-template-columns:1fr 1.5fr}.profile-layout-grid>.profile-side-stack:last-child{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.profile-cover{height:112px}.profile-hero-body{grid-template-columns:1fr;margin-top:-34px;padding:0 16px 16px}.profile-identity{padding-top:0}.profile-hero-body>.btn{justify-self:start}.profile-avatar-xl{width:96px;height:96px}.profile-name-line h1{font-size:24px}.profile-layout-grid,.profile-layout-grid>.profile-side-stack:last-child{grid-template-columns:1fr}.profile-stat-grid,.profile-form-modern{grid-template-columns:1fr}.profile-tabs{padding:0 16px 16px}}

/* Public project inventory */
.public-inventory-block{overflow:hidden}
.public-inventory-table{display:grid;gap:8px;margin-top:14px}
.public-inventory-row{display:grid;grid-template-columns:1.25fr .9fr .8fr 1fr .85fr;gap:12px;align-items:center;padding:13px 14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;color:#172033;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.public-inventory-row:not(.public-inventory-head):hover{transform:translateY(-2px);border-color:#f47b20;box-shadow:0 18px 38px rgba(17,24,39,.1)}
.public-inventory-head{background:#111827;color:#fff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.public-inventory-row b,.public-inventory-row strong{display:block;font-weight:900;overflow-wrap:anywhere}
.public-inventory-row small{display:block;margin-top:3px;color:#64748b;font-size:12px}
.public-inventory-head small{color:#cbd5e1}
.public-inventory-row em{display:inline-flex;width:max-content;max-width:100%;padding:6px 9px;border-radius:999px;background:#ecfdf5;color:#047857;font-style:normal;font-size:12px;font-weight:900}
.public-inventory-note{margin:12px 0 0;color:#64748b;font-size:14px}
@media(max-width:760px){
    .public-inventory-head{display:none}
    .public-inventory-row{grid-template-columns:1fr 1fr;gap:8px;padding:14px}
    .public-inventory-row span:first-child{grid-column:1/-1}
    .public-inventory-row span:nth-child(4){grid-column:1/-1}
    .public-inventory-row strong{font-size:20px;color:#ef4444}
    .public-inventory-row em{font-size:11px}
}

/* Task & permissions modules: scoped only to the two new pages */
.task-page .task-hero{background:linear-gradient(135deg,#111827,#1d4ed8);color:#fff;border-radius:18px;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;overflow:hidden}
.task-page .task-hero p,.task-page .task-hero .eyebrow{color:rgba(255,255,255,.78)}
.task-page .task-stats{margin-top:18px}
.task-page .task-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:18px;margin-top:18px}
.task-page .task-form-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.task-page .task-month-filter{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.task-page .task-month-filter input{min-width:150px}
.task-page .task-filter{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(150px,1fr)) auto;gap:10px;align-items:center;margin-bottom:14px}
.task-page .task-filter input,.task-page .task-filter select{width:100%;min-width:0}
.task-page .mini-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.task-page .calendar-day{min-height:94px;border:1px solid var(--border,#e5e7eb);border-radius:12px;background:#fff;padding:8px;overflow:hidden}
.task-page .calendar-day.today{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.task-page .calendar-day.muted{background:transparent;border:0}
.task-page .calendar-day b{display:block;font-size:13px;margin-bottom:6px}
.task-page .calendar-dot{display:block;width:100%;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;text-align:left;cursor:pointer;border-radius:999px;padding:3px 7px;font-size:11px;margin-top:4px;background:#eef2ff;color:#3730a3}
.task-page .calendar-dot.tone-red{background:#fee2e2;color:#991b1b}
.task-page .calendar-dot.tone-green{background:#dcfce7;color:#166534}
.task-page .calendar-dot.tone-amber{background:#fef3c7;color:#92400e}
.task-page .calendar-dot.tone-blue{background:#dbeafe;color:#1d4ed8}
.task-page .task-table td small{display:block;color:#64748b;margin-top:3px}
.task-page .task-row-actions{display:flex;gap:6px;align-items:center}
.task-page .task-row-actions form{margin:0}
.task-page .task-complete-btn{color:#16a34a}

/* Upcoming events */
.intro-events{padding:88px 6vw;background:linear-gradient(180deg,#f8fafc 0%,#eef6f5 100%);position:relative;overflow:hidden}
.intro-events:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(15,118,110,.1);filter:blur(80px);right:-180px;top:-180px}
.intro-events .intro-section-head{position:relative;display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}
.intro-events .intro-section-head>div{max-width:760px}
.intro-events .intro-section-head span{display:block;color:#0f766e;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:12px;margin-bottom:10px}
.intro-events .intro-section-head h2{margin:0;color:#0f766e;font-size:clamp(30px,4vw,52px);line-height:1.12;letter-spacing:-.04em}
.intro-events .intro-section-head>p{max-width:430px;color:#475569;line-height:1.75;margin:0}
.intro-event-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.intro-event-card{background:#fff;border:1px solid rgba(15,118,110,.14);border-radius:22px;overflow:hidden;box-shadow:0 18px 50px rgba(15,23,42,.08);transition:.25s ease}
.intro-event-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(15,118,110,.15)}
.intro-event-card.is-featured{border-color:rgba(15,118,110,.42)}
.intro-event-media{height:220px;position:relative;background:linear-gradient(135deg,#0f766e,#111827);overflow:hidden;display:flex;align-items:center;justify-content:center}
.intro-event-media img{width:100%;height:100%;object-fit:contain;transition:transform .4s ease}
.intro-event-card:hover .intro-event-media img{transform:scale(1.015)}
.intro-event-placeholder{height:100%;display:grid;place-items:center;color:#fff;font-size:58px}
.intro-event-media time{position:absolute;left:16px;bottom:16px;width:64px;background:#fff;border-radius:14px;text-align:center;overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,.2)}
.intro-event-media time b{display:block;color:#0f766e;font-size:25px;padding:7px 4px 1px}
.intro-event-media time span{display:block;background:#0f766e;color:#fff;font-size:11px;font-weight:700;padding:5px}
.intro-event-media em{position:absolute;right:14px;top:14px;background:#fbbf24;color:#111827;border-radius:999px;padding:7px 12px;font-style:normal;font-size:12px;font-weight:800}
.intro-event-card.is-ongoing{border-color:#ef4444;box-shadow:0 18px 50px rgba(239,68,68,.22)}
.intro-event-media em.badge-ongoing{background:#ef4444;color:#fff;display:inline-flex;align-items:center;gap:5px;box-shadow:0 4px 14px rgba(239,68,68,.45);animation:pulse-glow-red 2s infinite}
@keyframes pulse-glow-red{0%{box-shadow:0 0 0 0 rgba(239,68,68,.6)}70%{box-shadow:0 0 0 8px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
.intro-event-body{padding:23px}
.intro-event-project{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;padding:6px 10px;border-radius:999px;background:#e6fffb;color:#0f766e;font-size:12px;font-weight:800}
.intro-event-meta{display:flex;gap:14px;flex-wrap:wrap;color:#64748b;font-size:12px}
.intro-event-meta span{display:flex;align-items:center;gap:5px}.intro-event-meta i{color:#0f766e}
.intro-event-body h3{margin:13px 0 9px;color:#111827;font-size:21px;line-height:1.35}
.intro-event-body p{margin:0 0 18px;color:#64748b;line-height:1.7;font-size:14px}
.intro-event-body a{display:inline-flex;align-items:center;gap:7px;color:#0f766e;text-decoration:none;font-weight:800}
.intro-event-body a:hover{gap:11px}
.intro-events-more{display:flex;justify-content:center;margin-top:34px}.intro-events-more a{display:inline-flex;align-items:center;gap:9px;padding:14px 20px;border-radius:12px;background:linear-gradient(135deg,#0f766e,#111827);color:#fff;text-decoration:none;font-weight:900;box-shadow:0 14px 32px rgba(15,118,110,.2)}.intro-events-more a:hover{transform:translateY(-2px)}
.event-admin-preview{width:100%;max-height:260px;object-fit:contain;background:#f8fafc;border-radius:14px;border:1px solid #e2e8f0}
.event-admin-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.event-admin-stack>form,.event-admin-stack>section{width:100%;box-sizing:border-box}
.event-ai-box{display:flex;align-items:flex-start;gap:13px;padding:16px;border-radius:14px;background:linear-gradient(135deg,#ecfeff,#f0fdf4);border:1px solid #99f6e4}.event-ai-box>i{font-size:26px;color:#0f766e}.event-ai-box b,.event-ai-box span{display:block}.event-ai-box span{margin-top:4px;color:#475569;font-size:13px;line-height:1.6}
@media(max-width:980px){.intro-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-events .intro-section-head{align-items:start;flex-direction:column;gap:14px}}
@media(max-width:640px){.intro-events{padding:64px 20px}.intro-event-grid{grid-template-columns:1fr}.intro-event-media{height:210px}}

/* Public event detail */
.event-detail-page{background:#f6f8fb;color:#111827}.event-detail-page .intro-header{position:relative;top:auto;background:#111827;border-bottom-color:rgba(255,255,255,.14)}.event-detail-main{width:100%;max-width:none;margin:0;padding:0 0 90px}
.event-detail-hero{width:100%;box-sizing:border-box;display:block;padding:72px clamp(28px,6vw,100px);border-radius:0;background:linear-gradient(135deg,#0f766e,#111827);color:#fff;box-shadow:0 30px 80px rgba(15,23,42,.2)}
.event-detail-hero-copy{max-width:1050px;margin:0 auto;text-align:center}.event-detail-back{display:inline-flex;align-items:center;gap:7px;color:#99f6e4;text-decoration:none;font-weight:700;margin-bottom:22px}
.event-detail-project{display:table;width:max-content;max-width:100%;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:13px;font-weight:800;margin:0 auto 15px}
.event-detail-project i{margin-right:6px}.event-detail-hero h1{font-size:clamp(34px,4.4vw,62px);line-height:1.1;letter-spacing:-.045em;margin:0 0 18px}
.event-detail-hero-copy>p{font-size:17px;line-height:1.75;color:#dbeafe;margin:0 auto 25px;max-width:820px}.event-detail-facts{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-bottom:26px;text-align:left}
.event-detail-facts>div,.event-detail-aside>div{display:flex;align-items:center;gap:11px}.event-detail-facts i{font-size:25px;color:#5eead4}
.event-detail-facts span,.event-detail-aside span{display:flex;flex-direction:column;gap:2px}.event-detail-facts small{color:#99f6e4}.event-detail-facts b{font-size:14px}
.event-register-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 19px;border-radius:12px;background:#fff;color:#0f766e;text-decoration:none;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.event-register-btn:hover{transform:translateY(-2px)}.event-detail-hero-media{height:430px;border-radius:23px;overflow:hidden;background:rgba(255,255,255,.08);display:grid;place-items:center}
.event-detail-hero-media img{width:100%;height:100%;object-fit:contain}.event-detail-hero-media>div{font-size:80px;color:#5eead4}
.event-detail-content-grid{max-width:1280px;margin:30px auto 0;padding:0 28px;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
.event-detail-content,.event-detail-aside{background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:30px;box-shadow:0 16px 45px rgba(15,23,42,.06)}
.event-detail-label{display:block;color:#0f766e;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:20px}
.event-detail-content .public-rich{font-size:16px;line-height:1.85;color:#334155}.event-detail-content .public-rich img{max-width:100%;height:auto;border-radius:14px}
.event-detail-content-media{margin:32px 0 0;text-align:center}
.event-detail-content-media a{display:inline-block;max-width:100%;border-radius:16px;overflow:hidden;border:1px solid #e2e8f0;box-shadow:0 10px 32px rgba(15,23,42,.08)}
.event-detail-content-media img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain}
.event-detail-content-media figcaption{margin-top:12px;font-size:14px;font-style:italic;font-weight:500;color:#64748b;text-align:center}
.event-detail-aside{position:sticky;top:20px}.event-detail-aside h3{margin:0 0 22px;font-size:20px}.event-detail-aside>div{padding:13px 0;border-bottom:1px solid #edf2f7}
.event-detail-aside-image{display:flex;width:100%;max-height:330px;margin:0 0 24px;border-radius:15px;overflow:hidden;background:#f1f5f9;border:1px solid #e2e8f0}.event-detail-aside-image img{width:100%;height:auto;max-height:330px;object-fit:contain}
.event-detail-aside>div>i{width:38px;height:38px;border-radius:10px;background:#e6fffb;color:#0f766e;display:grid;place-items:center;font-size:19px}
.event-detail-aside small{color:#64748b}.event-detail-aside b,.event-detail-aside a{font-size:13px;color:#111827;text-decoration:none}.event-register-btn.is-full{width:100%;margin-top:22px;background:#0f766e;color:#fff;box-sizing:border-box}
.event-detail-empty{text-align:center;padding:100px 20px}.event-detail-empty>i{font-size:64px;color:#0f766e}.event-detail-empty a{color:#0f766e;font-weight:800}
.event-related{max-width:1280px;margin:70px auto 0;padding:0 28px;box-sizing:border-box}.event-related-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.event-related-head span{color:#0f766e;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.1em}.event-related-head h2{font-size:36px;margin:5px 0 0}.event-related-head>a{color:#0f766e;font-weight:800;text-decoration:none}
@media(max-width:900px){.event-detail-hero{grid-template-columns:1fr;padding:30px}.event-detail-hero-media{height:360px}.event-detail-content-grid{grid-template-columns:1fr}.event-detail-aside{position:static}}
@media(max-width:600px){.event-detail-main{padding-bottom:60px}.event-detail-hero{padding:32px 18px}.event-detail-hero-media{height:260px}.event-detail-content-grid,.event-related{padding:0 16px}.event-detail-content,.event-detail-aside{padding:22px}.event-related-head{align-items:start;flex-direction:column}.event-related-head h2{font-size:30px}}

/* Event archive and calendar */
.event-archive-page .intro-header,.event-calendar-page .intro-header{position:relative;top:auto;background:#111827;border-bottom-color:rgba(255,255,255,.14)}
.event-archive-hero{padding:76px clamp(20px,7vw,110px);background:linear-gradient(135deg,#0f766e,#111827);color:#fff}.event-archive-hero>span{color:#99f6e4;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.event-archive-hero h1{font-size:clamp(40px,6vw,72px);margin:10px 0 14px;letter-spacing:-.045em}.event-archive-hero p{max-width:720px;color:#dbeafe;font-size:17px;line-height:1.7}.event-archive-hero a{display:inline-flex;align-items:center;gap:8px;margin-top:15px;padding:12px 16px;border-radius:10px;background:#fff;color:#0f766e;text-decoration:none;font-weight:900}
.event-archive-wrap{max-width:1280px;margin:0 auto;padding:46px 28px 90px}.event-filter-tabs{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.event-filter-tabs a{padding:10px 15px;border-radius:999px;background:#e2e8f0;color:#334155;text-decoration:none;font-weight:800;font-size:13px}.event-filter-tabs a.active{background:#0f766e;color:#fff}.event-archive-page .intro-event-body h3 a{display:block;color:#111827}.event-archive-page .intro-event-body h3 a:hover{color:#0f766e}
.event-pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:38px}.event-pagination a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:42px;height:42px;padding:0 12px;box-sizing:border-box;border-radius:10px;border:1px solid #cbd5e1;background:#fff;color:#334155;text-decoration:none;font-weight:800}.event-pagination a:hover,.event-pagination a.active{background:#0f766e;border-color:#0f766e;color:#fff}.event-pagination .event-page-nav{padding:0 16px}
.event-calendar-main{max-width:1440px;margin:0 auto;padding:52px 28px 90px}.event-calendar-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.event-calendar-head span{color:#0f766e;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.1em}.event-calendar-head h1{font-size:42px;margin:5px 0 0}.event-calendar-head>div:last-child{display:flex;gap:8px}.event-calendar-head a{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;color:#0f766e;text-decoration:none;font-weight:800;background:#fff}
.event-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid #dbe3ec;border-top:1px solid #dbe3ec;background:#fff;box-shadow:0 18px 55px rgba(15,23,42,.07)}.event-calendar-weekday{padding:12px;text-align:center;background:#0f766e;color:#fff;border-right:1px solid rgba(255,255,255,.15)}.event-calendar-day{min-height:150px;padding:10px;border-right:1px solid #dbe3ec;border-bottom:1px solid #dbe3ec;box-sizing:border-box}.event-calendar-day>strong{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:13px}.event-calendar-day.is-today>strong{background:#0f766e;color:#fff}.event-calendar-day.is-empty{background:#f8fafc}.event-calendar-day>a{display:block;margin-top:8px;padding:8px;border-radius:8px;background:#e6fffb;color:#134e4a;text-decoration:none;border-left:3px solid #0f766e}.event-calendar-day>a time{font-size:11px;font-weight:900}.event-calendar-day>a span,.event-calendar-day>a small{display:block}.event-calendar-day>a span{font-size:12px;font-weight:800;line-height:1.35;margin-top:3px}.event-calendar-day>a small{font-size:10px;color:#64748b;margin-top:4px}
@media(max-width:800px){.event-calendar-grid{display:block;border:0;box-shadow:none}.event-calendar-weekday,.event-calendar-day.is-empty{display:none}.event-calendar-day{min-height:auto;margin-bottom:10px;border:1px solid #dbe3ec;border-radius:12px}.event-calendar-day:not(:has(a)){display:none}.event-calendar-head{align-items:start;flex-direction:column}.event-calendar-head h1{font-size:34px}}
.task-calendar-modal[hidden]{display:none!important}
.task-calendar-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px}
.task-calendar-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(4px)}
.task-calendar-dialog{position:relative;z-index:1;width:min(520px,100%);background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 28px 80px rgba(15,23,42,.28);padding:22px}
.task-calendar-close{position:absolute;right:14px;top:14px}
.task-calendar-dialog h3{margin:8px 40px 16px 0;font-size:22px;line-height:1.3;color:#111827}
.task-calendar-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.task-calendar-info div{border:1px solid #eef2f7;border-radius:12px;background:#f8fafc;padding:12px}
.task-calendar-info span{display:block;color:#64748b;font-size:12px;font-weight:800}
.task-calendar-info b{display:block;margin-top:5px;color:#111827;overflow-wrap:anywhere}
.permissions-page .permissions-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px}
.permissions-page .permission-matrix{overflow:auto;border:1px solid var(--border,#e5e7eb);border-radius:14px}
.permissions-page .permission-matrix table{min-width:760px}
.permissions-page .permission-matrix th,.permissions-page .permission-matrix td{text-align:center}
.permissions-page .permission-matrix td:first-child,.permissions-page .permission-matrix th:first-child{text-align:left;position:sticky;left:0;background:#fff;z-index:1}
.permissions-page .switch-mini input{display:none}
.permissions-page .switch-mini span{display:inline-block;width:38px;height:22px;border-radius:999px;background:#e5e7eb;position:relative;vertical-align:middle}
.permissions-page .switch-mini span:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(15,23,42,.2);transition:.18s}
.permissions-page .switch-mini input:checked+span{background:#2563eb}
.permissions-page .switch-mini input:checked+span:before{transform:translateX(16px)}
.permissions-page .permission-grid{display:grid;gap:10px}
.permissions-page .permission-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:12px;background:#fff}
.permissions-page .permission-card small{display:block;color:#64748b}
.email-tracking-filter{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(130px,1fr)) auto;gap:10px;align-items:center}
.email-tracking-filter input,.email-tracking-filter select{width:100%;min-width:0}
.email-log-table table{min-width:980px}
.email-log-table td small{display:block;margin-top:4px;color:#64748b;overflow-wrap:anywhere}
.email-error{max-width:280px}
.wallet-hero{display:flex;align-items:center;justify-content:space-between;gap:18px}
.wallet-balance-card{min-width:220px;border:1px solid rgba(255,255,255,.38);border-radius:16px;padding:18px;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;box-shadow:0 14px 34px rgba(15,23,42,.24)}
.wallet-balance-card span{display:block;color:#dbeafe;font-size:12px;font-weight:800;text-transform:uppercase}
.wallet-balance-card strong{display:block;margin-top:8px;font-size:30px;line-height:1;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.wallet-bank-box,.wallet-price-list,.wallet-mini-list{display:grid;gap:10px}
.wallet-bank-box{grid-template-columns:repeat(2,minmax(0,1fr))}
.wallet-bank-box div,.wallet-price-list div,.wallet-mini-list div{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px}
.wallet-bank-box span,.wallet-price-list small,.wallet-mini-list small{display:block;color:var(--muted);font-size:12px;font-weight:700}
.wallet-bank-box b,.wallet-price-list b,.wallet-mini-list b{overflow-wrap:anywhere}
.wallet-price-list strong,.wallet-mini-list strong{white-space:nowrap;color:var(--primary);font-weight:900}
.wallet-topup-btn{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 12px;border:1px solid rgba(37,99,235,.18);border-radius:999px;background:#eff6ff;color:#1d4ed8;text-decoration:none;font-size:12px;font-weight:900;white-space:nowrap}
.wallet-topup-btn i{font-size:18px}
.wallet-topup-btn span{color:#0f172a}
.wallet-topup-btn b{padding:5px 8px;border-radius:999px;background:#2563eb;color:#fff;font-size:11px}
.wallet-qr-panel{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:16px;margin-top:14px;padding:16px;border:1px solid rgba(37,99,235,.16);border-radius:16px;background:linear-gradient(135deg,#f8fbff,#fff)}
.wallet-qr-panel span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}
.wallet-qr-panel strong{display:block;margin-top:4px;font-size:30px;line-height:1;color:#0f172a}
.wallet-qr-panel small{display:block;margin-top:8px;color:var(--muted);font-weight:700;overflow-wrap:anywhere}
.wallet-qr-panel img{width:190px;max-width:100%;border-radius:14px;border:1px solid var(--line);background:#fff}
.wallet-qr-empty{padding:14px;border:1px dashed #f59e0b;border-radius:12px;background:#fffbeb;color:#92400e;font-size:13px;font-weight:800}
.wallet-live-status{display:inline-flex;margin-top:10px;padding:8px 10px;border-radius:999px;font-size:12px;font-weight:900;border:1px solid var(--line);background:#f8fafc;color:#475569}
.wallet-live-status.pending{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.wallet-live-status.success{background:#ecfdf5;border-color:#bbf7d0;color:#047857}
.wallet-live-status.danger{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
[data-wallet-countdown]{font-variant-numeric:tabular-nums;color:#1d4ed8}
[data-wallet-countdown].is-ending{color:#dc2626}
.wallet-success-modal{position:fixed;inset:0;z-index:5000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.56);backdrop-filter:blur(5px)}
.wallet-success-modal.open{display:flex}
.wallet-success-dialog{width:min(420px,100%);padding:26px;border-radius:22px;background:#fff;text-align:center;box-shadow:0 30px 90px rgba(15,23,42,.3);position:relative}
.wallet-success-close{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:999px;background:#f1f5f9;color:#334155;font-size:22px;cursor:pointer}
.wallet-success-icon{width:72px;height:72px;margin:0 auto 14px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:38px;box-shadow:0 16px 32px rgba(22,163,74,.25)}
.wallet-success-dialog span{display:block;color:#047857;font-size:12px;font-weight:900;text-transform:uppercase}
.wallet-success-dialog h3{margin:8px 0 8px;font-size:24px;color:#0f172a}
.wallet-success-dialog p{margin:0;color:#64748b;font-weight:700}
.wallet-success-dialog strong{display:block;margin:12px 0 18px;font-size:30px;color:#047857}
.wallet-quick-amounts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.wallet-quick-amounts form{margin:0}
.wallet-quick-amounts button{padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#0f172a;text-decoration:none;font-size:12px;font-weight:900;cursor:pointer}
.wallet-quick-amounts button.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}
.wallet-casso-box{width:100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px;padding:16px;border:1px solid rgba(37,99,235,.18);border-radius:14px;background:linear-gradient(135deg,rgba(239,246,255,.92),rgba(255,255,255,.96))}
.wallet-casso-box .card-head{grid-column:1/-1;margin:0;padding:0;border:0}
.wallet-casso-box .card-head h3{margin:0;font-size:16px}
.wallet-casso-box .card-head p{margin:4px 0 0;color:var(--muted);font-size:13px}
.wallet-casso-box .casso-toggle{grid-column:1/-1}
.wallet-casso-box .casso-status{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.wallet-casso-box .casso-actions{grid-column:1/-1;margin-top:2px}
.wallet-casso-card form{margin:0}
@media(max-width:900px){
    .task-page .task-hero{align-items:flex-start;flex-direction:column}
    .task-page .task-layout,.permissions-page .permissions-layout{grid-template-columns:1fr}
    .task-page .task-filter{grid-template-columns:1fr}
    .email-tracking-filter{grid-template-columns:1fr}
    .wallet-hero{align-items:flex-start;flex-direction:column}
    .wallet-balance-card{width:100%}
    .wallet-bank-box{grid-template-columns:1fr}
    .wallet-topup-btn span{display:none}
    .wallet-qr-panel{grid-template-columns:1fr}
    .wallet-qr-panel img{width:100%;max-width:260px}
    .wallet-casso-box{grid-template-columns:1fr}
    .task-page .task-form-card .form-grid{grid-template-columns:1fr}
    .task-page .task-form-card .span-2{grid-column:auto}
    .task-page .mini-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}
    .task-page .calendar-day{min-height:76px}
    .task-page .task-table table th:nth-child(1),.task-page .task-table table td:nth-child(1),.task-page .task-table table th:nth-child(7),.task-page .task-table table td:nth-child(7){display:none}
}

/* Founder hero banner */
.intro-founder{position:relative;isolation:isolate;overflow:hidden;padding:clamp(72px,9vw,128px) clamp(18px,6vw,92px);background:linear-gradient(120deg,#070b14 0%,#111827 48%,#431407 100%);color:#fff}
.intro-founder:before{content:"FOUNDER";position:absolute;left:-1vw;bottom:-5vw;z-index:-1;font-size:clamp(110px,20vw,310px);font-weight:900;line-height:.75;letter-spacing:-.08em;color:rgba(255,255,255,.025);white-space:nowrap}
.intro-founder-glow{position:absolute;z-index:-1;width:620px;height:620px;right:-180px;top:-280px;border-radius:50%;background:radial-gradient(circle,rgba(244,123,32,.55),rgba(244,123,32,0) 68%);filter:blur(4px)}
.intro-founder-orbit{position:absolute;z-index:-1;border:1px solid rgba(255,255,255,.1);border-radius:50%}
.intro-founder-orbit.orbit-one{width:460px;height:460px;right:5%;top:-150px}
.intro-founder-orbit.orbit-two{width:680px;height:680px;right:-4%;top:-260px}
.intro-founder-hero{width:min(1280px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);align-items:center;gap:clamp(36px,7vw,96px)}
.intro-founder-copy{position:relative;z-index:2}
.intro-founder-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid rgba(251,191,36,.34);border-radius:999px;background:rgba(244,123,32,.1);color:#fbbf24;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.13em}
.intro-founder-eyebrow i{font-size:17px}
.intro-founder-copy h2{margin:20px 0 2px;color:#fff;font-size:clamp(62px,9vw,132px);font-weight:900;line-height:.88;letter-spacing:-.07em;text-shadow:0 20px 50px rgba(0,0,0,.36)}
.intro-founder-copy>b{display:block;margin-top:18px;color:#f47b20;font-size:clamp(18px,2vw,28px);font-weight:800}
.intro-founder-copy>p{max-width:780px;margin:24px 0 0;color:#cbd5e1;font-size:clamp(16px,1.5vw,20px);line-height:1.85}
.intro-founder-signature{display:flex;align-items:center;gap:12px;margin-top:30px;color:#fff;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.intro-founder-signature i{display:flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:50%;background:#f47b20;color:#111827;font-size:22px}
.intro-founder-visual{position:relative;min-height:460px;display:flex;align-items:center;justify-content:center}
.intro-founder-monogram{position:relative;z-index:2;display:flex;width:min(360px,78vw);aspect-ratio:1;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.025));box-shadow:inset 0 0 80px rgba(255,255,255,.06),0 36px 90px rgba(0,0,0,.4);backdrop-filter:blur(16px);color:#fff;font-size:clamp(92px,11vw,166px);font-weight:900;letter-spacing:-.11em;text-indent:-.08em}
.intro-founder-monogram:before{content:"";position:absolute;inset:22px;border:2px solid #f47b20;border-radius:50%;opacity:.82}
.intro-founder-monogram:after{content:"";position:absolute;inset:-18px;border:1px dashed rgba(251,191,36,.38);border-radius:50%;animation:founder-spin 28s linear infinite}
.intro-founder-name{position:absolute;z-index:3;right:-10px;bottom:48px;padding:12px 20px;border-left:4px solid #f47b20;background:rgba(7,11,20,.82);box-shadow:0 14px 40px rgba(0,0,0,.34);backdrop-filter:blur(10px);font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.founder-dot{position:absolute;z-index:4;border-radius:50%;background:#f47b20;box-shadow:0 0 30px rgba(244,123,32,.75)}
.founder-dot.dot-one{width:18px;height:18px;left:4%;top:18%}.founder-dot.dot-two{width:10px;height:10px;right:3%;top:30%;background:#fbbf24}.founder-dot.dot-three{width:14px;height:14px;left:12%;bottom:16%;background:#fff}
@keyframes founder-spin{to{transform:rotate(360deg)}}
@media(max-width:960px){.intro-founder-hero{grid-template-columns:1fr}.intro-founder-copy h2{font-size:clamp(58px,17vw,104px)}.intro-founder-visual{min-height:380px}.intro-founder-name{right:5%;bottom:28px}}
@media(max-width:560px){.intro-founder{padding-top:68px;padding-bottom:68px}.intro-founder-copy h2{letter-spacing:-.055em}.intro-founder-visual{min-height:310px}.intro-founder-monogram{width:260px;font-size:108px}.intro-founder-name{font-size:13px;right:0}.intro-founder-orbit.orbit-two{display:none}}
@media(prefers-reduced-motion:reduce){.intro-founder-monogram:after{animation:none}}

/* Homepage teal/navy visual tone */
.intro-hero h1::after{content:" " attr(data-accent);color:#5eead4}
.intro-kicker{background:rgba(20,184,166,.16);border-color:rgba(94,234,212,.48);color:#99f6e4}
.intro-login,.intro-btn.primary{background:#14b8a6;color:#042f2e}
.intro-feature-icon,.intro-about-points i{background:#ccfbf1;border-color:#99f6e4;color:#0f766e}
.intro-feature-icon span,.intro-marquee,.intro-section-head span,.intro-band span,.intro-news-grid small,.intro-read-more{color:#0f766e}
.intro-marquee span:after,.intro-section-head span:after{background:#14b8a6}
.intro-tools{background:linear-gradient(135deg,#0f766e,#111827)}
.intro-tools .intro-section-head span{color:#99f6e4}
.intro-tools .intro-section-head h2{color:#d1d5db}
.intro-tools .intro-tool-grid h3{color:#e5e7eb}
.intro-tools .intro-tool-grid p{color:#9ca3af}
.intro-tools .intro-tool-grid article{background:rgba(17,24,39,.58);border-color:rgba(209,213,219,.18)}
.intro-tools .intro-tool-grid i{background:#14b8a6;color:#042f2e}
.intro-founder{background:linear-gradient(135deg,#0f766e,#111827)}
.intro-founder-eyebrow{border-color:rgba(153,246,228,.38);background:rgba(20,184,166,.14);color:#99f6e4}
.intro-founder-copy>b,.intro-founder-card span{color:#5eead4}
.intro-founder-signature i,.founder-dot,.intro-founder-monogram:before{background:#14b8a6;border-color:#14b8a6}
.intro-founder-photo{position:relative;z-index:2;width:min(520px,90vw);height:auto;max-height:520px;object-fit:contain;border:1px solid rgba(153,246,228,.38);border-radius:24px;box-shadow:18px 20px 0 rgba(20,184,166,.24),0 36px 90px rgba(0,0,0,.42);transition:transform .35s ease,box-shadow .35s ease}
.intro-founder-photo:hover{transform:translate(-4px,-4px);box-shadow:24px 26px 0 rgba(20,184,166,.28),0 42px 100px rgba(0,0,0,.48)}
.home-image-control{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}
.home-image-control img{width:100%;max-height:220px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#e5e7eb}

/* Premium bento tools section */
.intro-tools{position:relative;isolation:isolate;overflow:hidden;padding-top:96px;padding-bottom:104px;background:linear-gradient(135deg,#0f766e 0%,#0b3b3b 42%,#111827 100%)}
.intro-tools:before{content:"";position:absolute;z-index:-1;width:620px;height:620px;left:-260px;top:-300px;border-radius:50%;background:radial-gradient(circle,rgba(94,234,212,.22),rgba(94,234,212,0) 68%)}
.intro-tools:after{content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-240px;bottom:-300px;border:1px solid rgba(153,246,228,.12);border-radius:50%;box-shadow:0 0 0 80px rgba(153,246,228,.025),0 0 0 160px rgba(153,246,228,.018)}
.intro-tools-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:40px}
.intro-tools-head .intro-section-head{max-width:920px;margin:0}
.intro-tools-head .intro-section-head span{color:#99f6e4}
.intro-tools-head .intro-section-head h2{max-width:900px;color:#e5e7eb;font-size:clamp(36px,5vw,64px)}
.intro-tools-badge{flex:0 0 auto;display:grid;grid-template-columns:auto auto;align-items:center;gap:0 10px;padding:16px 20px;border:1px solid rgba(153,246,228,.22);border-radius:16px;background:rgba(15,23,42,.3);box-shadow:inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(12px)}
.intro-tools-badge i{grid-row:1/3;display:flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:13px;background:#14b8a6;color:#042f2e;font-size:24px}
.intro-tools-badge b{color:#fff;font-size:24px;line-height:1}
.intro-tools-badge small{color:#94a3b8;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:.12em}
.intro-tools .intro-tool-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.intro-tools .intro-tool-card{position:relative;grid-column:span 4;min-height:310px;display:flex;flex-direction:column;justify-content:space-between;gap:30px;padding:28px;overflow:hidden;border:1px solid rgba(226,232,240,.14);border-radius:20px;background:linear-gradient(145deg,rgba(30,41,59,.78),rgba(15,23,42,.55));box-shadow:inset 0 1px rgba(255,255,255,.06),0 18px 50px rgba(2,6,23,.18);backdrop-filter:blur(16px);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.intro-tools .intro-tool-card:nth-child(1){grid-column:span 7}.intro-tools .intro-tool-card:nth-child(2){grid-column:span 5}.intro-tools .intro-tool-card:nth-child(3){grid-column:span 5}.intro-tools .intro-tool-card:nth-child(4){grid-column:span 7}.intro-tools .intro-tool-card:nth-child(5),.intro-tools .intro-tool-card:nth-child(6){grid-column:span 6}
.intro-tools .intro-tool-card:before{content:"";position:absolute;width:190px;height:190px;right:-90px;top:-100px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.22),rgba(20,184,166,0) 68%);transition:transform .35s ease}
.intro-tools .intro-tool-card:hover{transform:translateY(-7px);border-color:rgba(94,234,212,.48);box-shadow:inset 0 1px rgba(255,255,255,.09),0 28px 65px rgba(2,6,23,.3)}
.intro-tools .intro-tool-card:hover:before{transform:scale(1.3)}
.intro-tool-card-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:18px}
.intro-tools .intro-tool-card-top>i{display:flex;width:58px;height:58px;align-items:center;justify-content:center;border-radius:16px;background:linear-gradient(135deg,#5eead4,#14b8a6);color:#042f2e;font-size:28px;box-shadow:0 14px 30px rgba(20,184,166,.2)}
.intro-tool-card-top>span{color:rgba(226,232,240,.2);font-size:44px;font-weight:900;line-height:1;letter-spacing:-.06em}
.intro-tools .intro-tool-card h3{position:relative;z-index:1;margin:0 0 12px;color:#e5e7eb;font-size:clamp(21px,2vw,29px);line-height:1.2}
.intro-tools .intro-tool-card p{position:relative;z-index:1;margin:0;color:#9ca3af;font-size:15px;line-height:1.75}
.intro-tool-arrow{position:absolute;right:24px;bottom:22px;display:flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid rgba(153,246,228,.2);border-radius:50%;color:#99f6e4;opacity:0;transform:translate(-8px,8px);transition:.3s}
.intro-tool-arrow i{width:auto!important;height:auto!important;padding:0!important;background:transparent!important;color:inherit!important;font-size:19px!important;box-shadow:none!important}
.intro-tool-card:hover .intro-tool-arrow{opacity:1;transform:translate(0,0)}
@media(max-width:960px){.intro-tools-head{align-items:flex-start;flex-direction:column}.intro-tools .intro-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-tools .intro-tool-card,.intro-tools .intro-tool-card:nth-child(n){grid-column:span 1;min-height:280px}}
@media(max-width:620px){.intro-tools{padding-top:72px;padding-bottom:78px}.intro-tools .intro-tool-grid{grid-template-columns:1fr}.intro-tools-badge{display:none}.intro-tools .intro-tool-card{min-height:260px;padding:24px}.intro-tool-arrow{opacity:1;transform:none}}

/* Tools option 2: clean enterprise */
.intro-tools{padding-top:88px;padding-bottom:94px;background:linear-gradient(135deg,#0f766e,#111827)}
.intro-tools:before{width:520px;height:520px;left:auto;right:-260px;top:-300px;background:radial-gradient(circle,rgba(255,255,255,.09),rgba(255,255,255,0) 70%)}
.intro-tools:after{display:none}
.intro-tools-head{display:block;margin-bottom:38px}
.intro-tools-head .intro-section-head{max-width:780px;margin:0 auto;text-align:center}
.intro-tools-head .intro-section-head span{justify-content:center;color:#99f6e4}
.intro-tools-head .intro-section-head h2{margin-left:auto;margin-right:auto;color:#d1d5db;font-size:clamp(34px,4.6vw,56px);line-height:1.12}
.intro-tools-badge{display:none}
.intro-tools .intro-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1280px;margin:0 auto}
.intro-tools .intro-tool-card,.intro-tools .intro-tool-card:nth-child(n){grid-column:span 1;min-height:290px;padding:26px;border:1px solid rgba(255,255,255,.72);border-radius:14px;background:#f1f5f9;box-shadow:0 12px 28px rgba(2,6,23,.16);backdrop-filter:none;transform:none}
.intro-tools .intro-tool-card:before{content:"";width:auto;height:4px;left:0;right:0;top:0;border-radius:14px 14px 0 0;background:linear-gradient(90deg,#14b8a6,#0f766e);opacity:1}
.intro-tools .intro-tool-card:hover{transform:translateY(-4px);border-color:#99f6e4;background:#fff;box-shadow:0 20px 42px rgba(2,6,23,.24)}
.intro-tools .intro-tool-card:hover:before{transform:none}
.intro-tools .intro-tool-card-top>i{width:52px;height:52px;border-radius:12px;background:#ccfbf1;color:#0f766e;font-size:25px;box-shadow:none}
.intro-tool-card-top>span{padding:5px 9px;border:1px solid #cbd5e1;border-radius:999px;color:#64748b;background:#fff;font-size:11px;letter-spacing:.08em}
.intro-tools .intro-tool-card h3{margin-bottom:10px;color:#1f2937;font-size:22px}
.intro-tools .intro-tool-card p{color:#64748b;font-size:14px;line-height:1.7}
.intro-tool-arrow{right:22px;bottom:20px;width:34px;height:34px;border-color:#99f6e4;background:#ccfbf1;color:#0f766e;opacity:1;transform:none}
.intro-tools .intro-tool-card:hover .intro-tool-arrow{background:#14b8a6;color:#042f2e}
@media(max-width:960px){.intro-tools .intro-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-tools .intro-tool-card,.intro-tools .intro-tool-card:nth-child(n){min-height:270px}}
@media(max-width:620px){.intro-tools{padding-top:68px;padding-bottom:72px}.intro-tools .intro-tool-grid{grid-template-columns:1fr}.intro-tools .intro-tool-card,.intro-tools .intro-tool-card:nth-child(n){min-height:245px;padding:22px}.intro-tools-head .intro-section-head{text-align:left}.intro-tools-head .intro-section-head span{justify-content:flex-start}}

.intro-section-head h2,.intro-tools-head .intro-section-head h2{color:#0f766e}

/* Map Neon Studio */
.map-studio-heading{align-items:center}.map-key-empty{text-align:center;padding:58px 28px}.map-key-empty>i{display:grid;place-items:center;width:78px;height:78px;margin:0 auto 18px;border-radius:22px;background:linear-gradient(135deg,#0f766e,#111827);color:#5eead4;font-size:38px}.map-key-empty h2{margin:0 0 8px}.map-key-empty p{color:#64748b}.map-key-empty form{max-width:720px;margin:26px auto 0;text-align:left}
.map-studio-app{display:grid;grid-template-columns:340px minmax(0,1fr);min-height:760px;border:1px solid #dbe3ec;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 20px 60px rgba(15,23,42,.09)}
.map-studio-panel{padding:18px;background:#0f172a;color:#fff;overflow:auto;max-height:calc(100vh - 150px)}.map-doc-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.map-doc-row input{background:#1e293b;border:1px solid #334155;color:#fff;font-weight:800}
.map-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.map-tools button{display:flex;align-items:center;gap:8px;padding:11px;border:1px solid #334155;border-radius:10px;background:#1e293b;color:#cbd5e1;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.map-tools button i{font-size:18px;color:#5eead4}.map-tools button.active{background:#0f766e;border-color:#2dd4bf;color:#fff}
.map-draw-actions{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:8px}.map-draw-actions .btn{min-height:42px}.map-style-panel{display:grid;gap:13px;margin-top:18px;padding:16px;border:1px solid #334155;border-radius:14px;background:#111827}.map-style-panel h3,.map-saved-head h3{font-size:14px;margin:0}.map-style-panel label{display:grid;gap:6px;color:#94a3b8;font-size:11px;font-weight:800}.map-style-panel input:not([type=range]):not([type=color]):not([type=checkbox]){background:#1e293b;color:#fff;border-color:#334155}.map-style-panel input[type=range]{width:100%;accent-color:#14b8a6}.map-style-panel input[type=color]{width:100%;height:38px;padding:3px;border:1px solid #475569;border-radius:8px;background:#1e293b}.map-style-panel output{float:right;color:#5eead4}.map-style-colors{display:grid;grid-template-columns:1fr 1fr;gap:9px}.map-style-panel .map-check{display:flex;grid-template-columns:none;align-items:center;gap:8px}.map-style-panel .btn-danger{width:100%}
.map-saved-head{display:flex;align-items:center;justify-content:space-between;margin:20px 0 9px}.map-saved-head button{border:0;background:transparent;color:#5eead4;font-size:18px;cursor:pointer}.map-saved-list{display:grid;gap:7px}.map-doc-item{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:6px}.map-doc-item>button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px;border:1px solid #334155;border-radius:10px;background:#1e293b;color:#fff;text-align:left;cursor:pointer}.map-doc-item>button:last-child{justify-content:center;padding:0;color:#fca5a5}.map-saved-list b,.map-saved-list small{display:block}.map-saved-list small{margin-top:4px;color:#94a3b8;font-size:10px}.map-saved-list>span{font-size:12px}
.map-studio-canvas{position:relative;min-width:0;background:#e2e8f0;display:flex;flex-direction:column}.map-canvas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:#fff;border-bottom:1px solid #dbe3ec}.map-canvas-toolbar .map-tools{display:flex;flex-wrap:wrap;margin:0;gap:7px}.map-canvas-toolbar .map-tools button{width:auto;padding:9px 12px}.map-canvas-toolbar .map-draw-actions{display:flex;margin:0;gap:7px;flex-shrink:0}.map-canvas-toolbar .map-draw-actions .btn{width:auto}.map-studio-canvas #mapStudioCanvas{width:100%;height:auto;aspect-ratio:2/3;min-height:auto;flex:none}.map-studio-hint{position:absolute;z-index:500;left:50%;top:76px;transform:translateX(-50%);max-width:80%;padding:9px 14px;border-radius:999px;background:rgba(15,23,42,.88);color:#fff;font-size:12px;font-weight:700;pointer-events:none;box-shadow:0 8px 25px rgba(15,23,42,.25)}
.map-studio-canvas .leaflet-container{font-family:"Be Vietnam Pro",sans-serif}.map-studio-canvas .leaflet-control-attribution{font-size:10px}.map-studio-canvas #mapStudioCanvas.is-drawing{cursor:crosshair}.map-neon-glow{filter:blur(3px);stroke-linecap:round;stroke-linejoin:round}.map-neon-line{stroke-linecap:round;stroke-linejoin:round}.map-neon-line.is-animated{stroke-dasharray:4 20;stroke-dashoffset:var(--neon-offset,0);filter:drop-shadow(0 0 3px currentColor)}
.map-studio-canvas .leaflet-container,.map-studio-canvas .leaflet-tile-pane{background:#dbe4ea}.map-studio-canvas .leaflet-tile{backface-visibility:hidden;will-change:transform}.map-studio-canvas .leaflet-fade-anim .leaflet-tile{transition:none}
.map-style-help,.map-saved-help{margin:3px 0 12px;color:#94a3b8;font-size:11px;line-height:1.55}.map-saved-help{margin-top:-8px}.leaflet-control-layers-expanded{padding:9px 12px;border:0;border-radius:10px;box-shadow:0 5px 20px rgba(15,23,42,.18)}.leaflet-control-layers label{font-family:"Be Vietnam Pro",sans-serif;font-size:12px}
@media(max-width:950px){.map-studio-app{grid-template-columns:1fr}.map-studio-panel{max-height:none}.map-studio-canvas #mapStudioCanvas{min-height:auto}.map-canvas-toolbar{align-items:stretch;flex-direction:column}.map-canvas-toolbar .map-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.map-canvas-toolbar .map-tools button{justify-content:center}.map-canvas-toolbar .map-draw-actions{justify-content:flex-end}.map-studio-hint{top:132px}}
@media(max-width:600px){.map-studio-app{border-radius:12px}.map-studio-panel{padding:13px}.map-studio-canvas #mapStudioCanvas{min-height:auto}.map-style-colors{grid-template-columns:1fr 1fr}}

/* Map Studio compact top editor */
.map-studio-app{grid-template-columns:270px minmax(0,1fr)}
.map-canvas-toolbar{display:block;padding:10px 12px}
.map-toolbar-primary{display:flex;align-items:center;justify-content:space-between;gap:12px}
.map-style-toolbar{display:grid;grid-template-columns:minmax(130px,1.25fr) minmax(130px,1.2fr) 58px 58px minmax(105px,1fr) minmax(105px,1fr) minmax(105px,1fr) auto 38px;align-items:end;gap:8px;margin-top:9px;padding-top:9px;border-top:1px solid #e2e8f0}
.map-style-toolbar label{margin:0;color:#475569;font-size:10px;font-weight:800}.map-style-toolbar label>span{display:flex;justify-content:space-between;gap:4px;white-space:nowrap}.map-style-toolbar input[type=text],.map-style-toolbar input:not([type]){height:34px;margin-top:4px;padding:6px 9px;font-size:11px}.map-style-title{align-self:center}.map-style-title b{display:block;color:#0f172a;font-size:12px}.map-style-title small{display:block;margin-top:2px;color:#0f766e;font-size:9px;font-weight:700}.map-color-field input[type=color]{display:block;width:100%;height:34px;margin-top:4px;padding:2px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}.map-range-field input[type=range]{display:block;width:100%;height:18px;margin-top:4px}.map-range-field output{color:#0f766e;font-weight:900}.map-check.compact{align-self:center;display:flex;align-items:center;gap:5px;padding-top:13px}.map-check.compact span{white-space:normal}.map-delete-compact{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:#fee2e2;color:#dc2626;cursor:pointer}.map-delete-compact:hover{background:#dc2626;color:#fff}.map-studio-hint{top:145px}.map-studio-canvas #mapStudioCanvas{min-height:auto}
@media(max-width:1250px){.map-style-toolbar{grid-template-columns:1fr 1fr 55px 55px repeat(3,minmax(90px,1fr))}.map-style-title{display:none}.map-check.compact{padding-top:0}.map-delete-compact{align-self:center}}
@media(max-width:950px){.map-studio-app{grid-template-columns:1fr}.map-style-toolbar{grid-template-columns:1.5fr 55px 55px repeat(3,minmax(90px,1fr)) auto auto}.map-studio-hint{top:205px}}
@media(max-width:720px){.map-toolbar-primary{align-items:stretch;flex-direction:column}.map-style-toolbar{grid-template-columns:1fr 55px 55px}.map-range-field{grid-column:span 1}.map-check.compact{padding:0}.map-studio-hint{display:none}}

/* Map Studio full-width workspace */
.map-studio-app.map-studio-full{display:block;min-height:0;overflow:visible}.map-studio-full .map-studio-canvas{border-radius:18px;overflow:hidden;border:1px solid #dbe3ec;box-shadow:0 20px 60px rgba(15,23,42,.09)}.map-heading-actions{display:flex;align-items:center;gap:8px}.map-heading-actions input{width:min(280px,30vw);height:40px;font-weight:800}.map-studio-full #mapStudioCanvas{min-height:auto}.map-studio-bottom{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;margin-top:16px}.map-bottom-card{min-width:0;padding:16px;border:1px solid #dbe3ec;border-radius:16px;background:#fff;box-shadow:0 8px 30px rgba(15,23,42,.06)}.map-bottom-card .map-saved-head{margin:0 0 10px;color:#0f172a}.map-bottom-card .map-saved-head h3{display:flex;align-items:center;gap:7px;margin:0}.map-bottom-card .map-saved-head>span{color:#64748b;font-size:11px;font-weight:700}.map-bottom-card .map-saved-help{color:#64748b}.map-shape-list,.map-bottom-card .map-saved-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:310px;overflow:auto}.map-shape-item{display:grid;grid-template-columns:minmax(0,1fr) 36px;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#f8fafc}.map-shape-item.active{border-color:#14b8a6;background:#f0fdfa;box-shadow:0 0 0 2px rgba(20,184,166,.12)}.map-shape-item>button{border:0;background:transparent;cursor:pointer}.map-shape-item>button:first-child{display:flex;align-items:center;gap:9px;padding:9px;text-align:left;color:#0f172a}.map-shape-item>button:first-child>i{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#ccfbf1;color:#0f766e;font-size:16px}.map-shape-item span{min-width:0}.map-shape-item b,.map-shape-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-shape-item b{font-size:11px}.map-shape-item small{margin-top:2px;color:#64748b;font-size:9px}.map-shape-item>button:last-child{color:#dc2626}.map-shape-item>button:last-child:hover{background:#fee2e2}.map-empty-state{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:70px;color:#94a3b8;font-size:12px}.map-delete-compact:disabled{cursor:not-allowed;opacity:.35}.map-delete-compact:not(:disabled):active{transform:scale(.94)}
@media(max-width:900px){.map-studio-bottom{grid-template-columns:1fr}.map-studio-full #mapStudioCanvas{min-height:auto}.map-heading-actions{flex-wrap:wrap;justify-content:flex-end}.map-heading-actions input{width:220px}}
@media(max-width:600px){.map-studio-heading{align-items:stretch;flex-direction:column}.map-heading-actions{justify-content:stretch}.map-heading-actions input{width:100%;flex:1 1 100%}.map-heading-actions .btn{flex:1}.map-shape-list,.map-bottom-card .map-saved-list{grid-template-columns:1fr}.map-studio-full #mapStudioCanvas{min-height:auto}}

.map-studio-hint{position:fixed;z-index:9999;left:50%;top:auto;bottom:24px;max-width:min(560px,calc(100vw - 30px));transform:translate(-50%,18px);padding:11px 16px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(15,23,42,.94);color:#fff;font-size:12px;font-weight:700;opacity:0;visibility:hidden;pointer-events:none;box-shadow:0 14px 40px rgba(15,23,42,.3);transition:opacity .2s ease,transform .2s ease,visibility .2s}.map-studio-hint.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}.map-studio-hint.is-success{background:rgba(6,95,70,.96)}.map-studio-hint.is-error{background:rgba(153,27,27,.96)}
.map-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10500;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.65);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease;padding:16px}
.map-modal-backdrop.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.map-modal-dialog{width:min(420px,92vw);background:#fff;border-radius:20px;padding:28px 24px 24px;text-align:center;box-shadow:0 25px 60px -15px rgba(15,23,42,.35);transform:scale(.9) translateY(12px);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.map-modal-backdrop.is-open .map-modal-dialog{transform:scale(1) translateY(0)}
.map-modal-icon{width:68px;height:68px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;font-size:38px}
.map-modal-icon.success{background:#dcfce7;color:#16a34a;box-shadow:0 0 0 8px rgba(22,163,74,.12)}
.map-modal-icon.error{background:#fee2e2;color:#dc2626;box-shadow:0 0 0 8px rgba(220,38,38,.12)}
.map-modal-title{margin:0 0 8px;font-size:19px;font-weight:800;color:#0f172a;line-height:1.3}
.map-modal-message{margin:0 0 22px;font-size:13.5px;color:#475569;line-height:1.55}
.map-modal-message strong{color:#0f766e;font-weight:700}
.map-modal-actions{display:flex;justify-content:center}
.map-modal-actions .btn{width:100%;height:42px;border-radius:12px;font-size:14px;font-weight:700;justify-content:center}

.map-style-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end}.map-style-title{flex:1 0 125px}.map-style-name{flex:1 1 145px}.map-color-field{flex:0 0 56px}.map-range-field{flex:1 1 98px}.map-icon-field{flex:1 1 125px}.map-icon-field select{width:100%;height:34px;margin-top:4px;padding:4px 7px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#0f172a;font:700 10px "Be Vietnam Pro",sans-serif}.map-present-btn{border-color:#7c3aed!important;color:#6d28d9!important;background:#f5f3ff!important}.map-present-btn:hover{background:#7c3aed!important;color:#fff!important}.map-present-btn:disabled{opacity:.65;cursor:wait}
.map-text-marker{width:auto!important;height:auto!important}.map-text-marker>div{position:relative;transform:translate(-50%,-50%);width:max-content;max-width:320px;padding:7px 11px;border:2px solid var(--label-color);border-radius:9px;background:rgba(15,23,42,.88);color:#fff;font:800 var(--label-size)/1.25 "Be Vietnam Pro",sans-serif;text-align:center;text-shadow:0 1px 2px #000;box-shadow:0 0 0 3px color-mix(in srgb,var(--label-color) 25%,transparent),0 8px 24px rgba(15,23,42,.3);white-space:pre-wrap}.map-location-marker{width:auto!important;height:auto!important}.map-location-marker>div{position:relative;transform:translate(-50%,-100%);display:flex;align-items:center;gap:6px;width:max-content;max-width:240px;padding:6px 9px 6px 6px;border:2px solid #fff;border-radius:999px;background:var(--marker-color);color:#fff;box-shadow:0 6px 20px rgba(15,23,42,.32)}.map-location-marker i{display:grid;place-items:center;width:calc(var(--marker-size) + 8px);height:calc(var(--marker-size) + 8px);border-radius:50%;background:rgba(255,255,255,.2);font-size:var(--marker-size)}.map-location-marker span{overflow:hidden;max-width:160px;font:800 11px "Be Vietnam Pro",sans-serif;text-overflow:ellipsis;white-space:nowrap}.map-present-wait{opacity:0!important;transition:none!important}.map-present-in{opacity:1!important;transition-property:opacity!important;transition-timing-function:ease!important}

.map-text-marker>div{transform:translate(-50%,-50%) rotate(var(--label-rotation)) scale(var(--map-scale,1));padding:0;border:0;border-radius:0;background:transparent;color:var(--label-color);text-shadow:0 2px var(--label-shadow) rgba(0,0,0,.95),0 0 var(--label-shadow) rgba(0,0,0,.8);box-shadow:none}.map-location-marker>div{transform:translate(-50%,-100%) scale(var(--map-scale,1))}.map-callout-marker{width:auto!important;height:auto!important}.map-callout-marker>div{position:relative;transform:translate(-18px,calc(-100% - 28px)) rotate(var(--callout-rotation)) scale(var(--map-scale,1));transform-origin:18px calc(100% + 28px);width:max-content;max-width:280px;padding:9px 13px;border-radius:10px;background:var(--callout-bg);color:var(--callout-text);font:800 var(--callout-size)/1.3 "Be Vietnam Pro",sans-serif;box-shadow:0 5px var(--callout-shadow) rgba(15,23,42,.55);white-space:pre-wrap}.map-callout-marker>div>i{position:absolute;left:17px;top:100%;width:2px;height:28px;background:var(--callout-bg);box-shadow:1px 1px 3px rgba(15,23,42,.4)}.map-callout-marker>div>i:after{content:"";position:absolute;left:-4px;bottom:-3px;width:10px;height:10px;border-radius:50%;background:var(--callout-bg);box-shadow:0 2px 5px rgba(15,23,42,.4)}

.map-callout-marker>div{transform:translate(-50%,-50%) rotate(var(--callout-rotation)) scale(var(--map-scale,1));transform-origin:center;padding:6px;border:var(--callout-border-width) solid var(--callout-border);border-radius:3px}.map-callout-anchor{background:transparent!important;border:0!important}.map-callout-anchor>i{display:block;width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:var(--anchor-color);box-shadow:0 2px 8px rgba(15,23,42,.45);cursor:move}.map-present-wait{opacity:0!important;transition:none!important}.map-present-in{opacity:1!important;transition-property:opacity!important;transition-timing-function:ease!important}
.map-presentation-card{grid-column:1/-1}.map-presentation-steps{display:grid;gap:8px}.map-presentation-step{display:grid;grid-template-columns:30px repeat(4,minmax(110px,1fr)) auto;align-items:end;gap:8px;padding:9px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.map-presentation-step>b{align-self:center;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#0f766e;color:#fff;font-size:11px}.map-presentation-step label{margin:0;color:#475569;font-size:9px;font-weight:800}.map-presentation-step input,.map-presentation-step select{width:100%;height:32px;margin-top:3px;padding:4px 7px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;font-size:11px}.map-presentation-step>div{display:flex;gap:3px}.map-presentation-step button,.map-shape-actions button{display:grid;place-items:center;width:29px;height:29px;border:0;border-radius:6px;background:#e2e8f0;color:#334155;cursor:pointer}.map-presentation-step button:last-child,.map-shape-actions button:last-child{color:#dc2626}.map-presentation-step button:hover,.map-shape-actions button:hover{background:#cbd5e1}.map-shape-item{grid-template-columns:minmax(0,1fr) auto}.map-shape-actions{display:flex;align-items:center;gap:2px;padding:4px}
@media(max-width:850px){.map-presentation-step{grid-template-columns:30px repeat(2,minmax(120px,1fr))}.map-presentation-step>div{grid-column:2/-1;justify-content:flex-end}}

.map-script-add{display:flex;flex-wrap:wrap;gap:5px}.map-script-add .btn{width:auto}.map-presentation-step.is-layer [data-for="zoom"],.map-presentation-step.is-layer [data-for="rotate"],.map-presentation-step.is-zoom [data-for="layer"],.map-presentation-step.is-zoom [data-for="rotate"],.map-presentation-step.is-rotate [data-for="layer"],.map-presentation-step.is-rotate [data-for="zoom"]{display:none}.map-presentation-step{grid-template-columns:30px minmax(120px,.8fr) repeat(3,minmax(120px,1fr)) auto}.map-presentation-step.is-layer{border-left:4px solid #0f766e}.map-presentation-step.is-zoom{border-left:4px solid #2563eb}.map-presentation-step.is-rotate{border-left:4px solid #7c3aed}
.map-range-copy{border-color:#0f766e!important;background:#f0fdfa!important;color:#0f766e!important;font-weight:800!important}.map-range-copy:hover{background:#0f766e!important;color:#fff!important}
.map-presentation-step.is-layer [data-for="camera"]{display:none}.map-presentation-step.is-zoom_in_rotate [data-for="layer"],.map-presentation-step.is-zoom_out_rotate [data-for="layer"]{display:none}.map-presentation-step.is-zoom_in_rotate{border-left:4px solid #2563eb}.map-presentation-step.is-zoom_out_rotate{border-left:4px solid #f59e0b}
.map-presentation-step:not(.is-tilt_3d) [data-for="tilt"]{display:none}.map-presentation-step.is-tilt_3d [data-for="layer"],.map-presentation-step.is-tilt_3d [data-for="camera"]{display:none}.map-presentation-step.is-tilt_3d{border-left:4px solid #8b5cf6}.map-image-tools{display:flex;align-items:end;gap:5px;align-self:end}.map-image-tools .btn{width:auto;min-height:34px;padding:6px 9px;font-size:10px}
.map-studio-canvas{position:relative;perspective:1200px;perspective-origin:50% 50%;overflow:hidden}
#mapStudioCanvas{transform-style:preserve-3d;transform-origin:50% 55%;transform:rotateX(var(--map-tilt-deg,0deg)) scale(var(--map-tilt-scale,1));transition:transform var(--map-tilt-duration,.6s) cubic-bezier(.34,1.15,.64,1);will-change:transform}
.map-studio-canvas.map-is-tilting #mapStudioCanvas{overflow:visible}
.map-image-control:has(input:disabled){opacity:.38}.map-image-control input:disabled{cursor:not-allowed}

/* Crisp annotation rendering: resize real CSS dimensions instead of transform scaling. */
.map-text-marker>div{transform:translate(-50%,-50%) rotate(var(--label-rotation));font-family:"Be Vietnam Pro",sans-serif;font-size:var(--render-font-size);font-weight:800;line-height:1.25}.map-location-marker>div{transform:translate(-50%,-100%)}.map-location-marker i{width:calc(var(--render-font-size) + 8px);height:calc(var(--render-font-size) + 8px);font-size:var(--render-font-size)}.map-location-marker span{font-size:var(--render-caption-size)}.map-callout-marker>div{transform:translate(-50%,-50%) rotate(var(--callout-rotation));padding:var(--render-padding);border-width:var(--render-border-width);font-family:"Be Vietnam Pro",sans-serif;font-size:var(--render-font-size);font-weight:800;line-height:1.3}
.map-arrow-label{width:auto!important;height:auto!important}.map-arrow-label>div{transform:translate(-50%,-50%);width:max-content;max-width:280px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--arrow-color) 72%,#fff);border-radius:5px;background:rgba(15,23,42,.88);color:#fff;font:800 var(--arrow-font-size)/1.25 "Be Vietnam Pro",sans-serif;text-align:center;text-shadow:0 2px var(--arrow-shadow) rgba(0,0,0,.85);box-shadow:0 4px 14px rgba(15,23,42,.28);white-space:pre-wrap}.map-arrow-head{background:transparent!important;border:0!important;pointer-events:none!important}.map-arrow-head>i{position:absolute;left:50%;top:50%;width:0;height:0;border-top:calc(var(--arrow-head-size) * .48) solid transparent;border-bottom:calc(var(--arrow-head-size) * .48) solid transparent;border-left:var(--arrow-head-size) solid var(--arrow-color);filter:drop-shadow(0 0 3px var(--arrow-color));transform:translate(-42%,-50%) rotate(var(--arrow-angle));transform-origin:42% 50%}
.map-text-marker>div,.map-location-marker>div,.map-callout-marker>div{text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;backface-visibility:hidden}.map-studio-canvas .leaflet-overlay-pane svg{shape-rendering:geometricPrecision}.map-studio-canvas .leaflet-overlay-pane path{vector-effect:non-scaling-stroke}
.map-neon-glow{filter:none}.map-neon-glow.is-neon{filter:blur(1.5px)}

/* ==========================================================================
   ENHANCED UI/UX STYLES - CRMBDS.COM MODERNIZATION
   ========================================================================== */

/* 1. Dark Mode Variables */
[data-theme= dark] {
    --bg: #0b0f19;
    --panel: #131b2e;
    --text: #f1f5f9;
    --muted: #94a3b8;
    --line: #1e293b;
    --sidebar: #090d16;
    --sidebar-soft: #162032;
    --primary: #3b82f6;
    --accent: #f59e0b;
    --green: #10b981;
    --red: #ef4444;
    --shadow: 0 18px 45px rgba(0, 0, 0, .4);
}

[data-theme=dark] .intro-founder { background: #0b0f19; }
[data-theme=dark] .intro-founder-card { background: linear-gradient(135deg, #0f172a, #1e1b4b); border-color: #1e293b; }
[data-theme=dark] .card, [data-theme=dark] .stat-card, [data-theme=dark] .modal-panel {
    background: var(--panel);
    border-color: var(--line);
    color: var(--text);
}
[data-theme=dark] input, [data-theme=dark] select, [data-theme=dark] textarea {
    background: #182238;
    border-color: #334155;
    color: #f8fafc;
}
[data-theme=dark] table th { background: #162032; color: #cbd5e1; border-color: #334155; }
[data-theme=dark] table td { border-color: #1e293b; }
[data-theme=dark] .topbar { background: var(--panel); border-color: var(--line); }

/* 2. Glassmorphism & Modern Stat Cards */
.stat-card {
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(12px);
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s ease, border-color 0.25s ease;
    border: 1px solid rgba(226, 232, 240, 0.8);
}
.stat-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);
}
[data-theme=dark] .stat-card {
    border-color: rgba(255, 255, 255, 0.08);
}
.stat-card.tone-blue { border-top: 4px solid #2563eb; }
.stat-card.tone-green { border-top: 4px solid #10b981; }
.stat-card.tone-amber { border-top: 4px solid #f59e0b; }
.stat-card.tone-purple { border-top: 4px solid #8b5cf6; }

/* 3. Dark Mode & Quick Actions Topbar Items */
.theme-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    border: 1px solid var(--line);
    background: var(--panel);
    color: var(--text);
    cursor: pointer;
    transition: all 0.2s ease;
}
.theme-toggle-btn:hover {
    background: var(--sidebar-soft);
    color: var(--primary);
    transform: scale(1.05);
}

.cmd-k-badge {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 2px 6px;
    border-radius: 6px;
    background: rgba(148, 163, 184, 0.15);
    border: 1px solid rgba(148, 163, 184, 0.25);
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    pointer-events: none;
}

/* 4. Command Palette (Ctrl + K) */
.cmd-palette-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(15, 23, 42, 0.65);
    backdrop-filter: blur(6px);
    display: grid;
    place-items: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    padding: 16px;
}
.cmd-palette-backdrop.active {
    opacity: 1;
    visibility: visible;
}
.cmd-palette-modal {
    width: min(640px, 100%);
    max-height: 80vh;
    border-radius: 16px;
    background: var(--panel);
    border: 1px solid var(--line);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transform: scale(0.95);
    transition: transform 0.2s ease;
}
.cmd-palette-backdrop.active .cmd-palette-modal {
    transform: scale(1);
}
.cmd-palette-input-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--line);
}
.cmd-palette-input-wrap i { font-size: 20px; color: var(--primary); }
.cmd-palette-input {
    flex: 1;
    border: 0;
    outline: none;
    background: transparent;
    font-size: 16px;
    font-weight: 600;
    color: var(--text);
}
.cmd-palette-results {
    overflow-y: auto;
    max-height: 420px;
    padding: 10px;
}
.cmd-palette-group {
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 800;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.cmd-palette-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 10px;
    color: var(--text);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: background 0.15s ease;
    cursor: pointer;
}
.cmd-palette-item i { font-size: 18px; color: var(--muted); }
.cmd-palette-item:hover, .cmd-palette-item.selected {
    background: rgba(37, 99, 235, 0.1);
    color: var(--primary);
}
.cmd-palette-item:hover i, .cmd-palette-item.selected i { color: var(--primary); }
.cmd-palette-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    border-top: 1px solid var(--line);
    background: rgba(148, 163, 184, 0.05);
    font-size: 12px;
    color: var(--muted);
}

/* 5. Collapsible Accordion Sidebar */
.nav-group-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px 6px;
    margin-top: 10px;
    font-size: 11px;
    font-weight: 800;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    cursor: pointer;
    user-select: none;
    transition: color 0.15s ease;
}
.nav-group-header:hover { color: var(--text); }
.nav-group-header i { transition: transform 0.2s ease; }
.nav-group-header.collapsed i { transform: rotate(-90deg); }
.nav-group-items {
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow: hidden;
    transition: max-height 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
}
.nav-group-items.collapsed {
    max-height: 0 !important;
    opacity: 0;
    pointer-events: none;
}

/* 6. Skeleton Shimmer */
.skeleton {
    background: linear-gradient(90deg, var(--line) 25%, rgba(226, 232, 240, 0.4) 50%, var(--line) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
    border-radius: 8px;
}
@keyframes shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Permissions Page - Single Column 100% Full Width Layout */
.permissions-page .permissions-layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
}

/* Fix styling for filter-bar and user_id select dropdown */
.filter-bar select,
.compact-filter select,
.select-user-picker {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--panel);
    padding: 10px 14px;
    outline: 0;
    color: var(--text);
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
}
.filter-bar select:focus,
.compact-filter select:focus,
.select-user-picker:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
[data-theme= dark] .select-user-picker,
[data-theme=dark] .filter-bar select,
[data-theme=dark] .compact-filter select {
    background: #182238;
    border-color: #334155;
    color: #f8fafc;
}

/* Compact 1-line Grid for Filter Row in Lead Management */
.filter-panel {
    margin-bottom: 12px !important;
    padding: 10px 14px !important;
}
.filter-row {
    display: grid !important;
    grid-template-columns: minmax(160px, 2.5fr) repeat(4, minmax(110px, 1fr)) auto !important;
    gap: 8px !important;
    align-items: center !important;
    width: 100% !important;
}
.filter-search {
    width: 100% !important;
    height: 38px !important;
    border-radius: 8px !important;
}
.filter-select {
    width: 100% !important;
    height: 38px !important;
    border-radius: 8px !important;
    padding: 0 10px !important;
}
.filter-btn {
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 8px !important;
}
@media (max-width: 992px) {
    .filter-row {
        grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
    }
}

.mobile-toggle-btn {
    display: none;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 10px;
    border: 1px solid var(--line);
    background: var(--panel);
    color: var(--text);
    cursor: pointer;
    font-size: 20px;
    transition: all 0.2s ease;
    flex-shrink: 0;
}
.mobile-toggle-btn:hover {
    background: var(--sidebar-soft);
    color: var(--primary);
}

/* Tablet & Mobile Sidebar Fix (<= 1024px) */
@media (max-width: 1024px) {
    .mobile-toggle-btn {
        display: inline-flex !important;
    }
    .topbar {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
    }
    .app-shell {
        grid-template-columns: 1fr !important;
    }
    .sidebar {
        position: fixed !important;
        top: 0;
        left: 0;
        bottom: 0;
        width: 280px !important;
        max-width: 85vw;
        height: 100vh;
        z-index: 10050 !important;
        box-shadow: 10px 0 40px rgba(0, 0, 0, 0.4);
        transform: translateX(0);
        transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }
    .app-shell.sidebar-collapsed .sidebar {
        transform: translateX(-100%) !important;
        padding: 22px 18px !important;
        align-items: stretch !important;
    }
    .app-shell.sidebar-collapsed .brand span:not(.brand-mark),
    .app-shell.sidebar-collapsed .nav-link span,
    .app-shell.sidebar-collapsed .nav-group-header,
    .app-shell.sidebar-collapsed .sidebar-card {
        display: flex !important;
    }
    .app-shell.sidebar-collapsed .nav-link {
        justify-content: flex-start !important;
        width: 100% !important;
    }

    .sidebar-toggle {
        display: none !important;
    }

    .sidebar-overlay {
        position: fixed;
        inset: 0;
        z-index: 10040;
        background: rgba(15, 23, 42, 0.6);
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.25s ease, visibility 0.25s ease;
    }
    .sidebar-overlay.active {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}
