/* FinanceOS adaptation of the supplied ZeriMIN admin theme. */
:root{--finance-ink:#1b3048;--finance-teal:#087f80;--finance-muted:#758295}body{background:#f4f7fa;color:var(--finance-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px}.finance-brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:800;color:#087f80;text-decoration:none}.finance-brand span{font-size:21px;color:var(--finance-ink);letter-spacing:-.6px}.app-topbar-nav{min-height:76px;padding:12px 28px;display:flex;justify-content:space-between;gap:20px}.workspace-controls,.workspace-controls form{display:flex;align-items:center;gap:10px}.workspace-controls select{max-width:220px}.user-label{margin:0 10px;font-weight:600}.user-label small{display:block;color:var(--finance-muted);font-weight:400;text-transform:capitalize}.left-sidebar{top:76px;width:240px;background:white;border-right:1px solid #e5ebf0;box-shadow:none;bottom:0;overflow-y:auto}.sidebar-nav{padding:24px 14px}.sidebar-menu>li>a{padding:12px 14px!important;border-radius:7px;color:#65758a!important;font-weight:500;display:flex;align-items:center;gap:12px}.sidebar-menu>li.active>a{background:#e9f5f3!important;color:#087f80!important}.sidebar-menu>li>a i{width:18px}.nav-caption{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#9aa7b4;margin:8px 14px 16px}.sidebar-foot{font-size:11px;line-height:1.9;color:#98a3b1;padding:25px 14px}.finance-main{margin-left:240px;padding:108px 32px 24px;min-height:100vh}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.eyebrow{color:var(--finance-muted);font-size:12px;margin-bottom:7px}h1{font-size:27px;font-weight:700;letter-spacing:-.7px;margin:0}h2{font-size:17px;font-weight:650;margin:0 0 10px}h3{font-size:15px}.btn-custom{background:#087f80!important;border-color:#087f80!important;color:#fff!important}.btn{border-radius:6px;font-size:13px;padding:9px 15px}.btn-sm{padding:6px 10px;font-size:12px}.card{border:1px solid #e6ebf0;border-radius:10px;box-shadow:0 2px 4px #18253603}.card-body{padding:23px}.filter-bar{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:23px}.filter-bar label{display:block;font-size:12px;font-weight:600;min-width:150px}.filter-bar .form-control,.filter-bar .form-select{margin-top:7px}.filter-bar>span{font-size:12px;padding-bottom:10px}.form-control,.form-select{font-size:13px;border-color:#dce4ec;border-radius:6px;min-height:39px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:23px}.metric-card{background:white;border:1px solid #e6ebf0;padding:22px;border-radius:10px;text-decoration:none;color:inherit;transition:box-shadow .15s}.metric-card:hover{box-shadow:0 7px 20px #20364d10;color:inherit}.metric-card>span{font-size:12px;color:#738297}.metric-card strong{display:block;font-size:28px;letter-spacing:-.6px;margin:11px 0;font-variant-numeric:tabular-nums}.metric-card small{color:#9aa6b4;font-size:11px}.metric-card.accent{background:#0c7577;border-color:#0c7577;color:white}.metric-card.accent>span,.metric-card.accent small{color:#c3e6e1}.negative{color:#c1434f!important}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-head a{font-size:12px}.position-grid,.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.position-grid span,.detail-grid small{display:block;color:#8894a3;font-size:12px;margin-bottom:9px}.position-grid strong{font-size:22px;font-variant-numeric:tabular-nums}.integrity{color:#158278;background:#eef8f5;padding:10px 14px;border-radius:6px;font-size:12px;margin:0}.queue-count{font-size:44px;font-weight:700;color:#087f80;margin:8px 0}.finance-table{margin-bottom:0;vertical-align:middle}.finance-table th{font-size:11px;color:#79879a;text-transform:uppercase;letter-spacing:.5px;font-weight:600;background:#f9fbfc;padding:14px 18px;white-space:nowrap}.finance-table td{padding:15px 18px;font-size:13px;border-color:#eef2f5}.finance-table tfoot th{color:var(--finance-ink)}.status{display:inline-block;padding:5px 10px;font-size:11px;font-weight:600;border-radius:5px;text-transform:capitalize;background:#eef2f7;color:#64738a}.status-posted,.status-open{background:#e9f6ee;color:#20824e}.status-submitted{background:#fff4df;color:#a87418}.status-approved{background:#e6f2fc;color:#287cb5}.status-rejected,.status-cancelled,.status-closed{background:#fdecef;color:#b95060}.empty-state{text-align:center;padding:45px!important;color:#8995a6}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.form-grid label{font-size:12px;font-weight:600}.form-grid .form-control,.form-grid .form-select{margin-top:7px}.check-grid{display:flex;gap:24px;flex-wrap:wrap}.form-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:22px}.journal-editor select{min-width:180px}.journal-editor .money-input{min-width:120px;text-align:right}.journal-editor th{text-align:right}.journal-editor th:first-child{text-align:left}.detail-grid{grid-template-columns:repeat(4,1fr)}.inline-form{display:flex;gap:7px;min-width:230px}.create-panel>summary{padding:19px 23px;font-weight:600;color:#087f80;cursor:pointer}.create-panel .card-body{border-top:1px solid #eef2f5}.pagination-wrap{margin-top:20px}.hash-text{font-size:11px;overflow-wrap:anywhere}.report-meta{font-size:11px;color:#8491a1}.finance-footer{padding:30px 0 5px;color:#94a0af;font-size:11px}.settlement-form{min-width:250px;display:grid;gap:10px;padding-top:12px}.login-page{background:#eef3f6;min-height:100vh;display:grid;place-items:center}.login-panel{width:min(430px,calc(100vw - 32px));padding:50px 0}.login-brand{font-size:30px;color:#087f80;font-weight:800;margin-bottom:30px;letter-spacing:-1px}.login-brand span{display:block;font-size:12px;font-weight:400;color:#8291a1;letter-spacing:0;margin-top:8px}.login-panel .card-body{padding:34px}.login-panel h1{font-size:23px;margin-bottom:10px}.login-help{color:#8b99a9;text-align:center;font-size:12px;margin-top:20px}.skip-link{position:fixed;left:20px;top:-100px;z-index:9999;background:white;padding:10px}.skip-link:focus{top:10px}.mobile-menu{display:none}a{color:#087f80}:focus-visible{outline:3px solid #5cb8b6;outline-offset:3px}pre{white-space:pre-wrap;max-width:500px;max-height:300px;overflow:auto}
@media(min-width:1600px){.metric-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.metric-card strong{font-size:25px}}@media(max-width:1100px){.user-label{display:none}.finance-main{padding-left:22px;padding-right:22px}.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.mobile-menu{display:block}.left-sidebar{transform:translateX(-100%);z-index:1000}.menu-open .left-sidebar{transform:translateX(0)}.finance-main{margin-left:0;padding:104px 16px 20px}.app-topbar-nav{padding:12px 16px}.workspace-controls select{max-width:140px}.finance-brand span{font-size:18px}.finance-brand{gap:6px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{padding:17px}.metric-card strong{font-size:23px}.workspace-controls{gap:6px}.workspace-controls .btn{padding:7px}.workspace-controls form{gap:5px}.position-grid{gap:10px}.position-grid strong{font-size:18px}.form-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}.page-heading h1{font-size:23px}}@media(max-width:480px){.workspace-controls form:first-child .btn{display:none}.workspace-controls select{width:120px}.workspace-controls form:first-child:focus-within .btn{display:block}.finance-brand{font-size:0}.finance-brand span{font-size:19px}.metric-card strong{font-size:21px}.position-grid{grid-template-columns:1fr}.filter-bar label{min-width:130px;flex:1}}
@media print{.topbar,.left-sidebar,.page-heading>.btn,.filter-bar,.form-actions,.finance-footer,.create-panel{display:none!important}.finance-main{margin:0;padding:0}body{background:white;font-size:10px}.card{break-inside:avoid;box-shadow:none}.table-responsive{overflow:visible}.finance-table th,.finance-table td{padding:7px;font-size:9px}a{color:inherit;text-decoration:none}.metric-grid{grid-template-columns:repeat(3,1fr)}}

/* Restore native controls hidden by the admin theme's custom-checkbox rules. */
.finance-main input[type="checkbox"] {
    display: inline-block;
    -webkit-appearance: checkbox;
    appearance: auto;
    width: 1rem;
    height: 1rem;
    margin: 0 .5rem 0 0;
    vertical-align: middle;
    accent-color: var(--finance-teal);
    cursor: pointer;
}
.permission-group label { cursor: pointer; }

/* The application shell uses one shared header height and sidebar width. */
:root { --finance-header-height: 72px; --finance-sidebar-width: 240px; }
.finance-topbar { position: fixed; inset: 0 0 auto; height: var(--finance-header-height); z-index: 1100; background: #fff; border-bottom: 1px solid #e5ebf0; }
.finance-topbar-nav { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 24px; }
.finance-topbar-left { display: flex; align-items: center; gap: 12px; min-width: 0; }
.finance-brand { min-width: 0; gap: 10px; }
.finance-brand span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 280px; }
.finance-brand img { width: auto; height: 52px; max-width: 200px; object-fit: contain; }
.brand-mark { display: grid; place-items: center; flex-shrink: 0; width: 34px; height: 34px; background: #e9f5f3; color: #087f80; border-radius: 9px; font-size: 22px; }
.finance-topbar .workspace-controls { display: flex; align-items: center; gap: 22px; flex-shrink: 0; }
.finance-topbar .workspace-switch { display: flex; align-items: center; gap: 8px; margin: 0; }
.finance-topbar .workspace-switch select { width: 190px; max-width: 190px; margin: 0; }
.finance-topbar .workspace-switch-button { display: inline-block; }
.account-menu { position: relative; }
.account-menu summary { display: flex; align-items: center; gap: 10px; cursor: pointer; list-style: none; padding: 6px; border-radius: 9px; }
.account-menu summary::-webkit-details-marker { display: none; }
.account-menu summary:hover, .account-menu[open] summary { background: #f4f7fa; }
.user-avatar { display: grid; place-items: center; width: 38px; height: 38px; background: #087f80; color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700; flex-shrink: 0; }
.account-menu-label { display: block; max-width: 170px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 600; }
.account-menu-label small { display: block; font-size: 11px; color: #758295; font-weight: 400; }
.account-menu-chevron { color: #758295; }
.account-dropdown { position: absolute; right: 0; top: calc(100% + 10px); width: 260px; padding: 8px; background: #fff; border: 1px solid #e5ebf0; border-radius: 12px; box-shadow: 0 12px 36px #1b30481f; }
.account-dropdown-heading { padding: 8px 10px 12px; border-bottom: 1px solid #eef2f5; margin-bottom: 6px; overflow-wrap: anywhere; }
.account-dropdown-heading strong, .account-dropdown-heading small { display: block; }
.account-dropdown-heading small { margin-top: 3px; color: #758295; }
.account-dropdown a, .account-dropdown button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 10px; color: #1b3048; background: none; border: 0; border-radius: 6px; text-decoration: none; font-size: 13px; text-align: left; }
.account-dropdown a:hover, .account-dropdown button:hover { background: #eef7f6; color: #087f80; }
.account-dropdown i { width: 16px; text-align: center; }
.finance-topbar .account-dropdown form { display: block; margin: 6px 0 0; border-top: 1px solid #eef2f5; padding-top: 6px; }
.finance-topbar .account-dropdown button { color: #b95060; }
body .finance-sidebar { position: fixed; left: 0; top: var(--finance-header-height); bottom: 0; width: var(--finance-sidebar-width); height: calc(100dvh - var(--finance-header-height)); margin: 0; padding: 0; background: #fff; border-right: 1px solid #e5ebf0; overflow-y: auto; z-index: 1000; }
body .finance-sidebar .sidebar-nav { padding: 16px 14px; margin: 0; }
body .finance-sidebar .sidebar-menu { margin: 0; padding: 0; list-style: none; }
body .finance-sidebar .sidebar-menu > li > a { border-radius: 8px; }
body .finance-main { margin-left: var(--finance-sidebar-width); padding-top: calc(var(--finance-header-height) + 28px); }
.settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: start; }
.settings-grid .card { min-width: 0; }
.settings-form { display: grid; gap: 18px; margin-top: 20px; }
.settings-form label { display: block; font-size: 13px; font-weight: 600; }
.settings-form label > small { display: block; font-weight: 400; margin: 4px 0; }
.settings-form .form-control, .settings-form .form-select { margin-top: 7px; width: 100%; }
.settings-form .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.settings-form > button { justify-self: start; }
.branding-preview { max-width: 180px; max-height: 70px; object-fit: contain; }
.favicon-preview { width: 32px; height: 32px; object-fit: contain; }
.settings-grid section { scroll-margin-top: calc(var(--finance-header-height) + 20px); }
@media(max-width:1100px) { .account-menu-label { display: none; } .finance-brand span { max-width: 210px; } .settings-grid { grid-template-columns: 1fr; } }
@media(max-width:800px) { :root { --finance-header-height: 64px; } .finance-topbar-nav { padding: 0 16px; gap: 12px; } .finance-topbar .workspace-controls { gap: 10px; } .finance-topbar .workspace-switch select { width: 155px; max-width: 155px; } .finance-topbar .workspace-switch-button { display: none; } body .finance-sidebar { transform: translateX(-100%); } body.menu-open .finance-sidebar { transform: translateX(0); box-shadow: 10px 0 30px #1b30481f; } body .finance-main { margin-left: 0; padding: calc(var(--finance-header-height) + 24px) 16px 20px; } .finance-brand span { max-width: 180px; } }
@media(max-width:540px) { .finance-topbar-nav { padding: 0 10px; gap: 8px; } .finance-topbar-left { gap: 8px; } .finance-brand span { display: none; } .finance-brand img { height: 44px; max-width: 120px; } .finance-topbar .workspace-switch select { width: 135px; max-width: 135px; } .account-menu summary { padding: 2px; gap: 3px; } .account-menu-chevron { display: none; } .user-avatar { width: 34px; height: 34px; } .account-dropdown { width: min(280px,calc(100vw - 24px)); } }
@media print { .finance-topbar, body .finance-sidebar { display: none; } body .finance-main { margin: 0; padding: 0; } }
.login-logo { display: block; max-width: 180px; max-height: 70px; margin-bottom: 14px; object-fit: contain; }
.login-page input[type="checkbox"] { display: inline-block; appearance: auto; width: 1rem; height: 1rem; margin-right: .5rem; vertical-align: middle; accent-color: var(--finance-teal); }
/* Native uploads must remain in the form rather than offscreen theme widgets. */
.finance-main input[type="file"] { position: static; top: auto; display: block; max-width: 100%; }
.finance-main .card { border-radius: 10px !important; }
.finance-main .btn, .finance-topbar .btn { border-radius: 6px !important; }

/* Group access administration under one expandable sidebar item. */
body .finance-sidebar .sidebar-access-control > summary { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 12px 14px; border-radius: 8px; color: #65758a; font-weight: 500; cursor: pointer; list-style: none; }
.sidebar-access-control > summary::-webkit-details-marker { display: none; }
body .finance-sidebar .sidebar-access-control > summary > i:first-child { width: 18px; }
body .finance-sidebar .sidebar-access-control > summary:hover, body .finance-sidebar .sidebar-access-control.is-active > summary { background: #e9f5f3; color: #087f80; }
.sidebar-access-control .access-control-chevron { margin-left: auto; transition: transform .15s; }
.sidebar-access-control[open] .access-control-chevron { transform: rotate(180deg); }
body .finance-sidebar .access-control-links { display: grid; gap: 4px; list-style: none; margin: 4px 0 8px; padding: 0 0 0 22px; }
body .finance-sidebar .access-control-links a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; min-height: 40px; border-radius: 8px; color: #65758a; font-size: 13px; text-decoration: none; }
body .finance-sidebar .access-control-links a i { width: 16px; text-align: center; }
body .finance-sidebar .access-control-links a:hover, body .finance-sidebar .access-control-links a.active { color: #087f80; background: #e9f5f3; }
.access-tabs { display: flex; gap: 6px; flex-wrap: wrap; border-bottom: 1px solid #dce4ec; margin-bottom: 24px; padding-bottom: 8px; }
.access-tabs a { display: block; padding: 10px 16px; border-radius: 7px; color: #65758a; text-decoration: none; font-weight: 600; }
.access-tabs a:hover, .access-tabs a.active { color: #087f80; background: #e9f5f3; }
.role-actions { display: flex; align-items: center; gap: 8px; }
.role-actions form { margin: 0; }
.role-actions .btn { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; min-height: 34px; }
