/* ==========================================================================
   Vaidik Sanatani — app.css (Laravel additions on top of style.css)
   ========================================================================== */

/* Bilingual database content: <x-bi en=".." hi=".." /> */
html[lang="hi"] .t-en { display: none !important; }
html:not([lang="hi"]) .t-hi { display: none !important; }

/* Shared dashboard chrome */
.dash-topbar .lang-switch { background: #efe3d4; }
.dash-topbar .lang-switch button { color: var(--maroon); }
.dash-topbar .lang-switch button.active { color: #fff; }
.dash-title-wrap { display: flex; align-items: center; gap: .8rem; min-width: 0; }
.dash-title-wrap > div { min-width: 0; }
.dash-title-wrap h1 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dash-user { flex-shrink: 0; }
.notif-wrap { position: relative; }
.notif-menu { position: absolute; right: 0; top: calc(100% + 10px); width: 340px; max-width: calc(100vw - 32px); background: #fff; border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-lg); z-index: 60; overflow: hidden; animation: fadeUp .25s var(--ease); }
.notif-menu-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 12px 16px; border-bottom: 1px solid var(--border); }
.notif-menu-head strong { color: var(--ink); font-size: .95rem; }
.notif-list { list-style: none; margin: 0; padding: 0; max-height: 330px; overflow-y: auto; }
.notif-item { display: flex; gap: .75rem; padding: 12px 16px; border-bottom: 1px solid #f3ebe1; font-size: .87rem; line-height: 1.5; color: var(--text); }
.notif-item:last-child { border-bottom: 0; }
.notif-item.unread { background: #fffaf2; }
.notif-item.unread .ni-text { color: var(--ink); font-weight: 500; }
.notif-item a.ni-text { color: inherit; }
.notif-item a.ni-text:hover { color: var(--saffron-dark); }
.ni-ic { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--saffron-soft); color: var(--saffron-dark); flex-shrink: 0; font-size: .9rem; }
.notif-item time { display: block; font-size: .75rem; color: var(--muted); margin-top: .15rem; }
.ni-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--saffron); flex-shrink: 0; margin-top: .45rem; margin-left: auto; }
.btn-link { border: 0; background: none; color: var(--saffron-dark); font-weight: 600; cursor: pointer; font-family: inherit; font-size: .82rem; padding: .2rem; }
.btn-link:hover { color: var(--maroon); text-decoration: underline; }
.demo-note .dn-close { margin-left: auto; border: 0; background: none; color: inherit; cursor: pointer; padding: 0 .2rem; font-size: 1rem; }
.demo-note a { font-weight: 600; text-decoration: underline; }
.dash-side-foot .dash-nav { gap: 2px; }
.icon-action { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--border); background: #fff; color: var(--maroon); cursor: pointer; display: inline-grid; place-items: center; font-size: .85rem; flex-shrink: 0; transition: background .2s, color .2s, border-color .2s; }
.icon-action:hover, .icon-action:focus-visible { background: var(--saffron); border-color: var(--saffron); color: #fff; }
.icon-action.danger:hover, .icon-action.danger:focus-visible { background: var(--danger); border-color: var(--danger); }
.icon-action.ok:hover, .icon-action.ok:focus-visible { background: var(--success); border-color: var(--success); }
@media (max-width: 991px) {
  .dash-sidebar { visibility: hidden; transition: transform .3s var(--ease), visibility .3s; }
  .dash-sidebar.open { visibility: visible; }
}
.dash-sidebar .dash-nav form { margin: 0; }
.dash-sidebar .dash-nav button { width: 100%; }
.panel .filter-bar { margin: 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; box-shadow: none; }
.filter-bar .search-wrap { position: relative; flex: 2 1 220px; }
.filter-bar .search-wrap i { position: absolute; left: .9rem; top: 50%; transform: translateY(-50%); color: var(--saffron); pointer-events: none; }
.filter-bar .search-wrap .form-control { padding-left: 2.4rem; width: 100%; }
.msg-body { white-space: pre-wrap; background: #fcf8f3; border-radius: 10px; padding: 14px 16px; margin: 1rem 0 0; font-size: .92rem; color: var(--ink); }
.actions { display: flex; gap: .35rem; flex-wrap: wrap; align-items: center; }
.actions form { margin: 0; }
.kv-list { list-style: none; padding: 0; margin: 0; }
.kv-list li { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 1rem; padding: .55rem 0; border-bottom: 1px solid #f3ebe1; font-size: .92rem; }
.kv-list li > span:first-child { color: var(--muted); }
.kv-list li:last-child { border-bottom: 0; }
@media (max-width: 575px) { .kv-list li { grid-template-columns: 1fr; gap: .15rem; } }

/* Alerts (server flash + validation summary) */
.alert { display: flex; gap: .7rem; align-items: flex-start; padding: .9rem 1rem; border-radius: var(--radius); margin-bottom: 1.2rem; font-size: .92rem; border: 1px solid; }
.alert i { margin-top: .15rem; }
.alert-success { background: var(--success-soft, #e8f5e9); border-color: #b9dcbb; color: #1f5f24; }
.alert-error { background: #fdecea; border-color: #f3c2bd; color: #8a1f14; }
.alert-info { background: #fff7e8; border-color: #f0d9a8; color: #6b4a07; }
.alert ul { margin: .3rem 0 0; padding-left: 1.1rem; }

/* Booking tracking timeline */
.track { list-style: none; margin: 0; padding: 0; position: relative; }
.track li { position: relative; padding: 0 0 1.4rem 2.6rem; }
.track li::before { content: ""; position: absolute; left: 13px; top: 28px; bottom: 0; width: 2px; background: var(--border); }
.track li:last-child::before { display: none; }
.track .dot { position: absolute; left: 0; top: 0; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: #fff; border: 2px solid var(--border); color: var(--muted); font-size: .75rem; }
.track li.done .dot { background: var(--success); border-color: var(--success); color: #fff; }
.track li.done::before { background: var(--success); }
.track li.current .dot { background: var(--saffron); border-color: var(--saffron); color: #fff; }
.track strong { display: block; color: var(--ink); }
.track time, .track .note { display: block; font-size: .82rem; color: var(--muted); }

/* Laravel pagination (simple Tailwind-free markup) */
nav[role="navigation"] .pagination { margin-top: 24px; }
.pagination .disabled span { opacity: .45; }

