@import 'tailwindcss';
@source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php';
@source '../../storage/framework/views/*.php';
@source '../../vendor/livewire/livewire/src/Features/SupportPagination/views/*.blade.php';
@theme { --font-sans: 'Instrument Sans', 'Avenir Next', 'Segoe UI', ui-sans-serif, system-ui, sans-serif; --color-forest: #163b30; }
@layer base {
 body { @apply bg-[#f6f7f9] text-slate-800 text-sm antialiased; }
 button, a, select { -webkit-tap-highlight-color: transparent; }
 button, select { @apply cursor-pointer; }
 button:disabled { @apply opacity-50 cursor-wait; }
 input, select, textarea { @apply focus:outline-none focus:ring-2 focus:ring-emerald-700/25 focus:border-emerald-700; }
 h1,h2,h3 { @apply tracking-tight; }
 [x-cloak] { display:none !important; }
}
@layer components {
 .app-shell { @apply min-h-screen; }
 .sidebar { @apply fixed inset-y-0 left-0 w-[246px] bg-[#112b25] text-white flex flex-col px-5 z-40 overflow-y-auto; }
 .brand { @apply flex items-center gap-2 pt-6 pb-6 text-[28px] font-bold tracking-[-1.5px]; }
 .brand-mark { @apply flex items-center justify-center bg-[#c6ed94] text-[#163b30] size-9 rounded-xl mr-1; }
 .brand-dot { @apply size-1.5 bg-[#c6ed94] rounded-full self-center mt-3 -ml-1; }
 .workspace-label { @apply text-[9px] font-semibold tracking-[1.6px] text-white/35 mb-3; }
 .workspace-switch { @apply bg-white/5 border border-white/10 rounded-lg px-3 py-3 flex items-center gap-2.5 text-xs; }
 .workspace-switch select { @apply w-full min-w-0 bg-transparent text-white text-xs; }
 .workspace-switch option { @apply text-slate-800; }
 .nav-label { @apply text-[9px] text-white/30 tracking-[1.5px] font-semibold px-3 mb-2; }
 .nav-link { @apply flex items-center gap-3 rounded-lg px-3 py-2 text-[12px] text-white/60 font-medium hover:bg-white/5 hover:text-white; }
 .nav-link.active { @apply bg-[#c6ed94] text-[#173b2e] font-semibold; }
 .nav-badge { @apply ml-auto inline-flex h-[18px] min-w-[18px] items-center justify-center rounded-full px-1.5 text-[10px] font-semibold leading-none tabular-nums tracking-tight; }
 .nav-badge-alert { @apply bg-[#ff6b5e] text-white shadow-[0_0_0_3px_rgba(255,107,94,0.18)]; }
 .nav-badge-warn { @apply bg-[#f5c451] text-[#3b2a05]; }
 .nav-badge-info { @apply bg-white/12 text-white/85; }
 .nav-link.active .nav-badge-info { @apply bg-[#173b2e] text-[#c6ed94]; }
 .nav-link.active .nav-badge-alert { @apply shadow-none; }
 .soon { @apply ml-auto text-[9px] border border-white/30 rounded px-1; }
 .sidebar-bottom { @apply mt-auto border-t border-white/10 py-6 flex items-center justify-between gap-2; }
 .avatar { @apply size-9 rounded-full bg-[#e6e9dc] text-[#173b2e] flex items-center justify-center text-xs font-semibold shrink-0; }
 .main-shell { @apply ml-[246px]; }
 .topbar { @apply h-[76px] border-b border-slate-200/80 bg-white flex items-center justify-between gap-4 px-10 text-xs; }
 .page-content { @apply p-10 max-w-[1600px] mx-auto; }
 .eyebrow { @apply text-[10px] tracking-[1.8px] uppercase font-semibold text-emerald-700 mb-3; }
 .page-title { @apply text-[30px] font-semibold tracking-[-1px] text-[#152b24] leading-tight; }
 .page-description { @apply text-[13px] text-slate-500 leading-6 mt-2; }
 .button { @apply inline-flex items-center justify-center gap-2 bg-[#1c4839] border border-transparent text-white text-xs font-semibold px-4 py-3 rounded-lg hover:bg-[#123528] disabled:opacity-50 transition-colors; }
 .button-secondary { @apply bg-white text-slate-700 border-slate-200 hover:bg-slate-50; }
 .button-small { @apply px-3 py-2 text-[11px]; }
 .panel { @apply bg-white border border-slate-200/80 rounded-xl overflow-hidden; }
 .panel-heading { @apply flex items-center justify-between gap-4 p-6 border-b border-slate-100; }
 .panel-title { @apply text-[15px] font-semibold text-[#1b3028]; }
 .muted { @apply text-xs text-slate-500 leading-5; }
 .field-label { @apply block text-xs font-semibold text-slate-700 mb-2; }
 .input { @apply block w-full rounded-lg border border-slate-200 bg-white px-3.5 py-3 text-sm placeholder:text-slate-400; }
 .field-error { @apply text-xs text-red-700 mt-2; }
 .badge { @apply inline-flex items-center gap-1.5 whitespace-nowrap rounded-md px-2 py-1 text-[10px] font-medium; }
 .badge-green { @apply bg-emerald-50 text-emerald-700; }
 .badge-amber { @apply bg-amber-50 text-amber-700; }
 .badge-gray { @apply bg-slate-100 text-slate-500; }
 .badge-red { @apply bg-red-50 text-red-700; }
 .data-table { @apply w-full text-left whitespace-nowrap; }
 .data-table th { @apply bg-[#fafbfc] border-b border-slate-100 px-6 py-3.5 text-[10px] font-semibold text-slate-500 uppercase tracking-[.7px]; }
 .data-table td { @apply px-6 py-4 border-b border-slate-100 text-xs; }
 .data-table tbody tr:last-child td { @apply border-0; }
 .data-table tbody tr { @apply hover:bg-slate-50/70; }
 .notice { @apply flex gap-3 rounded-lg border px-4 py-3 mb-6 text-xs leading-6; }
 .success { @apply border-emerald-200 bg-emerald-50 text-emerald-800; }
 .error { @apply border-red-200 bg-red-50 text-red-800; }
 .empty { @apply text-center py-16 px-6 text-slate-500 text-sm; }
 .page-footer { @apply flex flex-wrap gap-3 justify-between border-t border-slate-200 mt-12 pt-6 text-[10px] text-slate-400; }
 .stat { @apply bg-white border border-slate-200/80 rounded-xl p-5; }
 .stat-icon { @apply size-9 rounded-lg bg-[#f1f5ee] text-[#3d674b] flex items-center justify-center; }
 .mobile-menu { @apply hidden; }
 .drawer-backdrop { @apply fixed inset-0 bg-slate-950/35 z-40; }
 .drawer { @apply fixed right-0 inset-y-0 bg-white w-full max-w-md z-50 shadow-xl flex flex-col; }
 .auth-shell { @apply min-h-screen grid lg:grid-cols-2 bg-white; }
 .auth-story { @apply hidden lg:flex flex-col bg-[#112b25] text-white p-14 relative overflow-hidden; }
 .auth-form { @apply flex items-center justify-center p-8 lg:p-16; }
}
@media (max-width: 1023px) { .sidebar { transform:translateX(-100%); } .sidebar.mobile-open { transform:translateX(0); } .main-shell { margin-left:0; } .mobile-menu { display:block; position:fixed; left:12px; top:23px; z-index:50; color:#688076; } .topbar { padding-left:48px; padding-right:20px; } .page-content { padding:28px 20px; } }

/* A native select remains the submitted value; search lives inside its popup. */
.searchable-select { position: relative; min-width: 0; }
.searchable-select-trigger { display: flex; align-items: center; justify-content: space-between; gap: .75rem; text-align: left; padding-right: 2rem; cursor: pointer; }
.searchable-select-value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.searchable-select-trigger[aria-invalid="true"] { border-color: #dc2626; }
.searchable-select-trigger:disabled { opacity: .55; cursor: not-allowed; }
.searchable-select-clear { position: absolute; right: 1.7rem; top: 50%; transform: translateY(-50%); padding: 0 .3rem; color: #64748b; font-size: 1.15rem; }
.searchable-select-clear[hidden] { display: none; }
.searchable-select-popup { position: fixed; inset: auto; margin: 0; z-index: 10000; display: flex; flex-direction: column; padding: .5rem; border: 1px solid #cbd5e1; border-radius: .65rem; background: white; box-shadow: 0 12px 32px #0f172a26; color: #172b29; }
.searchable-select-popup[hidden] { display: none; }
.searchable-select-popup::backdrop { background: transparent; }
.searchable-select-search { flex: none; margin-bottom: .4rem; }
.searchable-select-options { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.searchable-select-option { padding: .65rem .75rem; border-radius: .35rem; font-size: .8rem; line-height: 1.5; overflow-wrap: anywhere; cursor: pointer; }
.searchable-select-option:hover, .searchable-select-option.is-active { background: #edf5f0; }
.searchable-select-option[aria-selected="true"] { color: #14532d; font-weight: 600; }
.searchable-select-option[aria-disabled="true"] { color: #94a3b8; cursor: not-allowed; background: transparent; }
.searchable-select-status { flex: none; margin-top: .35rem; border-top: 1px solid #f1f5f9; padding: .45rem .5rem 0; font-size: .7rem; color: #64748b; }
.searchable-select > select[hidden] { display: none; }

body:has(dialog[data-import-dialog][open]) { overflow: hidden; }
[data-import-menu] > summary::-webkit-details-marker { display: none; }
