@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&display=swap');
/* Olives v2.2 — Baytonia PayHub monochrome. Cosmetic only. Original business UI retained. */
:root{--ol-ink:#111;--ol-olive:#111111;--ol-accent:#111111;--ol-muted:#676767;--ol-line:#e8e8e8;--ol-soft:#f6f6f6;--ol-surface:#fff;--ol-background:#fff;--ol-serif:"Figtree","Readex Pro","Segoe UI",Arial,sans-serif;font-family:"Figtree","Readex Pro","Segoe UI",Arial,sans-serif;color:#111}
body,.shell,.shell-body{background:white!important;color:#111;font-family:"Figtree","Readex Pro","Segoe UI",Arial,sans-serif!important}
.shell-top{background:#0b0b0b!important;color:white!important;height:74px;box-shadow:none;border-bottom:1px solid #181818}
.shell-brand .olives-master-logo{height:45px;width:135px;filter:none}
.shell-brand .shell-edition{color:#bfbfbf;font-size:10px;letter-spacing:.15em;border-color:#555;font-family:inherit}
.shell-user strong{color:#fff}.shell-user small{color:#ccc}
.shell-signout{background:transparent;color:white;border:1px solid #777;border-radius:8px}.shell-signout:hover{background:#272727}
.shell-rail{background:white;border-right:1px solid #eaeaea}.shell-rail:after{display:none}
.rail-caption{color:#999;letter-spacing:.12em}.rail-item{color:#353535;border-radius:9px;font-weight:600}.rail-item:hover{background:#f5f6f5;color:#111}.rail-item.selected{background:#f1f4f0;color:#111;box-shadow:inset 2px 0 0 #111111}
.rail-icon{color:#333}.rail-icon img{filter:grayscale(.7);opacity:.85}.rail-item.selected .rail-icon{color:#111}
.rail-help{color:#888}.help-dot{background:#666666}
.shell-body:before{display:none!important}
.shell-home{max-width:1500px;margin:auto;padding:44px 48px 70px}
.home-intro h1,.home-section-title h2,.shell-body #adminPanel h1,.subnav h1,.panel h2,.shell-home .tile h2,.authbox h1{font-family:"Figtree","Readex Pro","Segoe UI",Arial,sans-serif!important;color:#111!important;font-weight:750!important;letter-spacing:-.035em!important}
.home-intro h1{font-size:36px}.home-intro p,.shell-home .tile .tile-desc,.shell-home .tile .tile-subtitle{color:#666}
.eyebrow,.home-intro .eyebrow{color:#666666;letter-spacing:.13em}.headline-dot{color:#555555}
.home-stat,.shell-home .tag{color:#111111;background:#f7f9f7;border:1px solid #e7eee6;box-shadow:none}
.home-section-title span{color:#aaa}
.shell-home .cards{gap:16px}.shell-home .tile{min-height:296px;padding:24px;border:1px solid #e7e7e7;background:#fff;box-shadow:0 2px 15px #00000008;border-radius:13px}
.shell-home .tile:hover:not(.off){transform:translateY(-2px);border-color:#d0d0d0;box-shadow:0 10px 25px #0000000d}
.shell-home .symbol{background:#f8faf7;border:1px solid #e7ede4;border-radius:10px;width:54px;height:54px}.shell-home .symbol img{width:42px;height:42px;filter:grayscale(.45)}
.shell-home .tile h2{font-size:21px;margin:24px 0 7px}.shell-home .tile .tile-subtitle{color:#777;font-weight:500}
.shell-home .tile .foot span{color:#777}.shell-home .tile .arrow{border-radius:50%;width:35px;height:35px;background:#f5f5f5;color:#111111}
.sideNote,.panel,.authbox,.section,.analytic-tile{background:white;border:1px solid #e9e9e9;box-shadow:none;border-radius:12px}
.panel h2{font-size:20px}.pill,.role-token{background:#f6f6f6;color:#333}.listrow,.section{border-color:#e9e9e9}.listrow:hover{background:#fafafa}
.field input,.field select{background:#fff;border:1px solid #dcdcdc;color:#111}.field input:focus,.field select:focus{outline:2px solid #bdbdbd;outline-offset:0}.check input{accent-color:#111111}
.primary{background:#111!important;color:white!important;border-color:#111!important}.primary:hover{background:#333!important}.secondary{color:#222;border:1px solid #ddd;background:#fff}.secondary:hover{background:#f6f6f6}
.authwrap{background:#f8f9f8}.authwrap:before{opacity:.035}.authbox{box-shadow:0 13px 40px #0000000a}.authbrand{background:#111!important;border:0!important;justify-content:center}.authbrand img{width:180px;max-width:100%;height:60px;filter:none}.authbox h1{font-size:30px}.authbox p{color:#666}
.analytic-tile{background:white}.analytic-tile strong{color:#111;font-family:inherit;font-weight:700}.analytics-bar .track{background:#f1f1f1}.analytics-bar .fill{background:#8c8c8c}
.olives-global-header{background:#111!important;color:white!important;border-bottom:1px solid #222!important;box-shadow:none!important}
.olives-global-header .olives-brand img{filter:none;height:42px;width:135px}.olives-brand-sub{color:#bcbcbc!important;border-color:#555!important}.olives-profile{color:#eee!important}.olives-out{color:#eee!important;border-color:#555!important;background:#111!important}.olives-out:hover{background:#2a2a2a!important}
.olives-global-sidebar{background:white!important;border-color:#eee!important}.olives-global-sidebar:after{display:none!important}.olives-global-nav{color:#333!important}.olives-global-nav:hover{background:#f7f7f7!important;color:#111!important}.olives-global-nav.current{background:#f3f5f2!important;color:#111!important;box-shadow:inset 2px 0 0 #111111}.olives-sidebar-caption{color:#aaa!important}
.olives-risk-box{border-color:#e5e5e5}.olives-risk-eyebrow{color:#111111}.olives-risk-continue{background:#111!important;border-color:#111!important}
.sso-button{display:flex;justify-content:center;align-items:center;gap:10px;background:#111;color:white;border:1px solid #111;border-radius:8px;width:100%;padding:15px 16px;font-size:14px;font-weight:700;text-align:center;cursor:pointer;text-decoration:none}
.sso-button:hover{background:#333}.ms-mark{display:inline-grid;grid-template-columns:repeat(2,7px);gap:2px}.ms-mark i{width:7px;height:7px;background:#f25022}.ms-mark i:nth-child(2){background:#7fba00}.ms-mark i:nth-child(3){background:#00a4ef}.ms-mark i:nth-child(4){background:#ffb900}
.login-divider{margin:22px 0;color:#888;text-align:center;font-size:12px}.access-denied{text-align:center;padding:15px 0}.access-denied h1{font-size:30px}.access-denied p{line-height:1.6}.access-denied a{display:inline-block;margin-top:13px}
.module-check{font-size:11px;color:#666}.module-check.ok{color:#111111}.module-check.down{color:#b45309}
.grant-desc{display:block;margin-top:5px;color:#777;font-size:11px;line-height:1.6}.grant-status{color:#9c511f;font-size:12px;padding-top:5px}.access-matrix{width:100%;border-collapse:collapse;margin-top:15px}.access-matrix th,.access-matrix td{font-size:12px;border-bottom:1px solid #eee;padding:11px;text-align:left}.access-matrix th{color:#666}
@media(max-width:900px){.shell-home{padding:28px 20px}.shell-home .tile{min-height:275px}}

.shell-brand>span:nth-child(2){border-left:1px solid #555;padding-left:18px}.authbrand{min-height:96px}

/* v2.2.2: Analytics, Audit and Users panels on the Olives home page: padded, bounded, never under the rail */
#dashboardPanel,#auditPanel,#adminPanel{box-sizing:border-box!important;padding:28px 36px!important;max-width:100%!important;min-width:0;overflow-x:auto!important}
@media(max-width:850px){#dashboardPanel,#auditPanel,#adminPanel{padding:18px 14px!important}}

/* v2.2.2: text-only identity. No leaf illustration, watermark or botanical decoration. */
.ol-wordmark{display:inline-flex;align-items:center;gap:8px;font-family:"Figtree","Readex Pro","Segoe UI",Arial,sans-serif;font-weight:800;font-size:20px;letter-spacing:.2em;color:#fff;line-height:1;text-transform:uppercase;text-decoration:none}
.ol-wordmark::after{display:none}
.authbrand .ol-wordmark{color:#fff;font-size:22px}
.symbol{display:flex;align-items:center;justify-content:center;font-family:"Figtree","Readex Pro","Segoe UI",Arial,sans-serif;font-weight:800;font-size:18px;color:#111;letter-spacing:.02em}

/* v2.2.2 sign-in: two equal options separated by OR. Microsoft button: white with #0F6CBD border. */
.or-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#666;font-size:12px;letter-spacing:.08em}
.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:#e5e5e5}
.sso-button{background:#fff!important;color:#111!important;border:1px solid #0F6CBD!important}
.sso-button:hover{background:#f4f8fc!important}

/* v2.2.2 sidebar readability (home): larger labels, same width and identity */
.shell-rail .rail-item{font-size:14.5px!important;font-weight:600!important;padding:11px 13px!important;line-height:1.3}
.shell-rail .rail-caption{font-size:11px!important;letter-spacing:.12em!important}
.shell-rail .rail-icon{font-size:18px!important;width:20px!important}
@media(max-width:900px){.shell-rail .rail-item{font-size:14px!important;white-space:nowrap}}

/* v2.2.2 design round: pure white backgrounds, company mark in the header */
html,body,.shell,.shell-body,.shell-layout,.authwrap,.shell-home{background:#fff!important}
.shell-company-mark{height:18px;width:auto;opacity:.95;margin-inline-start:4px}

/* v2.2.3 design round: neutral palette only (black, white, grays). Icons sit in circles. */
.ol-ico{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;border-radius:50%;border:1px solid #111;color:#111;background:#fff;box-sizing:border-box}
.ol-ico svg{display:block}
.rail-icon{display:inline-flex;align-items:center;justify-content:center;width:30px!important;height:30px!important;min-width:30px;}
.rail-icon .ol-ico{width:28px;height:28px;min-width:28px}
.symbol{width:52px!important;height:52px!important;border-radius:50%!important;border:1px solid #111!important;background:#fff!important;color:#111!important;display:flex;align-items:center;justify-content:center}
.olives-nav-ico{display:inline-flex;margin-inline-end:10px;flex:0 0 auto}
html.olives-unified .olives-global-nav{align-items:center;gap:0}

.shell-rail .rail-icon .ol-ico{width:30px;height:30px;min-width:30px}
.shell-rail .rail-item{gap:12px}

/* v2.2.3 final design: centred tagline under the module cards; pure white page */
.home-tagline{margin:30px 0 0;text-align:center;color:#666;font-size:14px;letter-spacing:.01em}

/* v2.2.5: OLIVES wordmark in an elegant serif with wide tracking */
.ol-wordmark,.olives-master-logo{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:600!important;font-size:25px!important;letter-spacing:.32em!important;text-transform:uppercase;line-height:1;}

/* v2.2.6: sign-in page — dining-room background drifting slowly, frosted card, design wording and icons */
.authwrap{position:fixed!important;inset:0!important;min-height:100vh!important;background:#2a2320!important;overflow:hidden!important;}
.authwrap:not(.hidden){display:flex!important;align-items:center!important;justify-content:center!important;}
.authwrap::before{content:"";position:absolute;inset:-4%;background:url('/brand/login-dining.jpg') center/cover no-repeat;opacity:1!important;animation:olives-drift 40s ease-in-out infinite alternate;will-change:transform;z-index:0;}
.authwrap::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(40,32,26,.38),rgba(40,32,26,.58));z-index:0;}
@keyframes olives-drift{from{transform:scale(1.03) translate3d(0,0,0);}to{transform:scale(1.11) translate3d(-1.6%,-1%,0);}}
@media (prefers-reduced-motion:reduce){.authwrap::before{animation:none;}}
.authbox{position:relative!important;z-index:1;width:min(400px,92vw)!important;background:rgba(62,53,45,.42)!important;backdrop-filter:blur(22px) saturate(115%);-webkit-backdrop-filter:blur(22px) saturate(115%);border:1px solid rgba(255,255,255,.16)!important;border-radius:24px!important;box-shadow:0 30px 80px rgba(0,0,0,.28)!important;padding:44px 40px!important;color:#fff;text-align:center;}
.authbrand{background:transparent!important;color:#fff!important;margin-bottom:26px;}
.authbrand .ol-wordmark{color:#fff!important;font-size:30px!important;letter-spacing:.42em!important;}
.authbox h1{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:42px!important;font-weight:600!important;color:#fff!important;margin:0 0 8px;letter-spacing:-.01em;}
.authbox p{color:rgba(255,255,255,.78)!important;font-size:14px;margin:0 0 30px;}
.authbox label.field{display:block;text-align:left;color:rgba(255,255,255,.92)!important;font-size:13px!important;font-weight:600!important;margin:0 0 16px;}
.ifield{position:relative;margin-top:7px;}
.ifield .fi{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:17px;height:17px;fill:none;stroke:rgba(255,255,255,.8);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;}
.authbox .ifield input{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.24)!important;color:#fff!important;border-radius:14px!important;height:50px;padding:0 44px!important;font-size:14px!important;width:100%;}
.authbox .ifield input::placeholder{color:rgba(255,255,255,.55);}
.authbox .ifield input:focus{outline:none;border-color:rgba(255,255,255,.7)!important;box-shadow:0 0 0 3px rgba(255,255,255,.12)!important;}
.pass-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none!important;border:0!important;padding:6px!important;cursor:pointer;width:auto!important;height:auto!important;}
.pass-toggle svg{width:18px;height:18px;fill:none;stroke:rgba(255,255,255,.8);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block;}
.authbox button.primary{background:#fff!important;color:#111!important;border-radius:999px!important;height:50px;width:100%;font-weight:600;font-size:15px;margin-top:6px;border:0;}
.authbox button.primary:hover{background:#f2f2f2!important;}
.authbox .error{color:#ffc2b8!important;text-align:left;}
.or-divider{display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.62);font-size:12px;margin:24px 0 20px;}
.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:rgba(255,255,255,.24);}
.authbox .sso-button{display:flex;align-items:center;justify-content:center;gap:10px;height:50px;border-radius:999px;border:1px solid rgba(255,255,255,.30);color:#fff!important;text-decoration:none;font-weight:600;font-size:14px;background:transparent;}
.authbox .sso-button:hover{background:rgba(255,255,255,.08);}
.outlook-ico{width:20px;height:20px;flex:0 0 20px;}
.authbox .login-divider,.authbox .sso-button .ms-mark{display:none!important;}

/* v2.2.7: sign-in card more compact; Outlook button transparent; photo keeps its light and framing */
.authbox{padding:34px 36px!important;}
.authbrand{margin-bottom:18px!important;}
.authbrand .ol-wordmark{font-size:26px!important;}
.authbox h1{font-size:36px!important;margin:0 0 6px!important;}
.authbox > div > p,.authbox p{margin:0 0 22px!important;}
.authbox .stack{gap:0!important;margin:0!important;}
.authbox label.field{margin:0 0 12px!important;}
.authbox .ifield{margin-top:6px!important;}
.authbox .error:empty{display:none!important;}
.authbox button.primary{height:46px!important;margin-top:4px!important;}
.or-divider{margin:16px 0 14px!important;}
.authbox .sso-button,html .authbox a.sso-button{height:46px!important;background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.42)!important;}
.authbox .sso-button:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.7)!important;}
.authwrap::after{background:linear-gradient(rgba(40,32,26,.04),rgba(40,32,26,.12))!important;}
.authwrap::before{inset:0!important;animation-name:olives-drift-soft!important;}
@keyframes olives-drift-soft{from{transform:scale(1.0) translate3d(0,0,0);}to{transform:scale(1.035) translate3d(-0.6%,-0.4%,0);}}
@media (prefers-reduced-motion:reduce){.authwrap::before{animation:none!important;}}
.authbrand{height:auto!important;min-height:0!important;padding:0!important;line-height:1!important;}

/* v2.2.8: the full photo is shown (not cropped): sharp copy centred at its own proportions, soft blurred copy behind, slow drift */
.authwrap{background:#2b241e!important;}
.authwrap::before{content:"";position:absolute;inset:-6%;background:url('/brand/login-dining.jpg') center/cover no-repeat!important;filter:blur(28px) brightness(.8)!important;transform:scale(1.08)!important;animation:none!important;opacity:1!important;z-index:0!important;will-change:auto;}
.authwrap::after{content:"";position:absolute;inset:0;background:url('/brand/login-dining.jpg') center/contain no-repeat!important;opacity:1!important;z-index:1!important;animation:olives-drift-wide 46s ease-in-out infinite alternate!important;will-change:transform;}
@keyframes olives-drift-wide{from{transform:scale(1) translate3d(0,0,0);}to{transform:scale(1.035) translate3d(-0.5%,-0.3%,0);}}
@media (prefers-reduced-motion:reduce){.authwrap::after{animation:none!important;}}
.authbox{z-index:2!important;}
/* v2.2.9: the home page has no shadows either */
html *:not(.authbox){box-shadow:none!important;}
/* v2.2.9: small chips and arrows on the home tiles are white with a hairline (no grey fills) */
html .tile .tag,html .tile .arrow{background:#fff!important;border:1px solid #e8e8e8!important;}

/* v2.2.10: sidebar as in the approved mockup — soft grey selected row with a dark edge, icons in grey tiles (circle when selected), section captions */
.shell-rail{background:#fff!important;padding:30px 16px 22px!important;}
.shell-rail .rail-caption{font-size:11px!important;letter-spacing:.22em!important;color:#8a8a8a!important;font-weight:600!important;padding:0 12px!important;margin:0 0 12px!important;}
.shell-rail .rail-caption.apps-ca{margin-top:30px!important;}
.shell-rail .rail-item{position:relative;display:flex!important;align-items:center!important;gap:14px!important;width:100%;border:0!important;background:transparent!important;border-radius:16px!important;padding:8px 12px 8px 8px!important;margin:0 0 8px!important;color:#111!important;font-size:15px!important;font-weight:500!important;box-shadow:none!important;text-align:start;}
.shell-rail .rail-item:hover{background:#f6f6f6!important;}
.shell-rail .rail-item.selected{background:#f1f1f1!important;font-weight:600!important;}
.shell-rail .rail-item.selected::before{content:"";position:absolute;left:-16px;top:12px;bottom:12px;width:3px;background:#111;border-radius:0 3px 3px 0;}
.shell-rail .rail-icon{width:48px!important;height:48px!important;min-width:48px!important;border-radius:14px!important;background:#f1f1f1!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.shell-rail .rail-item.selected .rail-icon{border-radius:50%!important;background:#e4e4e4!important;}
.shell-rail .rail-icon .ol-ico{width:auto!important;height:auto!important;min-width:0!important;border:0!important;background:transparent!important;border-radius:0!important;}
.shell-rail .rail-icon svg{width:22px!important;height:22px!important;stroke-width:1.7!important;}
.shell-rail .rail-item{margin-bottom:12px!important;}

/* v2.2.11: home as in the approved design — navigation in the header, serif hero, editorial cards */
.shell-rail{display:none!important;}
.shell-layout{grid-template-columns:1fr!important;}
.shell-top{display:flex!important;align-items:center!important;gap:0!important;height:74px;padding:0 36px!important;background:#0b0b0b!important;}
.shell-brand{padding-inline-end:26px;border-inline-end:1px solid rgba(255,255,255,.22);margin-inline-end:26px;}
.shell-brand .ol-wordmark{font-size:24px!important;color:#fff!important;}
.home-nav{display:flex;align-items:center;gap:30px;height:100%;}
.home-nav .rail-item{background:transparent!important;border:0!important;border-radius:0!important;padding:0 0 6px!important;margin:0!important;color:rgba(255,255,255,.66)!important;font-family:'Cormorant Garamond',Georgia,serif!important;font-size:18px!important;font-weight:500!important;letter-spacing:.02em;cursor:pointer;box-shadow:none!important;border-bottom:2px solid transparent!important;display:inline-flex!important;align-items:center;}
.home-nav .rail-item .rail-icon{display:none!important;}
.home-nav .rail-item.selected{color:#fff!important;border-bottom-color:#fff!important;background:transparent!important;}
.home-nav .rail-item:hover{color:#fff!important;}
.shell-right{margin-inline-start:auto;}
.home-intro{margin:6px 0 0!important;}
.home-eyebrow{font-family:'Cormorant Garamond',Georgia,serif;font-size:15px;letter-spacing:.34em;text-transform:uppercase;color:#6b6b6b;margin-bottom:6px;}
.home-intro h1{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:112px!important;font-weight:600!important;line-height:.95!important;letter-spacing:-.01em;margin:0!important;color:#0b0b0b!important;}
.home-rule{width:52px;height:1px;background:#0b0b0b;margin:26px 0 22px;}
.home-lead{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;line-height:1.45;color:#5c5c5c;max-width:560px;margin:0;}
.home-section-title h2{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:30px!important;font-weight:600!important;color:#0b0b0b!important;}
.tile{background:#fff!important;border:1px solid #e6e6e6!important;border-radius:18px!important;padding:26px 26px 22px!important;box-shadow:none!important;}
.tile .symbol{width:58px!important;height:58px!important;border-radius:50%!important;border:0!important;background:#f1f1f1!important;color:#0b0b0b!important;}
.tile .tag{background:#f6f6f6!important;border:0!important;color:#3a3a3a!important;font-family:Figtree,Arial,sans-serif;font-size:12px!important;}
.tile h2{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:42px!important;font-weight:600!important;letter-spacing:-.01em;margin:24px 0 6px!important;color:#0b0b0b!important;}
.tile .tile-subtitle{font-family:'Cormorant Garamond',Georgia,serif;font-size:19px;color:#5c5c5c;margin:0 0 6px;}
.tile .tile-desc{font-family:'Cormorant Garamond',Georgia,serif;font-size:17px;line-height:1.45;color:#6b6b6b;margin:0 0 20px;}
.tile .foot{border-top:1px solid #ececec;padding-top:16px;display:flex;align-items:center;justify-content:space-between;font-family:Figtree,Arial,sans-serif;font-size:13px;color:#6b6b6b;}
.tile .arrow{width:40px!important;height:40px!important;border-radius:50%!important;display:inline-flex;align-items:center;justify-content:center;font-size:18px;}
.home-tagline{font-family:'Cormorant Garamond',Georgia,serif!important;text-transform:uppercase;letter-spacing:.36em;font-size:12px!important;color:#7a7a7a!important;display:flex;align-items:center;justify-content:center;gap:22px;}
.home-tagline:before,.home-tagline:after{content:"";width:72px;height:1px;background:#cfcfcf;}
/* v2.2.11: sign-in — the photo covers the whole page; no blurred sides */
.authwrap::before{content:"";position:absolute;inset:-2%;background:url('/brand/login-dining.jpg') center 30%/cover no-repeat!important;filter:none!important;transform:none!important;opacity:1!important;animation:olives-drift-soft 46s ease-in-out infinite alternate!important;z-index:0!important;}
.authwrap::after{display:none!important;}
.home-intro{display:block!important;}
.home-nav .rail-item{white-space:nowrap!important;}
.home-section-title{margin-top:44px!important;}

/* v2.2.13: analytics — module cards (select to view), figures from real data, live refresh, Excel exports */
.an-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;flex-wrap:wrap;margin:0 0 18px;}
.an-head h1{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:52px!important;font-weight:600!important;margin:4px 0 6px!important;letter-spacing:-.01em;}
.an-sub{color:#666;font-size:14px;margin:0;max-width:560px;}
.an-controls{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;}
.an-controls .field{min-width:150px;}
.an-meta{font-size:12px;color:#666;margin:0 0 14px;}
.an-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;}
.an-card{text-align:start;background:#fff;border:1px solid #e6e6e6;border-radius:18px;padding:20px;cursor:pointer;color:#111;font-family:inherit;}
.an-card:hover{border-color:#111;}
.an-card.on{background:#0b0b0b;color:#fff;border-color:#0b0b0b;}
.an-card-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;font-weight:600;}
.an-card-desc{font-size:13px;color:#777;margin:4px 0 14px;}
.an-card.on .an-card-desc,.an-card.on small{color:#bdbdbd;}
.an-card-figs{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;}
.an-card-fig strong{display:block;font-size:30px;font-weight:700;}
.an-card-fig small{display:block;font-size:12px;color:#777;}
.an-card-delta{font-size:12px;margin-top:4px;color:#555;}
.an-card.on .an-card-delta{color:#e0e0e0;}
.an-spark{width:120px;height:36px;color:#111;}
.an-card.on .an-spark{color:#fff;}
.an-detail{padding:22px;}
.an-detail h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;font-weight:600;margin:0;}
.an-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:12px 0 18px;}
.an-kpi{border:1px solid #ececec;border-radius:14px;padding:14px;}
.an-kpi small{display:block;font-size:12px;color:#777;}
.an-kpi strong{display:block;font-size:26px;margin:4px 0;}
.an-kpi span{font-size:12px;color:#888;}
.an-live{border:1px dashed #d8d8d8;border-radius:14px;padding:14px 16px;margin:0 0 18px;}
.an-live h3{margin:0 0 6px;font-size:15px;}
.an-live-item{margin:10px 0;}
.an-live-item strong{display:block;margin-bottom:2px;}
.an-na{color:#b42318;}
.an-live-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:8px;}
.an-live-cell small{display:block;color:#777;font-size:12px;}
.an-live-cell strong{font-size:18px;}
.an-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:18px;margin-bottom:18px;}
.an-col h3{font-size:15px;margin:0 0 8px;}
.an-trend{width:100%;height:auto;}
.an-muted{color:#777;font-size:13px;}
.an-table-wrap{overflow-x:auto;}
.an-table{width:100%;border-collapse:collapse;font-size:13px;}
.an-table th,.an-table td{text-align:start;padding:9px 10px;border-bottom:1px solid #eee;}
.an-table th{color:#666;font-weight:600;}
.an-foot{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap;}
@media(max-width:1100px){.an-cards{grid-template-columns:repeat(2,minmax(0,1fr));}.an-cols{grid-template-columns:1fr;}.an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.an-live-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* v2.2.14: administration pages use the same controls as the modules (Home hero and Analytics keep the approved serif titles) */
#workspace .subnav h1,#auditPanel h1,#adminPanel h1{font-family:Figtree,Arial,sans-serif!important;font-size:26px!important;font-weight:700!important;letter-spacing:-.01em!important;line-height:1.2!important;color:#0b0b0b!important;}
#workspace button.primary{background:#0b0b0b!important;color:#fff!important;border:1px solid #0b0b0b!important;border-radius:999px!important;font-family:Figtree,Arial,sans-serif!important;font-size:14px!important;font-weight:600!important;padding:11px 22px!important;}
#workspace button.secondary{background:#fff!important;color:#0b0b0b!important;border:1px solid #d4d4d4!important;border-radius:999px!important;font-family:Figtree,Arial,sans-serif!important;font-size:14px!important;font-weight:600!important;padding:11px 22px!important;}
#workspace input:not([type=checkbox]):not([type=radio]),#workspace select{border-radius:10px!important;padding:11px 14px!important;font-family:Figtree,Arial,sans-serif!important;font-size:14px!important;font-weight:400!important;color:#0b0b0b!important;border:1px solid #d4d4d4!important;background:#fff!important;}
#workspace th{font-family:Figtree,Arial,sans-serif!important;font-size:13px!important;font-weight:600!important;color:#5c5c5c!important;border-bottom:1px solid #0b0b0b!important;padding:12px 14px!important;}

/* v2.2.14: Pay by provider (interactive chips and drill-down) */
.an-chips{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 6px;}
.an-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #d4d4d4;background:#fff;color:#0b0b0b;border-radius:999px;padding:8px 14px;font-family:Figtree,Arial,sans-serif;font-size:14px;font-weight:600;cursor:pointer;}
.an-chip:hover{border-color:#0b0b0b;}
.an-chip.on{background:#0b0b0b;color:#fff;border-color:#0b0b0b;}
.an-chip strong{font-weight:700;margin-inline-start:4px;}
.an-chip-logo{height:16px;width:auto;}
.an-drill{margin-top:14px;border-top:1px solid #ececec;padding-top:14px;}
.an-drill-head{font-family:Figtree,Arial,sans-serif;font-size:15px;font-weight:700;margin-bottom:8px;}
.an-drill .an-kpis{margin:12px 0;}
.an-drill button.secondary{margin-top:12px;}
/* v2.2.14: bar rows never overlap their labels: label column, track, value */
.analytics-bar{display:grid!important;grid-template-columns:minmax(0,40%) minmax(0,1fr) 44px!important;align-items:center!important;gap:12px!important;margin:8px 0!important;}
.analytics-bar label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#333;}
.analytics-bar .track{height:8px!important;background:#f0f0f0!important;border-radius:999px!important;overflow:hidden!important;position:relative!important;}
.analytics-bar .fill{height:100%!important;background:#0b0b0b!important;border-radius:999px!important;}
.analytics-bar b{text-align:end;font-size:13px;}

/* v2.2.15: analytics typography matches the rest of the product (Figtree). The Home hero, the header wordmark and the module names keep their serif. */
.an-head h1{font-family:Figtree,Arial,sans-serif!important;font-size:26px!important;font-weight:700!important;letter-spacing:-.01em!important;line-height:1.2!important;margin:4px 0 6px!important;color:#0b0b0b!important;}
.an-card-title{font-family:Figtree,Arial,sans-serif!important;font-size:17px!important;font-weight:700!important;}
.an-detail h2{font-family:Figtree,Arial,sans-serif!important;font-size:22px!important;font-weight:700!important;letter-spacing:-.01em;}
.an-live h3,.an-col h3,.an-detail h3{font-family:Figtree,Arial,sans-serif!important;}
/* v2.2.15: interactive feedback — hover lift, press, focus, animated bars, trend points */
.an-card{transition:transform .18s ease,border-color .18s ease,background-color .18s ease;}
.an-card:hover{transform:translateY(-2px);border-color:#0b0b0b;}
.an-card:active{transform:translateY(0) scale(.99);}
.an-card:focus-visible,.an-chip:focus-visible,button:focus-visible{outline:2px solid #0b0b0b;outline-offset:2px;}
.an-chip{transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .12s ease;}
.an-chip:hover{transform:translateY(-1px);}
.an-chip:active{transform:scale(.97);}
.analytics-bar .fill{transition:width .7s cubic-bezier(.2,.7,.2,1);}
.an-dot{cursor:pointer;transition:r .15s ease;}
.an-dot:hover{r:6;}
.an-table tbody tr{transition:background-color .15s ease;}
.an-table tbody tr:hover td{background:#f6f6f6;}
.an-kpi{transition:border-color .18s ease;}
.an-kpi:hover{border-color:#0b0b0b;}
@media (prefers-reduced-motion:reduce){.an-card,.an-chip,.analytics-bar .fill,.an-dot{transition:none!important;}.an-card:hover,.an-chip:hover{transform:none!important;}}
/* v2.2.15: warnings are neutral (grey fill, black text); red is reserved for errors and critical events */
.audit-pill.warning{background:#f1f1f1!important;color:#0b0b0b!important;border:1px solid #d4d4d4!important;}
.alert:not(.error){background:#f6f6f6!important;color:#0b0b0b!important;border:1px solid #e0e0e0!important;}
/* v2.2.15: five module cards on one row on wide screens */
.an-cards{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
@media(max-width:1280px){.an-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media(max-width:820px){.an-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:520px){.an-cards{grid-template-columns:minmax(0,1fr)!important;}}
.home-nav .rail-item.hidden{display:none!important;}
/* v2.2.16: Analytics shows figures only; people blocks live in the Confirm and Showrooms views */
.an-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;}
.an-people{border-top:1px solid #ececec;margin-top:18px;padding-top:16px;}
.an-people h3{font-size:16px;font-weight:700;margin:0 0 8px;}
.an-sub-title{font-size:13px;font-weight:700;margin:14px 0 6px;color:#0b0b0b;}

/* v2.2.17: the home page fits a 1080p screen at 100% zoom without scrolling */
a.shell-brand{display:block;text-decoration:none;color:inherit;cursor:pointer;}
.home-intro{margin:22px 0 0!important;}
.home-intro h1{font-size:clamp(64px,6.4vw,88px)!important;}
.home-rule{margin:16px 0 14px!important;}
.home-lead{font-size:clamp(17px,1.4vw,20px)!important;line-height:1.4!important;}
.home-section-title{margin-top:26px!important;}
.home-section-title h2{font-size:26px!important;}
.tile{padding:20px 22px 16px!important;}
.tile h2{font-size:clamp(30px,2.6vw,36px)!important;margin:14px 0 4px!important;}
.tile .tile-desc{margin:0 0 12px!important;font-size:clamp(15px,1.1vw,16px)!important;}
.tile .foot{padding-top:12px!important;}
.tile .symbol{width:50px!important;height:50px!important;}
.home-tagline{margin-top:20px!important;}
.shell-layout{min-height:0!important;}
