html,body{height:100%;margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.sidebar-mobile-controls,.topbar-mobile-project-row,.topbar-menu-toggle{display:none!important}@media (max-width:768px){body{overflow-x:hidden}div[class*=Card],div[class*=card],.astryx-card{padding:12px!important}.sidebar-mobile-controls,.topbar-menu-toggle{display:flex!important}.topbar-mobile-project-row{display:block!important}.topbar-mobile-selector-wrapper{min-width:0!important;max-width:180px!important;overflow:hidden!important}.topbar-mobile-selector-wrapper button,.topbar-mobile-selector-wrapper select,.topbar-mobile-selector-wrapper span{text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important}.dashboard-content-container{padding:12px!important}.topbar-container{padding:8px 12px!important}.topbar-brand-width{width:auto!important}.topbar-date-subtext,.topbar-project-selector,.topbar-locale-selector,.topbar-theme-toggles{display:none!important}.topbar-end-content{gap:6px!important}.page-header-container{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.page-header-title-group,.page-header-cta{width:100%!important}.page-header-cta button{justify-content:center!important;width:100%!important}.policy-matrix-header{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.policy-actions-stack{flex-direction:column!important;width:100%!important}.policy-action-button{width:100%!important}.policy-action-button button{justify-content:center!important;width:100%!important}.roles-matrix-grid{grid-template-columns:1fr!important}.roles-matrix-grid>div{grid-column:span 1!important}.overflow-x-auto{-webkit-overflow-scrolling:touch;white-space:nowrap;overflow-x:auto!important}.calendar-page{min-width:0}.calendar-toolbar .calendar-view-control{width:100%}.calendar-filters-scroll{margin-inline:-4px;padding-inline:4px}.calendar-filters-scroll::-webkit-scrollbar{height:4px}.calendar-month-view,.calendar-week-view{max-width:100%}.calendar-month-view button{padding-left:4px!important;padding-right:4px!important;font-size:12px!important}dialog:has(.modal-form-panel){width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important}div[role=dialog]:has(.modal-form-panel){width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important}.modal-form-panel{width:100%!important;min-width:0!important;max-width:100%!important;max-height:90dvh!important;padding:16px!important}.modal-form-panel button[type=submit]{justify-content:center!important;width:100%!important}}.astryx-button-group,div[class*=ButtonGroup]{background:var(--color-surface,#ffffff0d)!important;border:1px solid var(--color-border,#ffffff1a)!important;border-radius:9999px!important;gap:0!important;padding:0!important;display:inline-flex!important;overflow:hidden!important}.astryx-button-group button,div[class*=ButtonGroup] button{border:none!important;border-right:1px solid var(--color-border,#ffffff1a)!important;white-space:nowrap!important;box-shadow:none!important;border-radius:0!important;justify-content:center!important;padding-left:14px!important;padding-right:14px!important;font-size:13px!important}.astryx-button-group>:last-child button,div[class*=ButtonGroup]>:last-child button{border-right:none!important}@media (max-width:768px){.astryx-button-group,div[class*=ButtonGroup]{width:100%!important}.astryx-button-group>*,div[class*=ButtonGroup]>*{flex:1!important;min-width:0!important}.astryx-button-group button,div[class*=ButtonGroup] button{text-overflow:ellipsis!important;width:100%!important;padding-left:4px!important;padding-right:4px!important;font-size:11px!important;overflow:hidden!important}}.page-header-icon-box{background:var(--color-neutral);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.list-item-icon-box{background:var(--color-neutral);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}dialog,dialog::backdrop,div[role=dialog],div[role=dialog] *,[class*=dialog],[class*=Dialog],div[role=dialog] form,div[role=dialog] form>div,div[role=dialog] [class*=inner],div[role=dialog] [class*=content]{overflow:visible!important}.modal-form-panel{-webkit-overflow-scrolling:touch;box-sizing:border-box;overflow-y:auto!important}dialog,div[role=dialog]{width:max-content!important;max-width:90vw!important}table,.astryx-table,.astryx-table-scroll-wrapper,div[role=group][aria-label*=table i],div[role=group][aria-label*=Table i],div[class*=Table],div[class*=table],div[class*=astryx-table]{height:auto!important;max-height:none!important;overflow-y:visible!important}.astryx-table-scroll-wrapper,div[role=group][aria-label*=table i],div[role=group][aria-label*=Table i]{overflow:auto visible!important}div[class*=Table] *,div[class*=table] *,div[role=group][aria-label*=table i] *,.astryx-table-scroll-wrapper *{max-height:none!important}html,body,*{scrollbar-width:thin!important;scrollbar-color:var(--color-border,#fff3) transparent!important}::-webkit-scrollbar{width:10px!important;height:10px!important}::-webkit-scrollbar-track{background:0 0!important}::-webkit-scrollbar-thumb{background-color:var(--color-border,#fff3)!important;background-clip:content-box!important;border:2px solid #0000!important;border-radius:8px!important}::-webkit-scrollbar-thumb:hover{background-color:var(--color-icon-secondary,#ffffff59)!important}::-webkit-scrollbar-button{width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-corner{background:0 0!important}.ai-assistant-widget-container,.ai-assistant-card{-webkit-backdrop-filter:none!important;opacity:1!important;background-color:var(--color-background-surface,#18181b)!important;background:var(--color-background-surface,#18181b)!important}html[data-theme=dark] .ai-assistant-widget-container,html.dark .ai-assistant-widget-container,html[data-theme=dark] .ai-assistant-card,html.dark .ai-assistant-card{background:#18181b!important}html[data-theme=light] .ai-assistant-widget-container,html:not(.dark) .ai-assistant-widget-container,html[data-theme=light] .ai-assistant-card,html:not(.dark) .ai-assistant-card{background:#fff!important}@keyframes construction-loader-bounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-6px)scale(1.08)}}@keyframes construction-loader-enter{0%{opacity:0;transform:scale(.5)rotate(-8deg)}60%{opacity:1;transform:scale(1.1)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}.construction-loader-icon{animation:.6s ease-in-out infinite construction-loader-bounce}.construction-loader-icon-inner{animation:.35s ease-out construction-loader-enter}.ai-assistant-widget-container div[class*=ChatLayout],.ai-assistant-widget-container div[class*=chat-layout],div[class*=ChatLayout],div[class*=chat-layout]{flex-direction:column!important;height:100%!important;min-height:0!important;max-height:100%!important;display:flex!important;overflow-y:auto!important}.ai-assistant-widget-container div[class*=ChatLayout]::-webkit-scrollbar{width:6px!important;height:6px!important}div[class*=ChatLayout]::-webkit-scrollbar{width:6px!important;height:6px!important}.ai-assistant-widget-container div[class*=ChatLayout]::-webkit-scrollbar-thumb{background-color:var(--color-border,#ffffff40)!important;border-radius:9999px!important}div[class*=ChatLayout]::-webkit-scrollbar-thumb{background-color:var(--color-border,#ffffff40)!important;border-radius:9999px!important}.astryx-field-label,.astryx-field label,label.astryx-field-label,form label,div[class*=field-label],div[class*=FieldLabel]{color:var(--color-text-primary,#0f172a)!important;letter-spacing:.01em!important;opacity:1!important;font-size:13px!important;font-weight:500!important}html[data-theme=dark] .astryx-field-label,html[data-theme=dark] .astryx-field label,html[data-theme=dark] label.astryx-field-label,html[data-theme=dark] form label,html[data-theme=dark] div[class*=field-label],html[data-theme=dark] div[class*=FieldLabel],html.dark .astryx-field-label,html.dark .astryx-field label,html.dark label.astryx-field-label,html.dark form label,html.dark div[class*=field-label],html.dark div[class*=FieldLabel]{color:#f1f5f9!important}.settings-readable-labels .astryx-field-label,.settings-readable-labels .astryx-field label,.settings-readable-labels label.astryx-field-label,.settings-readable-labels form label,.settings-readable-labels div[class*=field-label],.settings-readable-labels div[class*=FieldLabel]{color:var(--color-text-secondary,#4e606f)!important}:root{--color-calendar-weekend:#ef44440b;--color-calendar-weekend-header:#ef444417;--color-calendar-weekend-text:#dc2626;--color-calendar-today:#22c55e14;--color-calendar-today-header:#22c55e24;--color-calendar-today-badge:#16a34a}html[data-theme=dark],html.dark{--color-calendar-weekend:#ef444411;--color-calendar-weekend-header:#ef44441f;--color-calendar-weekend-text:#fca5a5;--color-calendar-today:#22c55e1f;--color-calendar-today-header:#22c55e33;--color-calendar-today-badge:#22c55e}th,th button,th span,th div,.astryx-table-header-cell{color:var(--color-text-primary,#0f172a)!important;letter-spacing:.01em!important;font-size:13px!important;font-weight:600!important}th button:hover,th button:hover span{color:var(--color-text-primary,#000)!important}th svg,th button svg{color:var(--color-text-secondary,#64748b)!important}th input,th select,th button[class*=selector],th button[class*=Selector],th [class*=TextInput],th [class*=DateInput],th [class*=Selector],th [class*=MultiSelector],th [role=combobox],.astryx-table-filter-input{color:var(--color-text-primary,#0f172a)!important;background-color:var(--color-surface,#00000008)!important;border-color:var(--color-border,#00000026)!important;font-size:12.5px!important;font-weight:500!important}th input::placeholder,th [class*=placeholder],input[placeholder*=Search]::placeholder,input[placeholder*=Filter]::placeholder,.astryx-text-input::placeholder{color:var(--color-text-secondary,#64748b)!important;opacity:1!important;font-weight:400!important}th [class*=Selector] span,th [class*=MultiSelector] span,th [role=combobox] span{color:var(--color-text-primary,#0f172a)!important;font-weight:500!important}th [class*=Selector] svg,th [class*=DateInput] svg,th [role=combobox] svg{color:var(--color-text-secondary,#64748b)!important;opacity:.95!important}th input:focus,th select:focus,th button[class*=selector]:focus,th [role=combobox]:focus{border-color:var(--color-accent,#3b82f6)!important;background-color:var(--color-surface,#0000000d)!important;box-shadow:0 0 0 1px var(--color-accent,#3b82f6)!important;outline:none!important}html[data-theme=dark] th,html[data-theme=dark] th button,html[data-theme=dark] th span,html[data-theme=dark] th div,html[data-theme=dark] .astryx-table-header-cell,html.dark th,html.dark th button,html.dark th span,html.dark th div,html.dark .astryx-table-header-cell{color:#f1f5f9!important}html[data-theme=dark] th button:hover,html[data-theme=dark] th button:hover span,html.dark th button:hover,html.dark th button:hover span{color:#fff!important}html[data-theme=dark] th svg,html[data-theme=dark] th button svg,html.dark th svg,html.dark th button svg{color:#e2e8f0!important}html[data-theme=dark] th input,html[data-theme=dark] th select,html[data-theme=dark] th button[class*=selector],html[data-theme=dark] th button[class*=Selector],html[data-theme=dark] th [class*=TextInput],html[data-theme=dark] th [class*=DateInput],html[data-theme=dark] th [class*=Selector],html[data-theme=dark] th [class*=MultiSelector],html[data-theme=dark] th [role=combobox],html[data-theme=dark] .astryx-table-filter-input,html.dark th input,html.dark th select,html.dark th button[class*=selector],html.dark th button[class*=Selector],html.dark th [class*=TextInput],html.dark th [class*=DateInput],html.dark th [class*=Selector],html.dark th [class*=MultiSelector],html.dark th [role=combobox],html.dark .astryx-table-filter-input{color:#f8fafc!important;background-color:#ffffff12!important;border-color:#fff3!important}html[data-theme=dark] th input::placeholder,html[data-theme=dark] th [class*=placeholder],html[data-theme=dark] input[placeholder*=Search]::placeholder,html[data-theme=dark] input[placeholder*=Filter]::placeholder,html[data-theme=dark] .astryx-text-input::placeholder,html.dark th input::placeholder,html.dark th [class*=placeholder],html.dark input[placeholder*=Search]::placeholder,html.dark input[placeholder*=Filter]::placeholder,html.dark .astryx-text-input::placeholder{color:#94a3b8!important}html[data-theme=dark] th [class*=Selector] span,html[data-theme=dark] th [class*=MultiSelector] span,html[data-theme=dark] th [role=combobox] span,html.dark th [class*=Selector] span,html.dark th [class*=MultiSelector] span,html.dark th [role=combobox] span{color:#f8fafc!important}html[data-theme=dark] th [class*=Selector] svg,html[data-theme=dark] th [class*=DateInput] svg,html[data-theme=dark] th [role=combobox] svg,html.dark th [class*=Selector] svg,html.dark th [class*=DateInput] svg,html.dark th [role=combobox] svg{color:#cbd5e1!important}html[data-theme=dark] th input:focus,html[data-theme=dark] th select:focus,html[data-theme=dark] th button[class*=selector]:focus,html[data-theme=dark] th [role=combobox]:focus,html.dark th input:focus,html.dark th select:focus,html.dark th button[class*=selector]:focus,html.dark th [role=combobox]:focus{background-color:#ffffff1f!important}.card-section-title,div[class*=Card] [style*=uppercase]{color:var(--color-text-secondary,#475569)!important;letter-spacing:.05em!important;font-weight:700!important}html[data-theme=dark] .card-section-title,html[data-theme=dark] div[class*=Card] [style*=uppercase],html.dark .card-section-title,html.dark div[class*=Card] [style*=uppercase]{color:#f1f5f9!important}table tbody td,table [class*=EmptyState],table [class*=empty-state]{color:var(--color-text-primary,#0f172a)!important;font-weight:500!important}table [class*=EmptyState] h3,table [class*=EmptyState] h4,table [class*=EmptyState] p,table [class*=EmptyState] span,table [class*=empty-state] span{color:var(--color-text-primary,#0f172a)!important;font-size:14px!important;font-weight:600!important}html[data-theme=dark] table tbody td,html[data-theme=dark] table [class*=EmptyState],html[data-theme=dark] table [class*=empty-state],html.dark table tbody td,html.dark table [class*=EmptyState],html.dark table [class*=empty-state]{color:#e2e8f0!important}html[data-theme=dark] table [class*=EmptyState] h3,html[data-theme=dark] table [class*=EmptyState] h4,html[data-theme=dark] table [class*=EmptyState] p,html[data-theme=dark] table [class*=EmptyState] span,html[data-theme=dark] table [class*=empty-state] span,html.dark table [class*=EmptyState] h3,html.dark table [class*=EmptyState] h4,html.dark table [class*=EmptyState] p,html.dark table [class*=EmptyState] span,html.dark table [class*=empty-state] span{color:#f1f5f9!important}.calendar-view-control [data-selected=selected]{background-color:var(--color-accent)!important;color:var(--color-on-accent)!important}.material-tab-list button[data-tab-value=inventory][data-selected=selected]{color:#10b981!important}.material-tab-list button[data-tab-value=inventory][data-selected=selected] .astryx-tab-indicator{background-color:#10b981!important}.material-tab-list button[data-tab-value=catalog][data-selected=selected]{color:#f59e0b!important}.material-tab-list button[data-tab-value=catalog][data-selected=selected] .astryx-tab-indicator{background-color:#f59e0b!important}.project-detail-tab-list [data-tab-value=overview][data-selected=selected]{color:#10b981!important}.project-detail-tab-list [data-tab-value=overview][data-selected=selected] .astryx-tab-indicator{background-color:#10b981!important}.project-detail-tab-list [data-tab-value=financials][data-selected=selected]{color:#f59e0b!important}.project-detail-tab-list [data-tab-value=financials][data-selected=selected] .astryx-tab-indicator{background-color:#f59e0b!important}.project-detail-tab-list [data-tab-value=site][data-selected=selected]{color:#7c3aed!important}.project-detail-tab-list [data-tab-value=site][data-selected=selected] .astryx-tab-indicator{background-color:#7c3aed!important}.project-detail-tab-list [data-tab-value=docs][data-selected=selected]{color:#3b82f6!important}.project-detail-tab-list [data-tab-value=docs][data-selected=selected] .astryx-tab-indicator{background-color:#3b82f6!important}.finance-hub-tab-list [data-tab-value=overview][data-selected=selected]{color:#10b981!important}.finance-hub-tab-list [data-tab-value=overview][data-selected=selected] .astryx-tab-indicator{background-color:#10b981!important}.finance-hub-tab-list [data-tab-value=ar][data-selected=selected]{color:#3b82f6!important}.finance-hub-tab-list [data-tab-value=ar][data-selected=selected] .astryx-tab-indicator{background-color:#3b82f6!important}.finance-hub-tab-list [data-tab-value=payables][data-selected=selected]{color:#f59e0b!important}.finance-hub-tab-list [data-tab-value=payables][data-selected=selected] .astryx-tab-indicator{background-color:#f59e0b!important}.finance-hub-tab-list [data-tab-value=vouchers][data-selected=selected]{color:#7c3aed!important}.finance-hub-tab-list [data-tab-value=vouchers][data-selected=selected] .astryx-tab-indicator{background-color:#7c3aed!important}.purchase-tab-list [data-tab-value=purchase_orders][data-selected=selected]{color:#10b981!important}.purchase-tab-list [data-tab-value=purchase_orders][data-selected=selected] .astryx-tab-indicator{background-color:#10b981!important}.purchase-tab-list [data-tab-value=vendors][data-selected=selected]{color:#f59e0b!important}.purchase-tab-list [data-tab-value=vendors][data-selected=selected] .astryx-tab-indicator{background-color:#f59e0b!important}.access-control-tab-list [data-tab-value=users][data-selected=selected]{color:#10b981!important}.access-control-tab-list [data-tab-value=users][data-selected=selected] .astryx-tab-indicator{background-color:#10b981!important}.access-control-tab-list [data-tab-value=roles][data-selected=selected]{color:#f59e0b!important}.access-control-tab-list [data-tab-value=roles][data-selected=selected] .astryx-tab-indicator{background-color:#f59e0b!important}.access-control-tab-list [data-tab-value=catalog][data-selected=selected]{color:#7c3aed!important}.access-control-tab-list [data-tab-value=catalog][data-selected=selected] .astryx-tab-indicator{background-color:#7c3aed!important}.client-detail-tab-list [data-tab-value=overview][data-selected=selected]{color:#10b981!important}.client-detail-tab-list [data-tab-value=overview][data-selected=selected] .astryx-tab-indicator{background-color:#10b981!important}.client-detail-tab-list [data-tab-value=engagements][data-selected=selected]{color:#f59e0b!important}.client-detail-tab-list [data-tab-value=engagements][data-selected=selected] .astryx-tab-indicator{background-color:#f59e0b!important}.site-operations-tab-list [data-tab-value=milestones][data-selected=selected]{color:#10b981!important}.site-operations-tab-list [data-tab-value=milestones][data-selected=selected] .astryx-tab-indicator{background-color:#10b981!important}.site-operations-tab-list [data-tab-value=daily-report][data-selected=selected]{color:#3b82f6!important}.site-operations-tab-list [data-tab-value=daily-report][data-selected=selected] .astryx-tab-indicator{background-color:#3b82f6!important}.site-operations-tab-list [data-tab-value=quality][data-selected=selected]{color:#f59e0b!important}.site-operations-tab-list [data-tab-value=quality][data-selected=selected] .astryx-tab-indicator{background-color:#f59e0b!important}.site-operations-tab-list [data-tab-value=safety][data-selected=selected]{color:#7c3aed!important}.site-operations-tab-list [data-tab-value=safety][data-selected=selected] .astryx-tab-indicator{background-color:#7c3aed!important}.labour-tab-list [data-tab-value=contractor][data-selected=selected]{color:#10b981!important}.labour-tab-list [data-tab-value=contractor][data-selected=selected] .astryx-tab-indicator{background-color:#10b981!important}.labour-tab-list [data-tab-value=labour][data-selected=selected]{color:#3b82f6!important}.labour-tab-list [data-tab-value=labour][data-selected=selected] .astryx-tab-indicator{background-color:#3b82f6!important}.labour-tab-list [data-tab-value=daily-task][data-selected=selected]{color:#f59e0b!important}.labour-tab-list [data-tab-value=daily-task][data-selected=selected] .astryx-tab-indicator{background-color:#f59e0b!important}.labour-tab-list [data-tab-value=attendance][data-selected=selected]{color:#7c3aed!important}.labour-tab-list [data-tab-value=attendance][data-selected=selected] .astryx-tab-indicator{background-color:#7c3aed!important}.invoicing-tab-list [data-tab-value=incomes][data-selected=selected]{color:#06b6d4!important}.invoicing-tab-list [data-tab-value=incomes][data-selected=selected] .astryx-tab-indicator{background-color:#06b6d4!important}.invoicing-tab-list [data-tab-value=invoices][data-selected=selected]{color:#ec4899!important}.invoicing-tab-list [data-tab-value=invoices][data-selected=selected] .astryx-tab-indicator{background-color:#ec4899!important}.calendar-more-events-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain!important;max-height:280px!important;padding-right:4px!important;overflow:hidden auto!important}
