:root{--ait-primary:#2f6f44;--ait-primary-dark:#245737;--ait-primary-soft:#eaf4ed;--ait-accent:#8fb39b;--ait-gold:#b4891f;--bs-primary:#2f6f44;--bs-primary-rgb:47,111,68;--bs-link-color:#2f6f44;--bs-link-hover-color:#245737}.app-body{background:linear-gradient(180deg,#f4faf5 0%,#eef5ef 100%)}.navbar-app{background:linear-gradient(90deg,var(--ait-primary-dark) 0%,var(--ait-primary) 100%)!important}.app-brand-logo-wrap{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:.9rem;padding:.25rem .45rem;box-shadow:0 .2rem .6rem rgba(0,0,0,.14)}.app-brand-logo{height:46px;width:auto;display:block}.app-brand-title{font-size:1.12rem;line-height:1.05}.app-brand-subtitle{font-size:.75rem;color:rgba(255,255,255,.85);line-height:1.1}.footer-app{background:#fff}.footer-version-badge{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .7rem;border-radius:999px;background:var(--ait-primary-soft);color:var(--ait-primary-dark);font-weight:700}.btn-primary,.bg-primary{background-color:var(--ait-primary)!important;border-color:var(--ait-primary)!important}.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background-color:var(--ait-primary-dark)!important;border-color:var(--ait-primary-dark)!important}.btn-outline-primary{color:var(--ait-primary);border-color:var(--ait-primary)}.btn-outline-primary:hover{background:var(--ait-primary);border-color:var(--ait-primary)}.text-bg-primary{background-color:var(--ait-primary)!important}.nav-link.active,.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:#fff}.card,.table,.list-group-item,.dropdown-menu{border-color:#dce8de}.card-header.bg-white{background:#f9fcf9!important}.alert-info{background:#eaf4ed;border-color:#cfe2d4;color:#234930}.table>thead th{background:#f2f7f3}.notification-unread{background:#edf6ef}
body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.card{border-radius:.8rem}.table>thead th{white-space:nowrap;background:#f8f9fa}.detail-grid span{display:block;color:#6c757d;font-size:.78rem;text-transform:uppercase;letter-spacing:.02em}.detail-grid strong{display:block;margin-top:.15rem;word-break:break-word}.navbar-brand{letter-spacing:.01em}
.payment-preview-wrapper{overflow-x:auto;padding:.25rem}.payment-paper{position:relative;width:900px;min-height:1268px;margin:0 auto;background:#fff;border:1px solid #888;padding:38px 70px 34px;font-family:Arial,Helvetica,sans-serif;color:#111;font-size:12px}.payment-header-grid{display:grid;grid-template-columns:82px 1fr 190px;gap:12px;align-items:start}.payment-logo-wrap img{width:70px;height:76px;object-fit:contain}.payment-title-wrap{position:relative;border-top:4px solid #0872ba;padding:3px 0 0 28px;min-height:62px}.payment-title-wrap:before{content:"";position:absolute;left:0;top:0;height:43px;border-left:4px solid #0872ba}.payment-title-wrap:after{content:"";position:absolute;left:-22px;top:43px;width:22px;border-top:4px solid #0872ba}.payment-title{font-size:26px;font-weight:800;color:#003b73;line-height:1}.payment-subtitle{font-size:14px;color:#e31b23;font-weight:700;margin-left:38px;margin-top:3px}.payment-meta{padding-top:18px}.payment-meta>div{display:grid;grid-template-columns:84px 1fr;align-items:center;margin-bottom:6px;font-size:11px}.payment-meta span{border:1px solid #999;background:#fbfce8;min-height:23px;padding:3px 6px}.pr-row{display:grid;grid-template-columns:88px 1fr;align-items:start;margin-top:7px}.pr-label{font-weight:700;padding-top:5px}.pr-value{border:1px solid #999;background:#fbfce8;padding:4px 7px;min-height:26px}.pr-purpose .pr-value{min-height:88px}.strong{font-weight:700}.pr-section-title{margin-top:20px;background:#e8e8df;text-align:center;color:#0068b5;font-weight:800;padding:4px 6px}.pr-two-column{display:grid;grid-template-columns:73% 27%;gap:8px;margin-top:4px}.pr-table{width:100%;border-collapse:collapse}.pr-table th,.pr-table td{border:1px solid #888;padding:3px 5px;vertical-align:top}.pr-beneficiary-table th{width:115px;text-align:left;background:#f7f7f2}.small-note{font-size:9px;font-style:italic}.pr-side-boxes{font-size:10px}.mini-line{display:grid;grid-template-columns:1fr 90px;align-items:center}.mini-line span{border:1px solid #888;background:#fbfce8;height:22px}.mini-title{font-weight:700;margin-top:3px}.emergency-box{height:66px;border:2px solid #3a96d8;margin-top:2px}.pr-currency-heading{display:grid;grid-template-columns:1fr 1.35fr;align-items:center;margin-top:8px;color:#e31b23;font-weight:800;text-align:center}.currency-options{color:#111;font-weight:400;display:flex;gap:7px;align-items:center;justify-content:flex-end}.currency-name{margin-left:5px}.pr-check{display:inline-block;width:12px;height:12px;border:1px solid #777;vertical-align:-2px;position:relative;background:#fff}.pr-check.checked:after{content:"✓";position:absolute;left:1px;top:-5px;color:#003b73;font-weight:900;font-size:16px}.accounting-layout{align-items:start}.accounting-table th{background:#f3f3ed;text-align:center}.accounting-table td{height:28px}.accounting-table tfoot th{background:#fff;border:none;padding-top:7px}.payment-currency-box{border:2px solid #e31b23;padding:8px 10px;min-height:148px}.payment-currency-box label{display:block;margin-top:5px}.red-title{color:#e31b23;font-weight:800;font-size:13px}.exchange-label{font-size:9px;font-style:italic;margin-top:5px}.exchange-box{height:24px;border:1px solid #888;background:#fbfce8}.mode-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:11px 12px 6px}.or-text{color:#e31b23;background:#fff7a4;padding:1px 10px;font-weight:800}.cash-line{border:1px solid #aaa;padding:5px 8px;margin:2px 0 10px}.bank-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin-top:5px}.bank-field{display:grid;grid-template-columns:145px 1fr;align-items:center}.bank-field span{border:1px solid #888;min-height:26px;padding:4px 6px;background:#fff}.bank-field:nth-child(1) span,.bank-field:nth-child(3) span{background:#fbfce8}.bank-address{grid-row:3 / span 2;grid-column:2}.bank-address span{min-height:58px}.approval-grid{display:grid;grid-template-columns:48% 52%;gap:20px;margin-top:16px}.approval-left-box{border:2px solid #111;padding:9px}.signature-block{min-height:67px}.signature-block strong{display:block;color:#0068b5;border-bottom:2px solid #1688d5;padding-bottom:3px}.signature-block div{color:#888;padding:4px 8px 0}.signature-block small{color:#999;padding-left:8px}.approval-right-box{padding:3px}.approval-item{min-height:67px}.approval-item strong{display:block;margin-bottom:8px}.approval-item>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.approval-item>div span:first-child{min-width:125px;border-bottom:1px solid #777}.comment-title{font-weight:700;margin-top:14px;font-size:10px}.comment-grid{display:grid;grid-template-columns:55% 45%;min-height:78px}.comment-grid>div{border:1px solid #777;padding:7px}.paper-version{text-align:right;color:#888;font-size:9px;margin-top:5px}
@media(max-width:991.98px){.payment-paper{transform-origin:top left}.payment-preview-wrapper{padding-bottom:.75rem}}
@media(max-width:767.98px){main{padding-left:.75rem!important;padding-right:.75rem!important}.display-6{font-size:1.75rem}.table{font-size:.9rem}.payment-paper{width:820px;min-height:1150px;padding-left:55px;padding-right:55px}}
.invoice-currency-editor{display:grid;grid-template-columns:minmax(180px,1fr) 2.3fr;align-items:center;background:#e8e8df;min-height:44px;border-top:1px solid #d5d5ca;border-bottom:1px solid #d5d5ca}.invoice-currency-title{color:#e31b23;font-weight:800;text-align:center;font-size:1rem}.invoice-currency-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.7rem;padding:.45rem .75rem}.invoice-arrow{color:#e31b23;font-size:1.35rem;font-weight:800;line-height:1}.invoice-specify-input{width:150px;background:#fbfce8;border-color:#858585;font-weight:700;text-align:center}.bank-editor-title{text-align:center;font-weight:800;border-bottom:2px solid #6f6f6f;margin-bottom:1rem}.bank-form-row{display:grid;grid-template-columns:190px 1fr;gap:.65rem;align-items:center;margin-bottom:.65rem}.bank-form-row label{font-weight:700;margin:0}.bank-form-row .form-control{background:#fff}.bank-form-row:nth-child(-n+2) .form-control{background:#fbfce8}.ms-bank-note{margin-left:200px}
.notification-bell{position:relative}.notification-badge{position:absolute;top:-7px;right:-8px;font-size:.65rem}.notification-unread{background:#eef7ff}.comment-timeline-item{border-left:3px solid #0d6efd;padding-left:.8rem;margin-bottom:1rem}
@media(max-width:767.98px){.invoice-currency-editor{grid-template-columns:1fr}.invoice-currency-controls{justify-content:flex-start}.bank-form-row{grid-template-columns:1fr;gap:.2rem}.ms-bank-note{margin-left:0}}
.emergency-box{padding:4px;white-space:pre-wrap;overflow:hidden}.invoice-currency-value{display:inline-block;min-width:88px;border:1px solid #888;background:#fbfce8;padding:2px 8px;text-align:center;color:#111}.pr-currency-heading .invoice-arrow{font-size:16px}.pr-currency-heading .small-note{color:#111;font-weight:400}

/* V8 official forms: preview and export are rendered from the same fixed official PDF template. */
.official-form-sheet{position:relative;width:1000px;aspect-ratio:1241/1754;min-height:0;padding:0;margin:0 auto;border:1px solid #777;background:#fff;overflow:hidden;font-family:Arial,Helvetica,sans-serif}
.official-form-sheet.pn-sheet{aspect-ratio:1275/1650}
.official-form-background{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block;user-select:none;-webkit-user-drag:none}
.sheet-field{position:absolute;z-index:2;box-sizing:border-box;padding:1px 3px;line-height:1.18;overflow:hidden;white-space:pre-wrap;color:#111;font-weight:600}
.sheet-field.pale{background:#fbfce8}.sheet-field.white{background:#fff}.sheet-field.clear{background:transparent}
.sheet-check{position:absolute;z-index:3;color:#003b73;font-size:18px;font-weight:900;line-height:1}
.code-input{min-width:55px}.type-panel[hidden],.cash-route[hidden],.bank-route[hidden]{display:none!important}
.type-panel .table input{min-width:72px}.type-panel .table td,.type-panel .table th{vertical-align:middle}
@media(max-width:1100px){.official-form-sheet{width:900px}}
@media(max-width:767.98px){.official-form-sheet{width:820px}}
@media print{.official-form-sheet{border:0!important}}
.sheet-check{font-size:14px}
.sheet-field.gray{background:#ececec}

/* V8: the web preview is a raster rendering of the exact exported PDF. */
.official-pdf-preview{overflow-x:auto;padding:.25rem;background:#f5f6f8;border-radius:.5rem}
.official-pdf-preview-image{display:block;width:100%;max-width:1000px;height:auto;margin:0 auto;background:#fff;border:1px solid #777;box-shadow:0 .25rem .75rem rgba(0,0,0,.08)}

.route-card[hidden]{display:none!important}

/* Version 30: app-style shell, hamburger menu and square function tiles. */
.app-topbar{position:sticky;top:0;z-index:1025;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid #dce8de;min-height:72px;display:flex;align-items:center}.app-topbar>.container-fluid{min-height:72px}.app-menu-button,.app-icon-button{width:44px;height:44px;border:0;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;background:var(--ait-primary-soft);color:var(--ait-primary-dark);font-size:1.55rem;transition:.18s ease}.app-menu-button:hover,.app-icon-button:hover{background:#dbeadf;transform:translateY(-1px)}.app-header-brand{display:flex;align-items:center;gap:.75rem;color:#173d26;text-decoration:none;min-width:0}.app-header-brand:hover{color:#173d26}.app-header-brand .app-brand-logo-wrap{padding:.18rem .35rem;border-radius:.7rem;box-shadow:none;border:1px solid #e3ebe4}.app-header-brand .app-brand-logo{height:40px;max-width:150px}.app-brand-copy{display:flex;flex-direction:column;line-height:1.05;min-width:0}.app-brand-copy strong{font-size:1.05rem}.app-brand-copy small{font-size:.7rem;color:#688071;white-space:nowrap}.app-user-button{border:0;background:transparent;display:flex;align-items:center;gap:.55rem;color:#203b29;padding:.25rem .4rem;border-radius:13px}.app-user-button:hover{background:#eef5ef}.app-user-button strong,.app-user-button small{display:block;line-height:1.1}.app-user-button strong{font-size:.82rem}.app-user-button small{font-size:.68rem;color:#758178}.app-user-avatar{width:38px;height:38px;border-radius:12px;background:var(--ait-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.app-offcanvas{width:min(360px,88vw)}.app-menu-list{display:grid;gap:.42rem}.app-menu-list>a{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:.55rem;padding:.72rem .8rem;border-radius:12px;text-decoration:none;color:#294434;font-weight:600}.app-menu-list>a i{font-size:1.15rem;color:var(--ait-primary)}.app-menu-list>a:hover{background:var(--ait-primary-soft);color:var(--ait-primary-dark)}.app-menu-label{margin:.9rem .65rem .25rem;color:#87958a;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.menu-count{min-width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#dc3545;color:#fff;font-size:.72rem}.dashboard-hero{background:linear-gradient(135deg,#245737,#43855a);color:#fff;border-radius:24px;padding:1.6rem 1.8rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 14px 30px rgba(36,87,55,.18)}.dashboard-hero h1{font-size:clamp(1.45rem,3vw,2.25rem);margin:.15rem 0 .35rem}.dashboard-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;color:#d6ecd9;font-weight:800}.dashboard-hero-icon{font-size:3.5rem;opacity:.2}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:1rem}.section-heading h2{font-size:1.25rem;margin:0}.app-function-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:1rem}.app-function-tile{position:relative;aspect-ratio:1/1;min-height:145px;background:#fff;border:1px solid #dce8de;border-radius:22px;padding:1rem;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none;color:#213b2a;box-shadow:0 8px 22px rgba(36,87,55,.07);transition:.2s ease;overflow:hidden}.app-function-tile:before{content:"";position:absolute;right:-30px;top:-35px;width:100px;height:100px;border-radius:50%;background:var(--ait-primary-soft)}.app-function-tile:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(36,87,55,.15);border-color:#b7d0be;color:#173d26}.app-function-icon{position:absolute;left:1rem;top:1rem;width:48px;height:48px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;background:var(--ait-primary);color:#fff;font-size:1.35rem;z-index:1}.app-function-title{font-weight:800;font-size:1rem;line-height:1.1;z-index:1}.app-function-badge{position:absolute;right:.75rem;top:.75rem;min-width:26px;height:26px;border-radius:999px;background:#dc3545;color:#fff;font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center;z-index:2}.status-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.status-mini-card{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;background:#fff;border:1px solid #dce8de;border-radius:15px;text-decoration:none;color:#4e6154}.status-mini-card strong{font-size:1.4rem;color:var(--ait-primary-dark)}.status-mini-card:hover{background:#f8fcf9;color:#294434}.routing-card{overflow:hidden}.routing-card .card-header{border-left:5px solid var(--ait-primary)}.page-heading{display:flex;justify-content:space-between;align-items:center}.notification-bell{position:relative}.notification-badge{position:absolute;top:-7px;right:-8px;font-size:.65rem}@media(max-width:767.98px){.app-brand-copy small{display:none}.app-header-brand .app-brand-logo{height:34px;max-width:105px}.app-topbar,.app-topbar>.container-fluid{min-height:62px}.app-function-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.app-function-tile{min-height:135px;border-radius:18px}.dashboard-hero{padding:1.25rem;border-radius:20px}.dashboard-hero-icon{display:none}}@media(max-width:390px){.app-function-grid{grid-template-columns:1fr 1fr}.app-function-tile{padding:.8rem}.app-function-icon{width:42px;height:42px}}


/* V44: highlight the exact Teams access request opened from a notification. */
.teams-account-focus {
  border: 2px solid #198754 !important;
  background: #f0fff6;
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.14) !important;
  animation: teams-account-focus-pulse 1.2s ease-out 1;
}
@keyframes teams-account-focus-pulse {
  0% { transform: scale(0.992); box-shadow: 0 0 0 0 rgba(25, 135, 84, 0.35); }
  100% { transform: scale(1); box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.14); }
}

.petty-meta-card .form-control[readonly]{background:#f8f9fa}.petty-meta-card .card-header{border-left:5px solid var(--ait-primary)}
.travel-meta-card .card-header{border-left:5px solid var(--ait-primary)}
.travel-meta-card .form-text{font-size:.78rem}


/* V69: unified Exchange Rate editor across all request forms. */
.exchange-rate-editor{width:100%;max-width:420px}
.exchange-rate-label{display:block;margin:0 0 .5rem;font-weight:600;color:#20252b}
.exchange-rate-controls{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;width:100%}
.exchange-rate-input{width:100%;max-width:360px;height:48px;font-size:1.05rem;font-weight:600;text-align:left;font-variant-numeric:tabular-nums;padding-left:1rem;padding-right:1rem}
.exchange-rate-save{width:auto;min-width:190px;height:48px;white-space:nowrap;padding-left:1.25rem;padding-right:1.25rem;align-self:flex-start}
@media (max-width:575.98px){.exchange-rate-editor{max-width:none}.exchange-rate-input,.exchange-rate-save{width:100%;max-width:none;min-width:0}}

/* V104: NEAX branding replaces visible version badges in the app footer. */
.footer-neax-brand{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;min-height:32px}
.footer-neax-brand .text-muted{min-width:0}
.footer-neax-link{display:block;flex:0 0 auto;border-radius:.25rem}
.footer-neax-link:focus-visible{outline:2px solid #0d6efd;outline-offset:3px}
.footer-neax-logo{display:block;flex:0 0 auto;width:78px;height:28px;object-fit:contain;object-position:right center}
@media(max-width:575.98px){.footer-neax-brand{align-items:center;flex-direction:row;gap:.55rem}.footer-neax-logo{width:70px;height:25px}}

/* V112: center the creator credit and place the NEAX logo directly after it. */
.footer-neax-brand{justify-content:center;gap:.55rem;flex-wrap:wrap;text-align:center}
.footer-neax-brand .text-muted{flex:0 0 auto;line-height:1.2}
.footer-neax-link{display:inline-flex;align-items:center;justify-content:center}
.footer-neax-logo{width:78px;height:28px;object-position:center}
@media(max-width:575.98px){.footer-neax-brand{justify-content:center;gap:.35rem;flex-wrap:nowrap}.footer-neax-brand .text-muted{font-size:.75rem!important;white-space:nowrap}.footer-neax-logo{width:58px;height:21px}}
@media(max-width:359.98px){.footer-neax-brand{flex-wrap:wrap}.footer-neax-brand .text-muted{font-size:.72rem!important;white-space:normal}.footer-neax-logo{width:56px;height:20px}}

/* V114: realtime notification feedback. */
.realtime-toast-container{z-index:1095;margin-top:72px}.realtime-notification-toast{background:rgba(255,255,255,.98);border-left:4px solid var(--ait-primary)!important}.notification-bell-pulse{animation:notification-bell-pulse .75s ease-in-out 1}.notification-bell-pulse i{animation:notification-bell-ring .75s ease-in-out 1}@keyframes notification-bell-pulse{0%,100%{box-shadow:0 0 0 0 rgba(47,111,68,0)}40%{box-shadow:0 0 0 8px rgba(47,111,68,.2)}}@keyframes notification-bell-ring{0%,100%{transform:rotate(0)}25%{transform:rotate(16deg)}50%{transform:rotate(-14deg)}75%{transform:rotate(8deg)}}
