@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
*{font-family:'Inter',system-ui,sans-serif!important}
h1,h2,h3,h4,h5,h6{color:#1a1a2e}
.height-100{height:100%}
#login input[type=password],#login input[type=text]{font-size:1.1em;line-height:1.2em;padding:1.3em 1.5em 1.3em 2em;background:#f8f8f8;border:none;border-radius:10px}
.text-center{text-align:center}.text-right{text-align:right}.float-right{float:right}.full-width{width:100%}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mt-1{margin-top:1em}

/* LAYOUT */
.layout{min-height:100vh;background:#f5f6fa!important}
.ant-layout{background:#f5f6fa!important}
.ant-layout-content{margin:24px 20px!important;padding:0!important;min-height:280px;background:transparent!important}
.ant-layout-content h1{font-size:1.65em;font-weight:700;color:#1a1a2e;margin-bottom:1.5rem}

/* HEADER */
.ant-layout-header{background:#c20000!important;color:#fff!important;padding:0!important;height:56px!important;line-height:56px!important;box-shadow:0 2px 8px rgba(194,0,0,.25)!important;position:sticky;top:0;z-index:100}
.ant-layout-header a{color:#fff!important}
.ant-layout-header a:hover{color:rgba(255,255,255,.8)!important}
#layout-main .trigger{font-size:18px;line-height:56px;padding:0 22px;cursor:pointer;color:#fff!important;transition:opacity .2s}
#layout-main .trigger:hover{opacity:.75}
#layout-main .logo{background:transparent!important}
#layout-main .logo img{height:30px;margin:0 0 0 14px;filter:brightness(0) invert(1);vertical-align:middle}

/* SIDEBAR */
.ant-layout-sider{background:#1a1a2e!important;box-shadow:2px 0 8px rgba(0,0,0,.12)!important}
.ant-layout-sider-children{background:#1a1a2e!important}
.ant-layout-sider .ant-menu,.ant-layout-sider .ant-menu-root,.ant-layout-sider .ant-menu-inline{background:#1a1a2e!important}
.ant-layout-sider-trigger{background:#141428!important;border-top:1px solid rgba(255,255,255,.06)!important}
.ant-menu-sub{background:#141428!important}

/* MENU */
.ant-menu-item,.ant-menu-submenu-title{color:rgba(255,255,255,.6)!important;font-size:13px!important;font-weight:500!important;border-radius:6px!important;margin:2px 8px!important;width:calc(100% - 16px)!important;height:38px!important;line-height:38px!important;transition:all .2s!important}
.ant-menu-item:hover,.ant-menu-submenu-title:hover{color:#fff!important;background:rgba(255,255,255,.08)!important}
.ant-menu-inline .ant-menu-item:after,.ant-menu-vertical .ant-menu-item:after,.ant-menu-vertical-left .ant-menu-item:after,.ant-menu-vertical-right .ant-menu-item:after{border-right:3px solid #ff4d4d!important}
.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected{background:rgba(194,0,0,.25)!important;color:#fff!important}
.ant-menu-item-selected a,.ant-menu-item-selected span{color:#fff!important}
.ant-menu-inline,.ant-menu-vertical,.ant-menu-vertical-left{border-right:0!important}
.ant-menu-submenu-arrow{color:rgba(255,255,255,.4)!important}
.menu-sidebar{margin-top:1rem}
.sider-foot{position:absolute;bottom:0;text-align:center;margin-left:3.75em}
.sider-foot h1{color:#ff4d4d;font-size:1.3em}

/* CARDS */
.ant-card{background:#fff!important;border:1px solid #edf0f7!important;border-radius:12px!important;box-shadow:0 2px 8px rgba(0,0,0,.05)!important;transition:box-shadow .2s,transform .2s!important}
.ant-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.09)!important;transform:translateY(-1px)!important}
.ant-card-head{background:#fff!important;border-bottom:1px solid #f0f0f0!important;border-radius:12px 12px 0 0!important}
.ant-card-head-title{color:#1a1a2e!important;font-weight:600!important;font-size:.95rem!important}
.ant-card-body{background:#fff!important}

/* TABLES */
.ant-table{background:#fff!important;border-radius:10px!important;overflow:hidden}
.ant-table-thead>tr>th{background:#f8f9fc!important;color:#888!important;font-size:11px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.06em!important;border-bottom:1px solid #edf0f7!important;padding:10px 16px!important}
.ant-table-tbody>tr>td{background:#fff!important;color:#444!important;border-bottom:1px solid #f5f6fa!important;padding:10px 16px!important}
.ant-table-tbody>tr:hover>td{background:#fff8f8!important;color:#1a1a2e!important}
.ant-table-placeholder{color:#bbb!important;background:#fff!important}
.ant-table-row{background:#fff!important}
.table-with-groupings .ant-table-thead>tr>th{padding-top:0;padding-bottom:0}

/* BUTTONS */
.ant-btn{border-radius:8px!important;font-size:13px!important;font-weight:500!important;height:34px!important;border:1px solid #e0e0e0!important;background:#fff!important;color:#555!important;transition:all .2s!important}
.ant-btn:hover{border-color:#c20000!important;color:#c20000!important;background:#fff8f8!important}
.ant-btn-primary{background:#c20000!important;border-color:#c20000!important;color:#fff!important;box-shadow:0 2px 8px rgba(194,0,0,.25)!important}
.ant-btn-primary:hover{background:#a10000!important;border-color:#a10000!important;box-shadow:0 4px 12px rgba(194,0,0,.35)!important}

/* TABS */
.ant-tabs-ink-bar{background:#c20000!important}
.ant-tabs-tab{color:#888!important;font-size:13px!important;font-weight:500!important}
.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#c20000!important;font-weight:600!important}
.ant-tabs-tab:hover{color:#c20000!important}

/* MODAL */
.ant-modal-content{border-radius:14px!important;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.15)!important}
.ant-modal-header{background:#fff!important;border-bottom:1px solid #f0f0f0!important;padding:18px 24px!important}
.ant-modal-title{color:#1a1a2e!important;font-weight:700!important;font-size:1rem!important}
.ant-modal-close-x{color:#999!important}
.ant-modal-body{background:#fff!important;color:#555!important}
.ant-modal-footer{border-top:1px solid #f0f0f0!important;background:#fafafa!important}
.ingestion-settings .ant-modal-footer{display:none}
.ingestion-settings .ant-modal-body{padding:0}
.ingestion-settings .ant-tabs-tabpane{padding-left:24px;padding-right:24px;padding-bottom:24px}

/* FORM */
.ant-input{background:#f8f8f8!important;border:1.5px solid #e8e8e8!important;border-radius:8px!important;color:#333!important}
.ant-input:focus,.ant-input:hover{border-color:#c20000!important;box-shadow:0 0 0 2px rgba(194,0,0,.08)!important;background:#fff!important}
.ant-select-selector{background:#f8f8f8!important;border:1.5px solid #e8e8e8!important;border-radius:8px!important;color:#333!important}
.ant-select-focused .ant-select-selector{border-color:#c20000!important;box-shadow:0 0 0 2px rgba(194,0,0,.08)!important;background:#fff!important}
.ant-select-item{background:#fff!important;color:#555!important}
.ant-select-item-option-active{background:#fff8f8!important;color:#333!important}
.ant-select-item-option-selected{background:#fff0f0!important;color:#c20000!important}
.ant-select-dropdown{background:#fff!important;border:1px solid #eee!important;border-radius:10px!important;box-shadow:0 8px 24px rgba(0,0,0,.1)!important}

/* TAGS */
.ant-tag{border-radius:20px!important;font-weight:600!important;font-size:11px!important;padding:2px 10px!important}

/* DASHBOARD CARDS */
.dashboard-card{border-radius:12px!important;overflow:hidden;transition:transform .2s,box-shadow .2s!important}
.dashboard-card:hover{transform:translateY(-2px)!important;box-shadow:0 10px 28px rgba(0,0,0,.12)!important}
.dashboard-card-success,.dashboard-card-success h2{background:linear-gradient(135deg,#00b894,#00796b)!important;color:#fff!important}
.dashboard-card-blue,.dashboard-card-blue h2{background:linear-gradient(135deg,#2d6ef7,#1a3fb5)!important;color:#fff!important}
.dashboard-card-gray,.dashboard-card-gray h2{background:linear-gradient(135deg,#636e72,#2d3436)!important;color:#fff!important}
.dashboard-card-red,.dashboard-card-red h2{background:linear-gradient(135deg,#c20000,#7f0000)!important;color:#fff!important}

/* SCROLLBAR */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#ddd;border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:#bbb}

/* MISC */
.ant-table-placeholder{color:rgba(0,0,0,.85)}
.expense-allocation-summary .ant-table-tbody td:first-child{font-weight:700}
.form-no-bottom .ant-form-item{margin-bottom:0}
.left-label .ant-form-item-label{text-align:left}
.ant-btn-background-ghost.ant-btn-link:focus,.no-blue.ant-btn-background-ghost.ant-btn-link:hover,.no-blue:active,.no-blue:hover{color:#333!important}
.ant-form-item-label>label{color:#666!important;font-size:13px!important;font-weight:500!important}
.ant-divider{border-color:#f0f0f0!important}
.ant-breadcrumb-link{color:#888!important}
.ant-steps-item-finish .ant-steps-item-icon{background:#c20000!important;border-color:#c20000!important}
.ant-steps-item-finish .ant-steps-item-icon .ant-steps-icon{color:#fff!important}
.ant-steps-item-process .ant-steps-item-icon{background:#c20000!important;border-color:#c20000!important}
.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-tail:after{background-color:#c20000!important}
.ant-steps-item-error .ant-steps-item-icon { display: none !important; }
.ant-steps-item-error .ant-steps-item-container { margin-left: 0 !important; }


.ant-steps-item-finish.ant-steps-item-custom .ant-steps-item-icon { background: none !important; border: none !important; }
.ant-steps-item-finish.ant-steps-item-custom .ant-steps-item-icon > .ant-steps-icon { color: #c20000 !important; }
.ant-steps-item-process.ant-steps-item-custom .ant-steps-item-icon { background: none !important; border: none !important; }

/* Period selector button - always visible in header */
.ant-layout-header button.no-blue,
.ant-layout-header .no-blue.ant-btn,
.ant-layout-header .no-blue { 
  color: #fff !important; 
  border-color: rgba(255,255,255,0.35) !important;
  text-shadow: none !important;
}
.ant-layout-header button.no-blue:hover,
.ant-layout-header .no-blue.ant-btn:hover,
.ant-layout-header .no-blue:hover { 
  color: #fff !important;
  background: rgba(255,255,255,0.1) !important;
  border-color: rgba(255,255,255,0.5) !important;
}
[data-theme="dark"] .ant-layout-header button.no-blue,
[data-theme="dark"] .ant-layout-header .no-blue { 
  color: #e8e8f0 !important; 
}