:root{
  --bg:#02070b;--bg2:#061522;--panel:#091721;--panel2:#0e2230;--text:#f3f8fb;--muted:#a9bfcc;
  --border:rgba(144,188,214,.20);--brand:#f58220;--brand2:#ff9f1c;--accent:#0f7fb3;--accent2:#113f67;
  --danger:#fb7185;--warning:#fbbf24;--success:#75d6ff;--shadow:0 24px 70px rgba(0,0,0,.38);--radius:22px
}
html[data-theme="blue-silver"]{
  --bg:#07111f;--bg2:#101f35;--panel:#0d1b2f;--panel2:#172840;--text:#f4f8fb;--muted:#b9c8d8;
  --border:rgba(185,200,216,.24);--brand:#7dd3fc;--brand2:#cbd5e1;--accent:#2563eb;--accent2:#64748b;
  --success:#93c5fd;--shadow:0 24px 70px rgba(2,8,23,.42)
}
html[data-theme="forest"]{
  --bg:#03100c;--bg2:#0a1d16;--panel:#0b1f18;--panel2:#123126;--text:#f4fbf7;--muted:#b7cec3;
  --border:rgba(183,206,195,.22);--brand:#c0843f;--brand2:#f0b35f;--accent:#2f9e75;--accent2:#14532d;
  --success:#86efac;--shadow:0 24px 70px rgba(0,18,10,.42)
}
html[data-theme="plum"]{
  --bg:#120719;--bg2:#20102f;--panel:#1b1027;--panel2:#2e1940;--text:#fbf7ff;--muted:#cfbddc;
  --border:rgba(207,189,220,.24);--brand:#f5c76b;--brand2:#f59e0b;--accent:#a78bfa;--accent2:#6d28d9;
  --success:#c4b5fd;--shadow:0 24px 70px rgba(16,2,28,.42)
}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;line-height:1.55;background:#02070b url('/templates/cybersecurity/images/backgrounds/honeycomb-background.webp') center top/cover fixed no-repeat}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 20% 10%,color-mix(in srgb, var(--brand) 18%, transparent),transparent 24rem),radial-gradient(circle at 80% 0%,color-mix(in srgb, var(--accent) 20%, transparent),transparent 30rem),linear-gradient(180deg,rgba(2,7,11,.36),rgba(2,7,11,.92) 45%,#02070b 100%)}a{color:inherit}img{max-width:100%}.app-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;padding:14px clamp(16px,4vw,52px);background:rgba(2,7,11,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:max-content}.brand img{width:60px;height:60px;object-fit:contain}.brand span{display:flex;flex-direction:column}.brand strong{font-size:1.08rem;letter-spacing:.02em}.brand small{color:var(--muted);font-size:.78rem}.site-nav{display:flex;align-items:center;gap:4px;flex:1;justify-content:center}.site-nav a{padding:10px 12px;border-radius:999px;color:var(--muted);text-decoration:none;font-weight:800;font-size:.92rem}.site-nav a.active,.site-nav a:hover{background:rgba(245,130,32,.16);color:var(--text)}.header-actions{display:flex;align-items:center;gap:10px}.nav-toggle{display:none}.btn,button{appearance:none;border:0;border-radius:999px;padding:12px 18px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#130901;font-weight:900;text-decoration:none;cursor:pointer;box-shadow:0 10px 30px rgba(245,130,32,.22)}.btn.ghost,button.ghost{background:rgba(255,255,255,.045);color:var(--text);border:1px solid var(--border);box-shadow:none}.btn.full{display:block;text-align:center;width:100%}.view{width:min(1200px,calc(100% - 32px));margin:0 auto;padding:34px 0 48px;flex:1}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;min-height:590px}.eyebrow{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid rgba(245,130,32,.38);border-radius:999px;background:rgba(245,130,32,.08);color:#ffc077;font-weight:900;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.hero h1{font-size:clamp(2.55rem,7vw,5.7rem);line-height:.95;margin:18px 0;text-shadow:0 10px 38px rgba(0,0,0,.42)}.hero p{font-size:1.2rem;color:var(--muted);max-width:64ch}.hero-card,.panel,.card{background:linear-gradient(180deg,rgba(10,28,40,.84),rgba(5,14,21,.76));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:22px;position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 20% 10%,color-mix(in srgb, var(--brand) 18%, transparent),transparent 20rem);pointer-events:none}.hero-card img{position:relative;border-radius:18px;aspect-ratio:4/3;object-fit:cover;width:100%;filter:saturate(1.08) contrast(1.08)}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.metric{padding:14px;border:1px solid var(--border);border-radius:18px;background:rgba(0,0,0,.22)}.metric strong{display:block;font-size:1.45rem;color:#ffae4d}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.section{padding:34px 0}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}.section h2{font-size:clamp(1.8rem,4vw,3rem);margin:0}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid.two{grid-template-columns:repeat(2,1fr)}.card{padding:22px;min-height:100%;transition:transform .16s ease,border-color .16s ease}.card:hover{transform:translateY(-2px);border-color:rgba(245,130,32,.45)}.card h3{margin:0 0 8px;font-size:1.25rem}.card p{color:var(--muted)}.card a{text-decoration:none}.service-logo{width:128px;height:128px;display:grid;place-items:center;margin:0 auto 14px;background:transparent!important;border:none!important;box-shadow:none!important}.service-logo img{width:128px;height:128px;display:block;object-fit:contain}.service-logo.fallback{color:#ffae4d;font-weight:900;background:rgba(7,23,34,.72)!important;border:1px solid rgba(245,130,32,.28)!important;border-radius:20px}.click-card{cursor:pointer}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:start}.panel{padding:28px}.contact-form{display:grid;gap:12px}label{font-weight:800;color:var(--text)}input,textarea,select{width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--border);background:rgba(0,0,0,.24);color:var(--text);font:inherit}textarea{min-height:150px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.notice{padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.06)}.notice.ok{border-color:rgba(117,214,255,.38);color:#8ddfff}.notice.err{border-color:rgba(251,113,133,.35);color:var(--danger)}.page-content{font-size:1.05rem}.page-content h1,.page-content h2,.page-content h3{line-height:1.1}.faq-item{border-bottom:1px solid var(--border);padding:16px 0}.faq-item summary{cursor:pointer;font-weight:900}.site-footer{display:flex;justify-content:space-between;gap:18px;padding:24px clamp(16px,4vw,52px);border-top:1px solid var(--border);color:var(--muted);background:rgba(0,0,0,.26)}.loading-card{padding:40px;border-radius:var(--radius);background:var(--panel)}.pill-list{display:flex;flex-wrap:wrap;gap:10px}.pill{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--muted);font-weight:800}.table-wrap{overflow:auto}.hide{display:none!important}.wallpaper-panel{min-height:340px;background:#071722 url('/templates/cybersecurity/images/backgrounds/hero.webp') center/cover no-repeat;border-radius:18px;border:1px solid var(--border)}@media(max-width:900px){.site-header{align-items:flex-start;flex-wrap:wrap}.nav-toggle{display:block;margin-left:auto;background:rgba(255,255,255,.06);color:var(--text);border:1px solid var(--border);box-shadow:none}.site-nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch}.site-nav.open{display:flex}.site-nav a{display:block}.header-actions{flex-basis:100%}.hero,.split,.grid,.grid.two{grid-template-columns:1fr}.hero{min-height:auto}.metric-row{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.site-footer{flex-direction:column}.brand img{width:48px;height:48px}.view{padding-top:22px}}
body.portal-authenticated .site-nav,body.portal-authenticated .nav-toggle{display:none!important}body.portal-authenticated .site-header{justify-content:space-between}body.portal-authenticated .brand{margin-right:auto}body.portal-authenticated .view{padding-top:8px}
.user-chip{display:inline-flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.045);color:var(--text);font-weight:800;max-width:280px}.avatar{width:32px;height:32px;border-radius:999px;object-fit:cover;border:1px solid rgba(245,130,32,.5);background:#071722}.avatar.initials{display:grid;place-items:center;color:#ffae4d;font-size:.78rem}.header-actions .btn{white-space:nowrap}@media(max-width:900px){.user-chip{max-width:100%;}.header-actions{align-items:center;flex-wrap:wrap}}
.profile-head{display:flex;gap:22px;align-items:center;margin-bottom:24px}.profile-avatar{width:96px;height:96px;border-radius:999px;object-fit:cover;border:2px solid rgba(255,138,0,.6);box-shadow:0 18px 48px rgba(255,138,0,.16)}.links-grid .link-card{text-decoration:none;color:inherit}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.info-grid div{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:14px}.info-grid strong{display:block;color:#ff9a21;margin-bottom:6px}.info-grid span{color:#dbe8ef}.org-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.org-card{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px}.org-card small{display:block;color:#9eb5c3;margin-top:3px}.captcha-row{margin:14px 0}.pill-list a.pill{text-decoration:none;color:#f5fbff}.pill-list a.pill:hover{border-color:rgba(255,138,0,.85);background:rgba(255,138,0,.12)}@media(max-width:800px){.info-grid,.org-grid{grid-template-columns:1fr}.profile-head{align-items:flex-start}.profile-avatar{width:72px;height:72px}}
/* v5 polish */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.in{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.hero-card{animation:floatPanel 7s ease-in-out infinite}@keyframes floatPanel{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.service-logo img{filter:drop-shadow(0 8px 18px rgba(245,130,32,.25))}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}.timeline div{border:1px solid var(--border);border-radius:18px;background:rgba(0,0,0,.22);padding:18px}.timeline strong{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#110800;margin-bottom:10px}.contact-cards{display:grid;gap:12px;margin-top:22px}.contact-cards div{border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.04);padding:14px}.contact-cards strong{display:block;color:#ffae4d}.contact-cards span{color:var(--muted)}.org-chart{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:560px;overflow:auto;padding-right:4px}.legal-hero{padding:34px 0 8px}.legal-wrap{width:min(980px,calc(100% - 32px));margin:0 auto}.legal-card{background:linear-gradient(180deg,rgba(10,28,40,.9),rgba(4,12,18,.86));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(22px,4vw,42px)}.legal-card h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1;margin-top:0}.legal-card h2{margin-top:30px;color:#ffae4d}.legal-card p,.legal-card li{color:#c7d7df}.legal-meta{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(245,130,32,.35);background:rgba(245,130,32,.08);color:#ffc077;font-weight:900;letter-spacing:.05em;text-transform:uppercase;font-size:.8rem}.legal-nav{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0}.legal-nav a{border:1px solid var(--border);border-radius:999px;padding:8px 12px;text-decoration:none;color:var(--muted);background:rgba(255,255,255,.04)}.legal-nav a:hover{color:var(--text);border-color:rgba(245,130,32,.55)}@media(max-width:900px){.timeline,.org-chart{grid-template-columns:1fr}.hero-card{animation:none}}
@media (max-width: 720px) {
  .user-chip { max-width: 100%; min-width: 0; }
  .user-chip .avatar { width: 34px; height: 34px; min-width: 34px; border-radius: 999px; object-fit: cover; }
  .user-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 170px; }
  .profile-head { align-items: flex-start; }
  .profile-avatar { width: 72px; height: 72px; min-width: 72px; object-fit: cover; border-radius: 999px; }
}
.org-avatar-wrap{position:relative;width:42px;height:42px;min-width:42px;display:inline-block}.org-avatar-wrap .avatar{position:absolute;inset:0;width:42px;height:42px}.org-avatar-wrap .avatar.initials{display:grid}.org-avatar-wrap img.avatar:not([style*="display: none"])+.avatar.initials{display:none}.contact-form input:invalid{border-color:rgba(251,113,133,.6)}

/* v13 enterprise portal polish */
.btn.admin-btn{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:0 12px 34px rgba(220,38,38,.32)}
.btn.admin-btn:hover{filter:brightness(1.08)}
.enterprise-head{padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(135deg,rgba(245,130,32,.08),rgba(15,127,179,.10))}
.portal-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 24px}.portal-kpi{border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.04);padding:16px;min-height:112px}.portal-kpi strong{display:block;color:#ffae4d;font-size:1.18rem;line-height:1.15}.portal-kpi span{display:block;color:var(--muted);margin-top:7px;font-size:.92rem}.mini-progress{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:12px}.mini-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--accent))}.portal-section{margin-top:28px}.section-head.compact{align-items:center;margin-bottom:12px}.portal-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.portal-action,.portal-link{display:block;text-decoration:none;color:inherit;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));padding:16px;transition:transform .16s ease,border-color .16s ease,background .16s ease}.portal-action:hover,.portal-link:hover{transform:translateY(-2px);border-color:rgba(245,130,32,.55);background:rgba(245,130,32,.08)}.portal-action b,.portal-link strong{display:block;font-size:1.06rem}.portal-action span,.portal-link span{display:block;color:var(--muted);margin-top:6px}.portal-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-link.admin-link{border-color:rgba(239,68,68,.5);background:rgba(127,29,29,.22)}.portal-link.admin-link strong{color:#fecaca}.org-controls{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin:10px 0 14px}
@media(max-width:1000px){.portal-kpi-grid,.portal-action-grid,.portal-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.portal-kpi-grid,.portal-action-grid,.portal-links,.org-controls{grid-template-columns:1fr}.enterprise-head{padding:14px}}

/* v14 portal polish */
.portal-action-grid .portal-action{min-height:118px}
.org-controls input[list]{min-width:240px}
.portal-links .admin-link{display:none!important}

/* v16 enterprise account portal */
.portal-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}.portal-tabs button{background:rgba(255,255,255,.05);color:var(--text);border:1px solid var(--border);box-shadow:none}.portal-tabs button.active{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#170900}.action-button{text-align:left;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));color:inherit;border:1px solid var(--border);box-shadow:none}.action-button b,.action-button span{display:block}.department-panel{margin:12px 0}.support-form{border:1px solid var(--border);border-radius:var(--radius);padding:18px;background:rgba(255,255,255,.035)}.support-form .btn{display:inline-flex;margin-left:10px}.portal-action-grid button.portal-action{font:inherit;cursor:pointer}.portal-action-grid button.portal-action span{color:var(--muted)}


/* v17 avatar cleanup: directory/admin tables show only real AD avatars. */
.avatar-missing{display:inline-block;width:40px;height:40px;border-radius:999px;border:1px dashed rgba(255,255,255,.24);background:rgba(255,255,255,.04);vertical-align:middle}
.avatar-missing.tiny{width:34px;height:34px}
.org-avatar-wrap,.admin-person{display:inline-flex;align-items:center;gap:0}
.seo-prerender{max-width:1180px;margin:0 auto;padding:32px 20px 56px;color:var(--text)}
.seo-prerender .seo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:18px}
.seo-prerender a{color:inherit}
.seo-prerender article{border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px;background:rgba(255,255,255,.04)}
.js .seo-prerender{display:none}

.enterprise-visual{display:block;width:100%;border-radius:18px;border:1px solid var(--border);background:#06131d;box-shadow:inset 0 0 42px rgba(15,127,179,.16)}
.visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.visual-card{background:linear-gradient(180deg,rgba(10,28,40,.84),rgba(5,14,21,.76));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.visual-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px;border:1px solid rgba(255,255,255,.09)}.visual-card h3{margin:14px 0 6px}.visual-card p{color:var(--muted);margin-top:0}.visual-band{position:relative}.visual-band:before{content:"";position:absolute;inset:10px -40px auto -40px;height:240px;z-index:-1;background:radial-gradient(circle at 50% 20%,color-mix(in srgb, var(--accent) 20%, transparent),transparent 34rem)}
@media(max-width:900px){.visual-grid{grid-template-columns:1fr}}


/* v19 homepage polish */
.wallpaper-hero img.wallpaper-visual{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center;border-radius:18px;border:1px solid var(--border);background:#06131d;box-shadow:inset 0 0 42px rgba(15,127,179,.16)}
.visual-card{display:block;text-decoration:none;color:inherit;position:relative;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.visual-card:hover,.visual-card:focus-visible{transform:translateY(-3px);border-color:rgba(245,130,32,.58);box-shadow:0 18px 46px rgba(0,0,0,.38)}
.visual-card:focus-visible{outline:2px solid rgba(245,130,32,.85);outline-offset:3px}
.card-cta{display:inline-flex;align-items:center;margin-top:8px;color:#ffae4d;font-weight:900}
.card-cta:after{content:"→";margin-left:8px;transition:transform .16s ease}
.visual-card:hover .card-cta:after,.card:hover .card-cta:after{transform:translateX(3px)}
a.card{text-decoration:none;color:inherit;display:block}
@media(max-width:900px){.hero{gap:20px}.hero h1{font-size:clamp(2.7rem,13vw,4.4rem)}.visual-grid{grid-template-columns:1fr}.wallpaper-hero img.wallpaper-visual{aspect-ratio:16/10}.hero-card{padding:16px}.section-head{align-items:flex-start;flex-direction:column}.view{width:min(100% - 24px,1200px)}}
@media(max-width:560px){.hero p{font-size:1.04rem}.actions .btn{width:100%;text-align:center}.pill-list{gap:8px}.pill{font-size:.9rem}.visual-card{padding:12px}.visual-card img{aspect-ratio:16/9}.metric{padding:12px}.section{padding:24px 0}}

.page-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(245,130,32,.35);background:rgba(245,130,32,.08);color:#ffc077;font-weight:900;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}.page-hero-visual{margin:0 0 24px}.page-hero-visual img{width:100%;border-radius:22px;border:1px solid rgba(255,255,255,.09);box-shadow:0 18px 46px rgba(0,0,0,.34);aspect-ratio:16/9;object-fit:cover}.mini-list{margin:12px 0 0;padding-left:18px;color:var(--muted)}.mini-list li{margin:6px 0}.step-badge,.engagement-pill{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#140900;font-weight:900;box-shadow:0 10px 24px rgba(245,130,32,.25);margin-bottom:12px}.engagement-pill{min-width:auto;height:auto;padding:8px 12px;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.cta-band{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;margin-top:22px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02))}.cta-band h3{margin:0 0 6px}.cta-band p{margin:0}.engagement-card{position:relative;overflow:hidden}.engagement-card:before{content:'';position:absolute;inset:auto -40px -70px auto;width:160px;height:160px;background:radial-gradient(circle,color-mix(in srgb, var(--brand) 18%, transparent),transparent 70%);pointer-events:none}@media(max-width:900px){.cta-band{flex-direction:column;align-items:flex-start}}

/* v21 visual flourish */
.feature-split{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:center;margin:0 0 24px}.feature-split.reverse{grid-template-columns:.95fr 1.05fr}.feature-split.reverse .feature-art{order:1}.feature-split.reverse .feature-copy{order:2}.feature-split-hero{margin-bottom:28px}.feature-copy h1,.feature-copy h2,.feature-copy h3{margin-top:0}.feature-copy p:last-child{margin-bottom:0}.image-frame{padding:12px;border-radius:26px;border:1px solid rgba(144,188,214,.22);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));box-shadow:var(--shadow)}.image-frame img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;border:1px solid rgba(255,255,255,.08)}.glow-frame{position:relative;overflow:hidden}.glow-frame:before{content:'';position:absolute;inset:-1px;background:radial-gradient(circle at 15% 20%,color-mix(in srgb, var(--brand) 18%, transparent),transparent 22rem),radial-gradient(circle at 85% 10%,rgba(15,127,179,.18),transparent 20rem);pointer-events:none}.glow-frame>*{position:relative}.micro-feature{margin-top:24px;padding:22px;border:1px solid var(--border);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02))}.compact-frame img{aspect-ratio:21/9}.visual-content-grid{align-items:stretch}.image-panel-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:center}.image-panel-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;border:1px solid rgba(255,255,255,.08)}.cta-band{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));box-shadow:var(--shadow)}.cta-band:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 8% 20%,rgba(245,130,32,.10),transparent 24rem),radial-gradient(circle at 92% 80%,rgba(15,127,179,.12),transparent 24rem);pointer-events:none}.cta-band>*{position:relative}.btn.motif-cta{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;background:linear-gradient(135deg,rgba(245,130,32,.22),rgba(15,127,179,.18));border:1px solid rgba(245,130,32,.38);color:var(--text);box-shadow:0 16px 38px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.04)}.btn.motif-cta:after{content:'→';font-size:1.1rem;line-height:1;transition:transform .16s ease}.btn.motif-cta:hover:after{transform:translateX(3px)}.btn.motif-cta:hover{transform:translateY(-1px);filter:brightness(1.05)}
@media(max-width:900px){.feature-split,.feature-split.reverse,.image-panel-card{grid-template-columns:1fr}.feature-split.reverse .feature-art,.feature-split.reverse .feature-copy{order:initial}.compact-frame img{aspect-ratio:16/10}.btn.motif-cta{width:100%;justify-content:center}}

/* v25 anonymous visitor conversion and premium service pages */
.lead-copy{font-size:1.16rem;line-height:1.65}.action-model .card{position:relative;overflow:hidden}.action-model .card:after{content:"";position:absolute;inset:auto -40px -55px auto;width:145px;height:145px;background:radial-gradient(circle,rgba(245,130,32,.16),transparent 68%);pointer-events:none}.motif-icon{width:92px;height:92px;display:inline-grid;place-items:center;border-radius:22px;margin-bottom:12px;background:none;border:none;box-shadow:none}.motif-icon img{width:92px;height:92px;display:block}.pain-card,.pathway-card{position:relative;display:block;text-decoration:none;color:inherit;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,rgba(10,28,40,.86),rgba(5,14,21,.76));box-shadow:var(--shadow);padding:22px;min-height:100%;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.pain-card:before,.pathway-card:before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 12% 12%,rgba(245,130,32,.13),transparent 18rem),radial-gradient(circle at 90% 95%,rgba(15,127,179,.13),transparent 20rem);pointer-events:none}.pain-card>* ,.pathway-card>*{position:relative}.pain-card:hover,.pathway-card:hover{transform:translateY(-3px);border-color:rgba(245,130,32,.58);box-shadow:0 18px 46px rgba(0,0,0,.40)}.pain-card h3,.pathway-card h3{margin:0 0 8px}.pain-card p,.pathway-card p{color:var(--muted)}.pathway-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pathway-card{display:grid;grid-template-columns:auto 1fr;gap:16px}.pathway-card .motif-icon{margin:0}.pathway-card ul{margin:10px 0 0;padding-left:18px;color:var(--muted)}.pathway-card li{margin:4px 0}.deliverable-preview{border:1px solid rgba(144,188,214,.22);border-radius:20px;background:linear-gradient(180deg,rgba(2,12,18,.72),rgba(7,23,34,.62));overflow:hidden;box-shadow:inset 0 0 40px rgba(15,127,179,.10);margin-top:12px}.deliverable-head{display:flex;gap:7px;padding:13px 14px;background:rgba(255,255,255,.035);border-bottom:1px solid rgba(144,188,214,.16)}.deliverable-head span{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--accent))}.deliverable-title{padding:13px 14px;color:#ffae4d;font-weight:900;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem}.deliverable-row{display:grid;grid-template-columns:.8fr 1.15fr 1.35fr 1.35fr;gap:10px;padding:11px 14px;border-top:1px solid rgba(144,188,214,.12);color:#c7d7df;font-size:.92rem}.deliverable-row.strong{color:var(--text);font-weight:900;background:rgba(255,255,255,.025)}.risk{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:3px 8px;font-weight:900;font-size:.78rem}.risk.high{background:rgba(251,113,133,.16);color:#fecdd3;border:1px solid rgba(251,113,133,.26)}.risk.med{background:rgba(251,191,36,.14);color:#fde68a;border:1px solid rgba(251,191,36,.26)}.risk.low{background:rgba(117,214,255,.12);color:#bae6fd;border:1px solid rgba(117,214,255,.24)}.three-service-detail .card h2{font-size:1.32rem;margin-top:0}.numbered-list{counter-reset:item;list-style:none;padding-left:0;margin:0}.numbered-list li{counter-increment:item;position:relative;margin:12px 0;padding-left:48px;color:var(--muted)}.numbered-list li:before{content:counter(item);position:absolute;left:0;top:-2px;width:32px;height:32px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#150900;font-weight:900}.contact-intake-preview{margin-top:18px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.035);padding:16px}.contact-intake-preview .motif-icon{margin:0}.small-help{margin-top:4px;font-size:.93rem}.contact-form button.motif-cta{justify-content:center}.service-logo{position:relative;overflow:hidden}.service-logo:after,.motif-icon:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.10),transparent 42%);pointer-events:none}.site-header{transition:padding .18s ease,background .18s ease}.card,.pain-card,.pathway-card,.visual-card,.btn{will-change:transform}
@media(max-width:1050px){.pathway-grid{grid-template-columns:1fr}.pathway-card{grid-template-columns:auto 1fr}.deliverable-row{grid-template-columns:1fr 1fr}.deliverable-row.strong{display:none}}
@media(max-width:900px){.site-header{padding:10px 12px}.header-actions{gap:8px;flex-wrap:wrap}.header-actions .btn{padding:10px 12px}.brand small{display:none}.brand img{width:42px;height:42px}.pathway-card,.contact-intake-preview{grid-template-columns:1fr}.deliverable-row{grid-template-columns:1fr}.motif-icon{width:54px;height:54px}.motif-icon img{width:54px;height:54px}.hero h1{font-size:clamp(2.35rem,11.5vw,4.4rem)}}
@media(max-width:560px){.deliverable-preview{font-size:.9rem}.pain-card,.pathway-card{padding:18px}.site-nav.open{max-height:calc(100vh - 120px);overflow:auto}.user-chip span{max-width:120px}}


/* v28 professional motion polish */
:root{--motion-fast:.16s;--motion-med:.38s;--motion-slow:.72s;--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.2,.9,.25,1.25)}
@keyframes portalFadeUp{from{opacity:0;transform:translateY(18px) scale(.985);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@keyframes portalFadeIn{from{opacity:0;filter:blur(6px)}to{opacity:1;filter:none}}
@keyframes portalFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-7px,0)}}
@keyframes portalFloatSoft{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,5px,0)}}
@keyframes portalGlowSweep{0%{transform:translateX(-140%) skewX(-18deg);opacity:0}18%{opacity:.65}62%{opacity:.22}100%{transform:translateX(145%) skewX(-18deg);opacity:0}}
@keyframes portalPulseRing{0%,100%{box-shadow:0 0 0 0 rgba(245,130,32,.22),inset 0 0 24px rgba(15,127,179,.18)}50%{box-shadow:0 0 0 8px rgba(245,130,32,0),inset 0 0 30px rgba(15,127,179,.28)}}
@keyframes portalGridDrift{0%{background-position:0 0,0 0}100%{background-position:48px 0,-48px 0}}
body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.22;background:linear-gradient(90deg,rgba(245,130,32,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(15,127,179,.07) 1px,transparent 1px);background-size:96px 96px;mask-image:radial-gradient(circle at 50% 20%,black,transparent 68%);animation:portalGridDrift 28s linear infinite}.reveal{opacity:0;transform:translateY(18px) scale(.985);filter:blur(3px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out),filter .7s var(--ease-out);transition-delay:var(--stagger,0ms)}.reveal.in{opacity:1;transform:none;filter:none}.delay-1{--stagger:90ms}.delay-2{--stagger:180ms}.motion-card{position:relative;overflow:hidden;transition:transform var(--motion-med) var(--ease-out),border-color var(--motion-med) var(--ease-out),box-shadow var(--motion-med) var(--ease-out),background var(--motion-med) var(--ease-out)}.motion-card:before{content:"";position:absolute;inset:-1px auto -1px -65%;width:48%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),rgba(245,130,32,.10),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}.motion-card:hover,.motion-card:focus-visible{transform:translateY(-5px);border-color:rgba(245,130,32,.58);box-shadow:0 22px 60px rgba(0,0,0,.44),0 0 0 1px rgba(245,130,32,.08)}.motion-card:hover:before,.motion-card:focus-visible:before{animation:portalGlowSweep 1.05s var(--ease-out)}.hero-card,.image-frame,.feature-art{transform-style:preserve-3d}.motion-float{animation:portalFloat 8s ease-in-out infinite}.motion-float-soft{animation:portalFloatSoft 9s ease-in-out infinite}.motif-icon,.service-logo{animation:portalPulseRing 4.8s ease-in-out infinite;animation-delay:var(--stagger,0ms)}.btn,.pill,.site-nav a,.user-chip{transition:transform var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),background var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}.btn:hover,.pill:hover,.user-chip:hover{transform:translateY(-2px)}.site-nav a{position:relative}.site-nav a:after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--accent));transform:scaleX(0);transform-origin:left;transition:transform var(--motion-med) var(--ease-out);opacity:.8}.site-nav a:hover:after,.site-nav a.active:after{transform:scaleX(1)}.btn.motif-cta{position:relative;overflow:hidden}.btn.motif-cta:before{content:"";position:absolute;inset:-1px auto -1px -65%;width:52%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),color-mix(in srgb, var(--brand) 18%, transparent),transparent);transform:skewX(-18deg);opacity:0}.btn.motif-cta:hover:before{animation:portalGlowSweep 1s var(--ease-out)}.page-kicker,.eyebrow{animation:portalFadeIn .9s var(--ease-out) both}.metric,.portal-kpi,.deliverable-preview{transition:transform var(--motion-med) var(--ease-out),box-shadow var(--motion-med) var(--ease-out),border-color var(--motion-med) var(--ease-out)}.metric:hover,.portal-kpi:hover,.deliverable-preview:hover{transform:translateY(-3px);border-color:rgba(15,127,179,.42);box-shadow:0 18px 42px rgba(0,0,0,.28)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important;filter:none!important}.motion-card:hover,.btn:hover,.pill:hover,.user-chip:hover{transform:none!important}}


/* v29 profile photo upload */
.profile-photo-panel{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin:0 0 22px;padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));box-shadow:var(--shadow)}
.profile-avatar.large{width:112px;height:112px;min-width:112px;border-radius:999px;object-fit:cover;border:2px solid rgba(245,130,32,.45);box-shadow:0 0 0 6px rgba(245,130,32,.07),0 18px 38px rgba(0,0,0,.34)}
.photo-upload-form{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:10px}.photo-upload-form input[type=file]{max-width:360px}.photo-upload-form .btn{white-space:nowrap}
@media(max-width:700px){.profile-photo-panel{grid-template-columns:1fr;text-align:left}.profile-avatar.large{width:96px;height:96px;min-width:96px}.photo-upload-form input[type=file],.photo-upload-form .btn{width:100%}}

/* v30 browser profile photo and leadership page */
.leadership-page .panel{overflow:hidden}.leader-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.leader-card{display:grid;grid-template-columns:116px 1fr;gap:18px;align-items:center;padding:18px;border:1px solid var(--border);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));box-shadow:0 18px 44px rgba(0,0,0,.22);position:relative;overflow:hidden}.leader-card:before{content:'';position:absolute;inset:auto -30px -60px auto;width:160px;height:160px;background:radial-gradient(circle,rgba(245,130,32,.15),transparent 70%);pointer-events:none}.leader-card>*{position:relative}.leader-photo{width:104px;height:104px;border-radius:24px;padding:5px;border:1px solid rgba(245,130,32,.35);background:linear-gradient(135deg,color-mix(in srgb, var(--brand) 18%, transparent),rgba(15,127,179,.14));box-shadow:inset 0 0 22px rgba(15,127,179,.16)}.leader-avatar{width:100%;height:100%;border-radius:19px;object-fit:cover}.leader-avatar.fallback{display:grid;place-items:center;background:#071722;color:#ffae4d;font-weight:900;font-size:1.55rem}.leader-title{color:#ffae4d;font-weight:900;margin:.1rem 0 .45rem}.leader-card h3{margin:.3rem 0 .15rem}.photo-upload-form input[type=file]{max-width:360px}
@media(max-width:850px){.leader-grid{grid-template-columns:1fr}.leader-card{grid-template-columns:82px 1fr}.leader-photo{width:76px;height:76px;border-radius:20px}.leader-avatar{border-radius:15px}}

/* v41 security checklist and ticket portal */
.checklist-hero .score-ring{width:180px;height:180px;border-radius:999px;border:1px solid rgba(255,138,0,.38);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:16px auto;background:radial-gradient(circle at center,rgba(255,138,0,.18),rgba(8,8,77,.08));box-shadow:0 18px 55px rgba(0,0,0,.22)}
.checklist-hero .score-ring strong{font-size:42px;line-height:1;color:var(--accent,#f58220)}
.checklist-hero .score-ring span{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted,#9fb5c7)}
.checklist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.check-card{display:block;position:relative;padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(7,27,40,.78);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.check-card:hover{transform:translateY(-2px);border-color:rgba(255,138,0,.45)}
.check-card input{position:absolute;right:16px;top:16px;width:20px;height:20px;accent-color:var(--accent,#f58220)}
.check-card b{display:block;margin-top:10px;font-size:1.05rem}
.check-card p{color:var(--muted,#9fb5c7);margin-bottom:0}
.check-card:has(input:checked){border-color:rgba(255,138,0,.65);background:rgba(255,138,0,.08)}
.checklist-result{margin-top:18px}
.ticket-list{display:grid;gap:10px;margin-top:12px}
.ticket-row{padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.04)}
.ticket-row strong{display:block}.ticket-row span{display:block;color:var(--muted,#9fb5c7);font-size:.9rem;margin-top:4px}

/* v44 My Tickets portal */
.ticket-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.ticket-main{min-width:0}
.ticket-main strong{overflow-wrap:anywhere}
.btn.tiny{padding:8px 12px;font-size:.86rem;border-radius:999px;white-space:nowrap}
.ticket-state-open{border-color:rgba(95,204,255,.32)}
.ticket-state-new{border-color:rgba(130,255,199,.32)}
.ticket-state-closed{opacity:.72}
.ticket-state-pending-reminder,.ticket-state-pending-close{border-color:rgba(255,213,128,.32)}
@media(max-width:640px){.ticket-row{align-items:flex-start;flex-direction:column}.ticket-row .btn.tiny{align-self:flex-start}}
/* v46 Helpdesk ticket detail expansion */
.ticket-row{cursor:pointer}
.ticket-row.expanded{background:rgba(255,255,255,.07)}
.ticket-detail{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}
.ticket-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:10px}
.ticket-detail-grid div{padding:10px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(0,0,0,.12)}
.ticket-detail-grid b,.ticket-detail-grid span{display:block}
.ticket-detail-grid span{color:var(--muted,#9fb5c7);font-size:.9rem;margin-top:3px}
.ticket-expand-hint{white-space:nowrap;color:var(--muted,#9fb5c7);font-size:.88rem}
.ticket-row.expanded .ticket-expand-hint{color:var(--accent,#8bd3ff)}

/* v47 portal dashboard, Helpdesk grouping, and handbook polish */
.kpi-button{appearance:none;border:1px solid rgba(255,255,255,.14);text-align:left;cursor:pointer;color:inherit;background:rgba(255,255,255,.035)}
.kpi-button:hover{transform:translateY(-2px);border-color:rgba(245,130,32,.55)}
.ticket-groups h3{margin:22px 0 10px;color:#fff}
.ticket-conversation{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}
.conversation-item{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.09)}
.conversation-item b{display:block;color:#fff}.conversation-item small{display:block;color:var(--muted);margin:2px 0 6px}.conversation-item p{white-space:pre-wrap;margin:0;color:#dce9f4}
.handbook-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}.handbook-toc{position:sticky;top:86px;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 110px);overflow:auto;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(3,12,20,.6)}.handbook-toc strong{margin-top:8px;color:#fff}.handbook-toc a{color:#bfe7ff;text-decoration:none;padding:7px 8px;border-radius:10px}.handbook-toc a:hover{background:rgba(255,255,255,.08);color:#fff}.handbook-body article{scroll-margin-top:100px;margin-bottom:24px;padding:20px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.035)}.handbook-body h3{margin-top:0}.glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.glossary-term{padding:14px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(0,0,0,.16)}.glossary-term p{margin:6px 0 0}.portal-kpi strong{font-size:1.45rem}.dashboard-kpis .portal-kpi{min-height:116px}
@media(max-width:900px){.handbook-layout{grid-template-columns:1fr}.handbook-toc{position:relative;top:auto;max-height:none}.glossary-grid{grid-template-columns:1fr}}
@media print{header,.portal-tabs,.handbook-toc,.actions,.btn,footer{display:none!important}.handbook-layout{display:block}.handbook-body article{break-inside:avoid;border:1px solid #bbb;background:#fff;color:#000}.handbook-body,.handbook-body *{color:#000!important}}

/* v48 directory modal, dashboard ticket count, and handbook expansion */
.org-card-button{width:100%;text-align:left;cursor:pointer;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.12);color:inherit;display:flex;align-items:center;gap:14px;padding:14px;border-radius:18px;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.org-card-button:hover,.org-card-button:focus{transform:translateY(-1px);border-color:rgba(255,138,0,.5);background:rgba(255,138,0,.07);outline:none}
.org-card-more{margin-left:auto;color:#45c3f5;font-weight:800;font-size:.9rem}
.modal-backdrop{position:fixed;inset:0;z-index:2147482000;background:rgba(0,0,0,.72);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px}
.directory-modal{position:relative;width:min(920px,96vw);max-height:88vh;overflow:auto;background:linear-gradient(145deg,rgba(10,24,35,.98),rgba(5,13,20,.98));border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 90px rgba(0,0,0,.55);border-radius:28px;padding:28px;color:#eef7ff}
.modal-close{position:absolute;right:18px;top:14px;width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.modal-close:hover{background:rgba(255,138,0,.18);border-color:rgba(255,138,0,.55)}
.directory-modal-head{display:flex;gap:18px;align-items:center;margin-bottom:20px;padding-right:42px}
.directory-modal-head .org-avatar{width:82px;height:82px;font-size:1.4rem}
.directory-profile-grid{margin-top:18px}
.field-help{display:block;margin-top:7px;color:#9fb5c5;font-size:.82rem;line-height:1.35}
.portal-kpi strong#dashOpenTickets{font-variant-numeric:tabular-nums;font-size:2.05rem;color:#ffb35f}
.handbook-body article{scroll-margin-top:24px}
.handbook-body p{line-height:1.75}
@media(max-width:720px){.modal-backdrop{align-items:flex-start;padding:12px}.directory-modal{padding:22px;border-radius:22px}.directory-modal-head{align-items:flex-start}.directory-modal-head .org-avatar{width:64px;height:64px}.org-card-more{display:none}}

/* v49 directory modal polish, dark native selects, avatar lightbox, and ticket label cleanup */
select{background-color:#071722;color:#eef7ff;color-scheme:dark}
select option{background:#071722;color:#eef7ff}
select option:hover,select option:checked{background:#153040;color:#fff}
.modal-close{display:grid;place-items:center;line-height:1;padding:0;font-family:Arial,Helvetica,sans-serif;font-weight:900}
.directory-modal{overflow:visible}
.directory-profile-grid{max-height:58vh;overflow:auto;padding-right:4px}
.directory-modal-count{display:inline-flex;margin-top:6px;color:#9fc7dc;font-size:.9rem;font-weight:800}
.directory-avatar-button{appearance:none;border:0;background:transparent;padding:0;border-radius:999px;box-shadow:none;cursor:pointer;display:grid;place-items:center;width:82px;height:82px;overflow:hidden;flex:0 0 auto}
.directory-avatar-button img{width:82px;height:82px;object-fit:cover;border-radius:999px;border:2px solid rgba(255,138,0,.6)}
.directory-avatar-empty{border:2px solid rgba(255,138,0,.45);background:rgba(255,138,0,.12);color:#ffca8a;font-weight:900;font-size:1.35rem}
.modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:72px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(7,23,34,.84);color:#fff;font-size:42px;line-height:1;box-shadow:0 12px 34px rgba(0,0,0,.32);display:grid;place-items:center;padding:0;z-index:3}
.modal-nav:hover{background:rgba(255,138,0,.22);border-color:rgba(255,138,0,.62)}
.modal-prev{left:-22px}.modal-next{right:-22px}
.avatar-lightbox{z-index:2147482500}
.avatar-lightbox-card{position:relative;max-width:min(720px,94vw);max-height:92vh;padding:22px;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:linear-gradient(145deg,rgba(10,24,35,.98),rgba(5,13,20,.98));box-shadow:0 30px 90px rgba(0,0,0,.55);text-align:center}
.avatar-lightbox-card img{display:block;max-width:100%;max-height:75vh;border-radius:22px;object-fit:contain;margin:auto}
.avatar-lightbox-card p{margin:14px 0 0;color:#c9d9e3;font-weight:800}
.ticket-groups h3{margin-top:24px}
@media(max-width:720px){.directory-modal{overflow:auto}.directory-profile-grid{max-height:none;overflow:visible}.modal-prev{left:8px}.modal-next{right:8px}.modal-nav{top:auto;bottom:12px;transform:none;width:46px;height:46px;font-size:34px;background:rgba(7,23,34,.92)}.directory-modal{padding-bottom:72px}.directory-avatar-button,.directory-avatar-button img{width:64px;height:64px}}

/* v51 portal operations polish */
.notice.warn{border-color:rgba(255,193,7,.45);background:rgba(255,193,7,.10);color:#fff3cd}
.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.activity-list{display:grid;gap:10px}.activity-list>div{padding:12px 14px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.035)}.activity-list b{display:block;color:#fff}.activity-list span{display:block;color:var(--muted,#9fb5c7);font-size:.9rem;margin-top:3px}.handbook-ack{border-color:rgba(245,130,32,.28)}
/* v52 portal cleanup */
.dashboard-kpis .portal-kpi small{display:block;margin-top:6px;color:var(--muted);font-size:.78rem;line-height:1.25;font-weight:500}
.portal-actions-section h2,.portal-section h2{font-size:clamp(1.25rem,2.1vw,1.75rem);line-height:1.15;margin-bottom:12px}
.impersonation-banner .btn.tiny{display:inline-flex;align-items:center;justify-content:center;margin-left:10px;text-decoration:none}

/* v64 polish: cleaner portal forms, table-like ticket rows, stronger focus states, and mobile spacing. */
:where(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(245,130,32,.72);outline-offset:3px}
.small-help{font-size:.88rem;line-height:1.45;margin-top:.35rem}
.profile-photo-panel{display:grid;grid-template-columns:160px 1fr;gap:1.25rem;align-items:center;margin:1rem 0 1.5rem;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.035)}
.profile-avatar.large{width:140px;height:140px;border-radius:999px;object-fit:cover;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08)}
.photo-upload-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.75rem}
.ticket-row{transition:transform .16s ease,border-color .16s ease,background .16s ease}.ticket-row:hover{transform:translateY(-1px);border-color:rgba(245,130,32,.45)}
.ticket-detail{margin-top:.8rem;padding:.9rem;border-radius:14px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.1)}
.ticket-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;margin-bottom:.75rem}.ticket-detail-grid div{display:grid;gap:.15rem}.ticket-detail-grid b{color:#9fc7dc;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.conversation-item{padding:.75rem 0;border-top:1px solid rgba(255,255,255,.1)}.conversation-item:first-of-type{border-top:0}.conversation-item small{display:block;color:#9fc7dc;margin:.15rem 0 .35rem}
@media (max-width:720px){.profile-photo-panel{grid-template-columns:1fr;text-align:left}.profile-avatar.large{width:112px;height:112px}.photo-upload-form{display:grid}.photo-upload-form input[type=file]{max-width:100%}.site-header{gap:.75rem}.header-actions{flex-wrap:wrap}}

/* v65 employee portal hub, varied motif icons, and professional motion polish */
.enterprise-action-grid .portal-action{position:relative;overflow:hidden;min-height:156px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.enterprise-action-grid .portal-action .motif-icon{width:50px;height:50px;margin:0 0 8px}.enterprise-action-grid .portal-action .motif-icon img{width:50px;height:50px}.enterprise-action-grid .portal-action:after{content:"";position:absolute;inset:auto -35px -45px auto;width:130px;height:130px;border-radius:999px;background:radial-gradient(circle,rgba(15,127,179,.18),transparent 66%);opacity:.8;pointer-events:none}.employee-hub{padding:20px;border:1px solid rgba(144,188,214,.16);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));box-shadow:0 22px 55px rgba(0,0,0,.24)}.support-form-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.support-form-head .motif-icon{margin:0}.support-request-form,.access-request-form,.security-request-form{position:relative;overflow:hidden}.support-request-form:before,.access-request-form:before,.security-request-form:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 92% 8%,rgba(245,130,32,.11),transparent 22rem);pointer-events:none}.support-request-form>*,.access-request-form>*,.security-request-form>*{position:relative}.portal-action,.ticket-row,.handbook-body article{animation:portalSoftEnter .42s var(--ease-out) both}.portal-action:nth-child(2){animation-delay:.04s}.portal-action:nth-child(3){animation-delay:.08s}.portal-action:nth-child(4){animation-delay:.12s}.portal-action:nth-child(5){animation-delay:.16s}.portal-action:nth-child(6){animation-delay:.20s}.portal-action:nth-child(7){animation-delay:.24s}.portal-action:nth-child(8){animation-delay:.28s}.handbook-body article{transition:transform .18s ease,border-color .18s ease,background .18s ease}.handbook-body article:hover{transform:translateY(-2px);border-color:rgba(245,130,32,.32);background:rgba(255,255,255,.048)}@keyframes portalSoftEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:700px){.enterprise-action-grid .portal-action{min-height:auto}.support-form .btn{margin-left:0;margin-top:8px}}


/* v66 animated motif assets and employee portal expansion */
.motif-icon img{filter:drop-shadow(0 6px 14px rgba(15,127,179,.22)) drop-shadow(0 4px 10px rgba(245,130,32,.12))}
.hub-hero-art{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.hub-hero-art img{width:68px;height:68px;opacity:.95;filter:drop-shadow(0 12px 22px rgba(0,0,0,.28))}.employee-hub-hero{position:relative;overflow:hidden}.employee-hub-hero:before{content:"";position:absolute;inset:-20% auto auto -8%;width:230px;height:230px;border-radius:999px;background:radial-gradient(circle,rgba(245,130,32,.14),transparent 68%);pointer-events:none}.employee-hub-hero:after{content:"";position:absolute;inset:auto -8% -28% auto;width:260px;height:260px;border-radius:999px;background:radial-gradient(circle,rgba(15,127,179,.14),transparent 68%);pointer-events:none}.portal-resource-grid .portal-action{min-height:146px}.portal-links-section .portal-links{margin-top:8px}.portal-action b{font-size:1.02rem}.portal-action span{line-height:1.48}.portal-action:hover .motif-icon,.portal-action:focus-visible .motif-icon{transform:translateY(-2px) scale(1.03)}.portal-action .motif-icon{transition:transform .18s ease}.portal-links .portal-link{position:relative;overflow:hidden}.portal-links .portal-link:before{content:"";position:absolute;inset:-1px auto -1px -65%;width:46%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),rgba(15,127,179,.10),transparent);transform:skewX(-18deg);opacity:0}.portal-links .portal-link:hover:before{animation:portalGlowSweep 1.05s ease-out}.portal-links .portal-link:hover{transform:translateY(-3px)}.section-head.compact{display:flex;justify-content:space-between;align-items:center;gap:18px}@media(max-width:900px){.hub-hero-art{justify-content:flex-start}.hub-hero-art img{width:58px;height:58px}}@media(max-width:700px){.portal-resource-grid .portal-action{min-height:auto}.section-head.compact{align-items:flex-start;flex-direction:column}}

/* v67 implemented animated motif system */
.hero-motion-icons{position:absolute;left:18px;right:18px;bottom:98px;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;z-index:2;pointer-events:none}.hero-motion-icons .motif-icon{width:44px;height:44px;margin:0;border-radius:14px;background:rgba(7,23,34,.72);backdrop-filter:blur(5px)}.hero-motion-icons .motif-icon img{width:44px;height:44px}.wallpaper-hero{position:relative;overflow:hidden}.wallpaper-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,10,16,.72));pointer-events:none}.wallpaper-hero .metric-row{position:relative;z-index:3}.animated-motif{position:relative;overflow:hidden}.animated-motif:before{content:"";position:absolute;inset:-30%;background:conic-gradient(from 180deg,transparent,rgba(245,130,32,.12),rgba(15,127,179,.14),transparent);animation:portalMotifSpin 8s linear infinite;opacity:.65}.animated-motif img{position:relative;z-index:1}.animated-security-showcase{position:relative}.animated-security-showcase:before{content:"";position:absolute;inset:4% -10%;z-index:-1;background:url('/templates/cybersecurity/icons/motifs/circuit-flow.svg') center/cover no-repeat;opacity:.23;filter:saturate(1.15)}.showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.showcase-art{border:1px solid var(--border);border-radius:26px;overflow:hidden;background:linear-gradient(180deg,rgba(10,28,40,.86),rgba(5,14,21,.76));box-shadow:var(--shadow)}.showcase-art img{display:block;width:100%;height:auto}.animated-icon-board{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;margin-top:18px;padding:16px;border:1px solid rgba(144,188,214,.18);border-radius:26px;background:rgba(7,23,34,.68);box-shadow:inset 0 0 38px rgba(15,127,179,.08),0 22px 55px rgba(0,0,0,.22)}.animated-icon-board .motif-icon{width:100%;height:auto;aspect-ratio:1;margin:0}.animated-icon-board .motif-icon img{width:100%;height:100%}.hub-hero-art img{animation:portalFloatSoft 6.5s ease-in-out infinite}.hub-hero-art img:nth-child(2){animation-delay:.3s}.hub-hero-art img:nth-child(3){animation-delay:.6s}.hub-hero-art img:nth-child(4){animation-delay:.9s}@keyframes portalMotifSpin{to{transform:rotate(360deg)}}@media(max-width:1000px){.animated-icon-board{grid-template-columns:repeat(6,1fr)}.hero-motion-icons{grid-template-columns:repeat(3,44px);justify-content:center;bottom:110px}}@media(max-width:760px){.showcase-grid{grid-template-columns:1fr}.animated-icon-board{grid-template-columns:repeat(4,1fr)}.hero-motion-icons{display:none}}


/* v68: implemented reference motif tiles, cleaned homepage hero, and removed busy hero icon overlap */
.hero-card.wallpaper-hero{padding:18px;background:linear-gradient(180deg,rgba(6,19,29,.9),rgba(3,10,16,.82));}
.wallpaper-hero img.wallpaper-visual{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center;border-radius:18px;border:1px solid rgba(144,188,214,.22);background:#06131d;box-shadow:0 18px 52px rgba(0,0,0,.28)}
.wallpaper-hero:after{display:none!important}.hero-motion-icons{display:none!important}.wallpaper-hero .metric-row{position:relative;z-index:1;margin-top:16px}.wallpaper-hero .metric{background:linear-gradient(180deg,rgba(7,23,34,.92),rgba(3,10,16,.84));border-color:rgba(144,188,214,.22);box-shadow:inset 0 0 24px rgba(15,127,179,.08)}
.wallpaper-hero .metric strong{font-size:1.24rem;line-height:1.1}.wallpaper-hero .metric span{font-size:.96rem;color:#d4e2ea}.motif-tile-showcase{position:relative}.motif-tile-showcase:before{content:"";position:absolute;inset:5% -8%;z-index:-1;background:url('/templates/cybersecurity/icons/motifs/circuit-flow.svg') center/cover no-repeat;opacity:.14;filter:saturate(1.1)}
.motif-tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.motif-tile-card{position:relative;display:block;overflow:hidden;border-radius:28px;background:rgba(4,14,22,.7);border:1px solid rgba(144,188,214,.18);box-shadow:0 22px 58px rgba(0,0,0,.32);transition:transform .34s var(--ease-out),border-color .34s var(--ease-out),box-shadow .34s var(--ease-out);isolation:isolate}.motif-tile-card:before{content:"";position:absolute;inset:-1px auto -1px -72%;width:54%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),rgba(245,130,32,.16),rgba(15,127,179,.13),transparent);transform:skewX(-18deg);opacity:0;z-index:2}.motif-tile-card:hover,.motif-tile-card:focus-visible{transform:translateY(-6px) scale(1.012);border-color:rgba(245,130,32,.55);box-shadow:0 32px 80px rgba(0,0,0,.42),0 0 0 1px rgba(15,127,179,.12)}.motif-tile-card:hover:before,.motif-tile-card:focus-visible:before{animation:portalGlowSweep 1.15s var(--ease-out)}.motif-tile-card img{display:block;width:100%;height:auto;border-radius:inherit;transform:scale(1.005);transition:transform .45s var(--ease-out),filter .45s var(--ease-out);filter:saturate(1.06) contrast(1.05)}.motif-tile-card:hover img{transform:scale(1.035);filter:saturate(1.15) contrast(1.08)}
.animated-security-showcase{display:none!important}.animated-icon-board{display:none!important}.showcase-grid{display:none!important}.portal-tile-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.portal-tile-button{display:block;overflow:hidden;border-radius:24px;padding:0;background:rgba(7,23,34,.72);border:1px solid rgba(144,188,214,.18);box-shadow:0 18px 46px rgba(0,0,0,.26);transition:transform .24s var(--ease-out),border-color .24s var(--ease-out),box-shadow .24s var(--ease-out)}.portal-tile-button img{display:block;width:100%;height:auto}.portal-tile-button:hover,.portal-tile-button:focus-visible{transform:translateY(-4px);border-color:rgba(245,130,32,.48);box-shadow:0 26px 64px rgba(0,0,0,.34)}
@media(max-width:1050px){.motif-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-tile-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.motif-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-tile-strip{grid-template-columns:1fr 1fr}.wallpaper-hero .metric-row{grid-template-columns:1fr}.wallpaper-hero img.wallpaper-visual{aspect-ratio:16/10}}
@media(max-width:480px){.motif-tile-grid,.portal-tile-strip{grid-template-columns:1fr}.motif-tile-card{border-radius:22px}}


/* v69 responsive motif tile sizing, cleaner hero, restored animated accents, and reduced explanatory copy */
.wallpaper-hero{display:grid;gap:16px;align-content:start;padding:20px}
.wallpaper-hero img.wallpaper-visual{aspect-ratio:16/9;max-height:280px;object-fit:cover;border-radius:20px;width:100%}
.wallpaper-hero .metric-row{margin-top:0;gap:10px}
.wallpaper-hero .metric{padding:12px 14px;min-width:0}
.wallpaper-hero .metric strong{font-size:1.15rem}
.wallpaper-hero .metric span{font-size:.9rem;line-height:1.35}
.motif-tile-showcase{overflow:hidden}
.motif-tile-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:14px!important;max-width:980px;margin:0 auto}
.motif-tile-card{border-radius:18px!important;max-width:210px;width:100%;justify-self:center;box-shadow:0 14px 34px rgba(0,0,0,.28)!important}
.motif-tile-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px!important}
.motif-tile-card:hover,.motif-tile-card:focus-visible{transform:translateY(-4px) scale(1.01)!important;box-shadow:0 22px 52px rgba(0,0,0,.36)!important}
.animated-security-showcase{padding-top:10px;padding-bottom:20px}.animated-security-showcase:before{opacity:.18!important}.compact-showcase{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;margin:0 auto}.compact-showcase .showcase-art{min-height:180px}.compact-showcase .showcase-art img{width:100%;height:100%;min-height:180px;max-height:320px;object-fit:cover}
.employee-hub-hero{padding-top:20px}.employee-hub-hero .section-head{margin-bottom:0}.portal-tile-strip{display:none!important}.portal-resource-grid .portal-action{min-height:128px}.portal-action span{font-size:.92rem}.handbook .section-head{align-items:center}
@media(max-width:900px){.motif-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:680px}.motif-tile-card{max-width:180px}.compact-showcase{grid-template-columns:1fr}.wallpaper-hero img.wallpaper-visual{max-height:240px}.wallpaper-hero .metric-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.motif-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.motif-tile-card{max-width:156px;border-radius:16px!important}.motif-tile-card img{border-radius:16px!important}.wallpaper-hero .metric-row{grid-template-columns:1fr}.compact-showcase .showcase-art img{max-height:240px}.portal-action span{font-size:.9rem}}
@media(max-width:380px){.motif-tile-grid{grid-template-columns:1fr 1fr!important}.motif-tile-card{max-width:142px}}


/* v70 homepage tile correction and animated motif restore */
.clean-wallpaper-hero .wallpaper-visual{display:block;width:100%;max-height:280px;object-fit:contain;object-position:center;margin:0 auto 16px;filter:drop-shadow(0 16px 34px rgba(0,0,0,.32))}
.clean-wallpaper-hero:after{display:none!important}.clean-wallpaper-hero .metric-row{position:relative;z-index:1;margin-top:8px}.clean-wallpaper-hero .metric{background:rgba(4,14,22,.72);backdrop-filter:blur(8px)}
.homepage-orbit-showcase{padding-top:18px}.homepage-orbit-showcase .showcase-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:stretch}.homepage-orbit-showcase .showcase-art{display:grid;place-items:center;min-height:230px}.homepage-orbit-showcase .showcase-art img{width:100%;height:100%;max-height:360px;object-fit:contain;padding:10px}
.public-capability-tiles{grid-template-columns:repeat(4,minmax(150px,1fr))!important;max-width:940px!important;gap:16px!important}.public-capability-tiles .motif-tile-card{max-width:210px!important;aspect-ratio:420/426!important}.public-capability-tiles .motif-tile-card img{width:100%!important;height:100%!important;aspect-ratio:420/426!important;object-fit:contain!important;object-position:center!important;transform:none!important;background:#04101a}.public-capability-tiles .motif-tile-card:hover img{transform:scale(1.015)!important}.motif-tile-card img{object-fit:contain!important}
@media(max-width:900px){.homepage-orbit-showcase .showcase-grid{grid-template-columns:1fr}.homepage-orbit-showcase .showcase-art{min-height:190px}.public-capability-tiles{grid-template-columns:repeat(3,minmax(130px,1fr))!important;max-width:660px!important}.public-capability-tiles .motif-tile-card{max-width:180px!important}.clean-wallpaper-hero .wallpaper-visual{max-height:230px}}
@media(max-width:620px){.public-capability-tiles{grid-template-columns:repeat(2,minmax(126px,1fr))!important;gap:10px!important}.public-capability-tiles .motif-tile-card{max-width:164px!important;border-radius:16px!important}.homepage-orbit-showcase .showcase-art img{max-height:260px}.homepage-orbit-showcase{padding-top:8px}.clean-wallpaper-hero .wallpaper-visual{max-height:190px}}
@media(max-width:380px){.public-capability-tiles .motif-tile-card{max-width:148px!important}}

/* v71 rebuild: use animated-motifs directly and remove broken cropped raster tile presentation */
.animated-security-showcase,
.homepage-orbit-showcase,
.homepage-orbit-showcase .showcase-grid{
  display:block!important;
}
.homepage-orbit-showcase{
  position:relative;
  padding-top:20px;
  padding-bottom:24px;
  overflow:hidden;
}
.homepage-orbit-showcase:before{
  content:"";
  position:absolute;
  inset:2% -8%;
  z-index:-1;
  background:url('/templates/cybersecurity/icons/motifs/circuit-flow.svg') center/cover no-repeat;
  opacity:.20!important;
  filter:saturate(1.12);
}
.homepage-orbit-showcase .showcase-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);
  gap:18px;
  max-width:1120px;
  margin:0 auto;
}
.homepage-orbit-showcase .showcase-art{
  display:grid!important;
  place-items:center;
  min-height:230px;
  border:1px solid rgba(144,188,214,.18);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(10,28,40,.78),rgba(5,14,21,.68));
  box-shadow:0 22px 58px rgba(0,0,0,.30);
  overflow:hidden;
}
.homepage-orbit-showcase .showcase-art img{
  display:block!important;
  width:100%;
  height:100%;
  max-height:360px;
  object-fit:contain;
  padding:12px;
}
.capability-showcase{
  position:relative;
  overflow:hidden;
}
.capability-showcase:before{
  content:"";
  position:absolute;
  inset:8% -10%;
  z-index:-1;
  background:url('/templates/cybersecurity/icons/motifs/security-orbit.svg') center/contain no-repeat;
  opacity:.055;
  pointer-events:none;
}
.capability-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  max-width:1040px;
  margin:0 auto;
}
.capability-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:106px;
  padding:13px 14px;
  color:inherit;
  text-decoration:none;
  border:1px solid rgba(144,188,214,.18);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(10,28,40,.82),rgba(5,14,21,.70));
  box-shadow:0 16px 42px rgba(0,0,0,.26);
  overflow:hidden;
  transition:transform .24s var(--ease-out),border-color .24s var(--ease-out),box-shadow .24s var(--ease-out);
}
.capability-card:before{
  content:"";
  position:absolute;
  inset:-1px auto -1px -70%;
  width:54%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),rgba(245,130,32,.13),rgba(15,127,179,.13),transparent);
  transform:skewX(-18deg);
  opacity:0;
  pointer-events:none;
}
.capability-card:hover,
.capability-card:focus-visible{
  transform:translateY(-4px);
  border-color:rgba(245,130,32,.48);
  box-shadow:0 24px 62px rgba(0,0,0,.34);
}
.capability-card:hover:before,
.capability-card:focus-visible:before{
  animation:portalGlowSweep 1.05s var(--ease-out);
}
.capability-icon{
  width:86px;
  height:86px;
  flex:0 0 86px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:none;
  border:none;
  box-shadow:none;
}
.capability-icon img{
  width:86px;
  height:86px;
  display:block;
}
.capability-card b{
  position:relative;
  z-index:1;
  color:#f4fbff;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.92rem;
}
.motif-tile-showcase,
.public-capability-tiles{
  display:none!important;
}
@media(max-width:900px){
  .homepage-orbit-showcase .showcase-grid{grid-template-columns:1fr;max-width:680px}
  .homepage-orbit-showcase .showcase-art{min-height:190px}
  .homepage-orbit-showcase .showcase-art img{max-height:280px}
  .capability-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}
}
@media(max-width:560px){
  .capability-card-grid{grid-template-columns:1fr;gap:10px}
  .capability-card{min-height:96px;padding:12px 13px;border-radius:18px}
  .capability-icon,.capability-icon img{width:74px;height:74px}.capability-icon{flex-basis:74px;border-radius:18px}
  .homepage-orbit-showcase{padding-top:8px}
  .homepage-orbit-showcase .showcase-art img{max-height:230px}
}


/* v72 portal action fixes */
.portal-inline-intake:empty{display:none}.portal-inline-intake{margin-top:18px}.portal-tabs button[data-tab="access"]{display:none!important}


/* v74 expanded animated icon library */
.card .service-logo img{filter:drop-shadow(0 8px 18px rgba(245,130,32,.20)) drop-shadow(0 6px 14px rgba(15,127,179,.15))}
.portal-action .motif-icon,.support-form-head .motif-icon{width:50px;height:50px}.portal-action .motif-icon img,.support-form-head .motif-icon img{width:50px;height:50px}


/* v75 restored tile icon sizing */
.action-model .motif-icon{width:82px;height:82px}.action-model .motif-icon img{width:82px;height:82px}
.pain-card .motif-icon,.pathway-card .motif-icon{width:88px;height:88px}.pain-card .motif-icon img,.pathway-card .motif-icon img{width:88px;height:88px}
.portal-action .motif-icon,.support-form-head .motif-icon{width:96px;height:96px}.portal-action .motif-icon img,.support-form-head .motif-icon img{width:96px;height:96px}
.enterprise-action-grid .portal-action .motif-icon{width:88px;height:88px}.enterprise-action-grid .portal-action .motif-icon img{width:88px;height:88px}
.hero-motion-icons .motif-icon{width:72px;height:72px}.hero-motion-icons .motif-icon img{width:72px;height:72px}
@media(max-width:900px){.service-logo,.service-logo img{width:102px;height:102px}.motif-icon,.motif-icon img{width:82px;height:82px}.capability-icon,.capability-icon img{width:78px;height:78px}.capability-icon{flex-basis:78px}.portal-action .motif-icon,.portal-action .motif-icon img,.support-form-head .motif-icon,.support-form-head .motif-icon img{width:88px;height:88px}}
@media(max-width:560px){.service-logo,.service-logo img{width:94px;height:94px}.motif-icon,.motif-icon img{width:76px;height:76px}.portal-action .motif-icon,.portal-action .motif-icon img,.support-form-head .motif-icon,.support-form-head .motif-icon img{width:82px;height:82px}}


/* v77 visible service tile icon fixes */
.card .service-logo{flex:0 0 auto}.card .service-logo img{opacity:1;visibility:visible}.service-logo:empty{display:none}.pathway-card .motif-icon,.pain-card .motif-icon,.action-model .motif-icon{width:104px;height:104px}.pathway-card .motif-icon img,.pain-card .motif-icon img,.action-model .motif-icon img{width:104px;height:104px;object-fit:contain}@media(max-width:700px){.service-logo,.service-logo img{width:112px;height:112px}.pathway-card .motif-icon,.pain-card .motif-icon,.action-model .motif-icon,.pathway-card .motif-icon img,.pain-card .motif-icon img,.action-model .motif-icon img{width:92px;height:92px}}

/* v55 directory manager drilldown */
.directory-link-button{appearance:none;border:0;background:transparent;color:#ffbd73;font:inherit;font-weight:900;text-align:left;padding:0;cursor:pointer;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.directory-link-button:hover,.directory-link-button:focus{color:#ffd7aa;outline:none}
.directory-related-section{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
.directory-related-section h3{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:#eef7ff}
.directory-related-section h3 span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:26px;padding:0 8px;border-radius:999px;background:rgba(255,138,0,.16);border:1px solid rgba(255,138,0,.28);color:#ffca8a;font-size:.82rem;font-weight:900}
.directory-related-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;max-height:280px;overflow:auto;padding-right:4px}
.directory-related-card{width:100%;margin:0;background:rgba(255,255,255,.045)}
.directory-related-card .org-avatar{width:42px;height:42px;font-size:.82rem}
@media(max-width:720px){.directory-related-list{grid-template-columns:1fr;max-height:none}.directory-related-section{margin-bottom:10px}}

/* v82 directory manager and subordinate avatars */
.org-avatar-wrap .avatar-initials{position:absolute;inset:0;width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,138,0,.26),rgba(69,195,245,.16));border:1px solid rgba(255,255,255,.18);color:#fff;font-weight:900;font-size:.78rem}
.directory-manager-cell{padding:10px!important}
.directory-manager-chip{appearance:none;width:100%;border:1px solid rgba(255,138,0,.22);background:rgba(255,138,0,.06);color:inherit;border-radius:14px;padding:9px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.directory-manager-chip:hover,.directory-manager-chip:focus{background:rgba(255,138,0,.11);border-color:rgba(255,138,0,.5);transform:translateY(-1px);outline:none}
.directory-manager-chip .org-avatar-wrap,.directory-manager-chip .org-avatar-wrap .avatar,.directory-manager-chip .org-avatar-wrap .avatar-initials{width:38px;height:38px;min-width:38px}
.directory-manager-chip b{display:block;color:#fff;font-size:.95rem;line-height:1.15}
.directory-manager-chip small{display:block;color:#9eb5c3;margin-top:2px;line-height:1.25}
.directory-related-card strong{color:#fff}
.directory-related-card .org-avatar-wrap,.directory-related-card .org-avatar-wrap .avatar,.directory-related-card .org-avatar-wrap .avatar-initials{width:46px;height:46px;min-width:46px}


/* v83 directory direct reports polish */
.directory-direct-reports-section{margin-top:22px;padding-top:20px}
.directory-direct-reports-section h3{font-size:1.05rem;text-transform:none;letter-spacing:.01em}
.directory-direct-reports-section .directory-related-list{grid-template-columns:repeat(auto-fit,minmax(285px,1fr));max-height:360px}
.directory-related-note{margin:10px 0 0;font-size:.88rem}
@media(max-width:720px){.directory-direct-reports-section .directory-related-list{grid-template-columns:1fr;max-height:none}}

/* v85: center the directory profile Direct Reports heading and keep report cards compact. */
.directory-direct-reports-section h3{justify-content:center;text-align:center}
.directory-direct-reports-section .directory-related-list{margin-top:12px}


/* v90 directory profile direct reports visibility fix
   Let the entire profile modal scroll so sections after the detail grid, including Direct Reports, are reachable.
   Earlier CSS made only the detail grid scroll, which hid the Direct Reports section below the visible modal area. */
.directory-modal{max-height:88vh;overflow:auto}
.directory-profile-grid{max-height:none;overflow:visible}
.directory-direct-reports-section{grid-column:1 / -1;margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14)}
.directory-direct-reports-section h3{justify-content:center;text-align:center;margin-bottom:16px}
.directory-direct-reports-section .directory-related-list{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));max-height:none;overflow:visible;padding-right:0}
.directory-direct-reports-section .directory-related-card{min-height:72px}


/* v91 directory modal arrow clearance and Direct Reports action wording */
@media(min-width:721px){
  .directory-modal{width:min(980px,96vw);padding-left:32px;padding-right:32px}
  .directory-modal .modal-prev{left:10px}
  .directory-modal .modal-next{right:10px}
}

/* v92 directory modal arrow placement fix
   Keep previous/next controls outside the profile content on desktop without clipping. */
@media(min-width:721px){
  .modal-backdrop{padding-left:86px;padding-right:86px}
  .directory-modal{width:min(980px,calc(100vw - 188px));padding-left:32px;padding-right:32px}
  .directory-modal .modal-prev{left:-66px}
  .directory-modal .modal-next{right:-66px}
  .directory-modal .modal-nav{z-index:5}
}
@media(min-width:721px) and (max-width:980px){
  .modal-backdrop{padding-left:66px;padding-right:66px}
  .directory-modal{width:calc(100vw - 148px)}
  .directory-modal .modal-prev{left:-54px}
  .directory-modal .modal-next{right:-54px}
}

/* v93 directory modal navigation and Direct Reports card alignment
   Previous/next controls use fixed positioning on desktop so the scrollable modal cannot clip them.
   Direct Reports cards use a stable three-column layout so the View action stays aligned. */
@media(min-width:721px){
  .directory-modal .modal-nav{
    position:fixed;
    top:50%;
    transform:translateY(-50%);
    z-index:2147482300;
  }
  .directory-modal .modal-prev{
    left:max(18px,calc(50vw - 544px));
    right:auto;
  }
  .directory-modal .modal-next{
    right:max(18px,calc(50vw - 544px));
    left:auto;
  }
}
.directory-direct-reports-section .directory-related-card{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  align-items:center;
  column-gap:14px;
}
.directory-direct-reports-section .directory-related-card > div{
  min-width:0;
}
.directory-direct-reports-section .directory-related-card .org-card-more{
  margin-left:0;
  justify-self:end;
  align-self:center;
  white-space:nowrap;
  line-height:1;
  padding-left:8px;
}
.directory-direct-reports-section .directory-related-card small{
  display:block;
  line-height:1.25;
}

/* v94 directory and team polish */
.directory-org-chain{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0 10px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.035)}
.directory-org-chain>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#f6a33c;font-weight:800;margin-right:4px}
.directory-org-chain button{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#e9f2f7;border-radius:999px;padding:6px 10px;cursor:pointer;max-width:260px}
.directory-org-chain button:hover{border-color:rgba(245,130,32,.55);background:rgba(245,130,32,.10)}
.directory-org-chain .avatar{width:24px;height:24px;font-size:.65rem}.directory-org-chain b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.86rem}.directory-org-chain em{color:#6ec9ee;font-style:normal;font-weight:900}.team-chain{margin-bottom:18px}.team-grid .org-card-more,.directory-related-card .org-card-more{margin-left:auto;min-width:52px;text-align:right;align-self:center}.my-team-section .org-chart{margin-top:16px}

/* v95 org-chain and My Team avatar centering plus location privacy polish */
.org-card-button .org-avatar-wrap,
.directory-related-card .org-avatar-wrap,
.directory-manager-chip .org-avatar-wrap{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  overflow:hidden;
}
.org-card-button .org-avatar-wrap,
.org-card-button .org-avatar-wrap .avatar,
.org-card-button .org-avatar-wrap .avatar-initials{
  width:46px;
  height:46px;
  min-width:46px;
}
.org-avatar-wrap .avatar,
.org-avatar-wrap .avatar-initials{
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}
.directory-org-chain .org-avatar-wrap,
.directory-org-chain .org-avatar-wrap .avatar,
.directory-org-chain .org-avatar-wrap .avatar-initials{
  width:28px;
  height:28px;
  min-width:28px;
}
.directory-org-chain .org-avatar-wrap{
  flex:0 0 28px;
}
.directory-org-chain .avatar,
.directory-org-chain .avatar-initials{
  width:28px!important;
  height:28px!important;
  font-size:.65rem;
}
.directory-org-chain button{
  min-height:38px;
  padding:5px 11px 5px 7px;
}
.team-grid .org-card-button{
  min-height:74px;
}
.team-grid .org-card-button > div,
.directory-related-card > div{
  min-width:0;
}

/* v128: template-specific visual themes for white-label verticals. */
html[data-theme="healthcare"]{
  --bg:#eef8fb;--bg2:#dceff5;--panel:#ffffff;--panel2:#f4fbfd;--text:#102636;--muted:#4d6473;
  --border:rgba(36,92,116,.18);--brand:#0ea5b7;--brand2:#7dd3fc;--accent:#2563eb;--accent2:#bae6fd;
  --success:#0f766e;--shadow:0 24px 70px rgba(14,88,112,.14)
}
html[data-theme="professional"]{
  --bg:#f4f7fb;--bg2:#e7edf5;--panel:#ffffff;--panel2:#f6f8fb;--text:#142033;--muted:#56677d;
  --border:rgba(56,82,115,.18);--brand:#1d4ed8;--brand2:#64748b;--accent:#0f766e;--accent2:#bfdbfe;
  --success:#2563eb;--shadow:0 24px 70px rgba(15,23,42,.14)
}
html[data-theme="nonprofit"]{
  --bg:#f7f4ed;--bg2:#efe5d3;--panel:#fffaf1;--panel2:#f8eddc;--text:#2a2118;--muted:#6b5b4b;
  --border:rgba(130,92,48,.20);--brand:#2f9e75;--brand2:#d99b48;--accent:#0f766e;--accent2:#fde68a;
  --success:#15803d;--shadow:0 24px 70px rgba(92,64,33,.14)
}
html[data-theme="dental"]{
  --bg:#f6fbff;--bg2:#e5f4ff;--panel:#ffffff;--panel2:#f2f9ff;--text:#102132;--muted:#52697c;
  --border:rgba(46,115,160,.18);--brand:#38bdf8;--brand2:#93c5fd;--accent:#0ea5e9;--accent2:#dbeafe;
  --success:#0284c7;--shadow:0 24px 70px rgba(37,99,235,.12)
}
html[data-theme="legal"]{
  --bg:#090d16;--bg2:#141b2b;--panel:#101827;--panel2:#1d293b;--text:#f8fafc;--muted:#c6d1df;
  --border:rgba(226,190,118,.22);--brand:#d6a85d;--brand2:#f3d08a;--accent:#64748b;--accent2:#334155;
  --success:#facc15;--shadow:0 24px 70px rgba(2,6,23,.44)
}
html[data-theme="healthcare"] body,
html[data-theme="professional"] body,
html[data-theme="nonprofit"] body,
html[data-theme="dental"] body{background:linear-gradient(180deg,var(--bg),var(--bg2) 44%,var(--bg)) fixed;color:var(--text)}
html[data-theme="healthcare"] body:before,
html[data-theme="professional"] body:before,
html[data-theme="nonprofit"] body:before,
html[data-theme="dental"] body:before{background:radial-gradient(circle at 18% 6%,color-mix(in srgb,var(--brand) 20%,transparent),transparent 28rem),radial-gradient(circle at 88% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 32rem);opacity:.9}
html[data-theme="legal"] body{background:#090d16 radial-gradient(circle at 18% 0%,rgba(214,168,93,.16),transparent 25rem) fixed;color:var(--text)}
html[data-theme="legal"] body:before{background:linear-gradient(180deg,rgba(9,13,22,.22),rgba(9,13,22,.82) 66%,#090d16)}
html[data-theme="healthcare"] .site-header,
html[data-theme="professional"] .site-header,
html[data-theme="nonprofit"] .site-header,
html[data-theme="dental"] .site-header{background:rgba(255,255,255,.82);box-shadow:0 12px 34px rgba(15,23,42,.08)}
html[data-theme="healthcare"] .site-nav a.active,html[data-theme="healthcare"] .site-nav a:hover,
html[data-theme="professional"] .site-nav a.active,html[data-theme="professional"] .site-nav a:hover,
html[data-theme="nonprofit"] .site-nav a.active,html[data-theme="nonprofit"] .site-nav a:hover,
html[data-theme="dental"] .site-nav a.active,html[data-theme="dental"] .site-nav a:hover{background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--text)}
html[data-theme="healthcare"] .hero-card,html[data-theme="healthcare"] .panel,html[data-theme="healthcare"] .card,
html[data-theme="professional"] .hero-card,html[data-theme="professional"] .panel,html[data-theme="professional"] .card,
html[data-theme="nonprofit"] .hero-card,html[data-theme="nonprofit"] .panel,html[data-theme="nonprofit"] .card,
html[data-theme="dental"] .hero-card,html[data-theme="dental"] .panel,html[data-theme="dental"] .card{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.78));box-shadow:var(--shadow)}
html[data-theme="healthcare"] input,html[data-theme="healthcare"] textarea,html[data-theme="healthcare"] select,
html[data-theme="professional"] input,html[data-theme="professional"] textarea,html[data-theme="professional"] select,
html[data-theme="nonprofit"] input,html[data-theme="nonprofit"] textarea,html[data-theme="nonprofit"] select,
html[data-theme="dental"] input,html[data-theme="dental"] textarea,html[data-theme="dental"] select{background:rgba(255,255,255,.78);color:var(--text)}
html[data-theme="healthcare"] .eyebrow,
html[data-theme="professional"] .eyebrow,
html[data-theme="nonprofit"] .eyebrow,
html[data-theme="dental"] .eyebrow{background:color-mix(in srgb,var(--brand) 14%,white);border-color:color-mix(in srgb,var(--brand) 38%,transparent);color:color-mix(in srgb,var(--brand) 55%,#111827)}
html[data-theme="legal"] .site-header{background:rgba(9,13,22,.86);border-bottom-color:rgba(214,168,93,.20)}
html[data-theme="legal"] .hero-card,html[data-theme="legal"] .panel,html[data-theme="legal"] .card{background:linear-gradient(180deg,rgba(16,24,39,.90),rgba(10,15,25,.80));border-color:rgba(214,168,93,.22)}
html[data-theme="legal"] .eyebrow{border-color:rgba(214,168,93,.38);background:rgba(214,168,93,.10);color:#f3d08a}
html[data-theme="healthcare"] .metric strong,html[data-theme="professional"] .metric strong,html[data-theme="nonprofit"] .metric strong,html[data-theme="dental"] .metric strong,html[data-theme="legal"] .metric strong{color:var(--brand)}
html[data-theme="healthcare"] .site-footer,
html[data-theme="professional"] .site-footer,
html[data-theme="nonprofit"] .site-footer,
html[data-theme="dental"] .site-footer{background:rgba(255,255,255,.72)}


/* v206: theme-aware employee profile directory modal. */
.directory-modal{
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 98%,transparent),color-mix(in srgb,var(--panel2) 96%,transparent));
  border-color:var(--border);
  box-shadow:var(--shadow);
  color:var(--text);
}
.directory-modal .muted,.directory-modal small,.directory-modal-count{color:var(--muted)!important}
.directory-modal .info-grid div,.directory-related-card,.directory-org-chain,.org-card{background:color-mix(in srgb,var(--panel2) 74%,transparent);border-color:var(--border)}
.directory-modal .info-grid strong,.directory-related-section h3,.directory-link-button{color:var(--brand)}
.directory-modal .info-grid span,.directory-related-card strong{color:var(--text)}
.directory-avatar-button img,.directory-avatar-empty,.directory-modal .avatar,.directory-modal .avatar-initials{border-color:color-mix(in srgb,var(--brand) 62%,transparent)}
.directory-avatar-empty,.directory-modal .avatar-initials{background:color-mix(in srgb,var(--brand) 16%,var(--panel));color:var(--brand)}
.modal-close,.modal-nav{background:color-mix(in srgb,var(--panel2) 88%,transparent);color:var(--text);border-color:var(--border);box-shadow:var(--shadow)}
.modal-close:hover,.modal-nav:hover{background:color-mix(in srgb,var(--brand) 18%,var(--panel2));border-color:color-mix(in srgb,var(--brand) 60%,transparent)}
.directory-org-chain button{background:color-mix(in srgb,var(--panel2) 72%,transparent);border-color:var(--border);color:var(--text)}
html[data-theme="healthcare"] .modal-backdrop,html[data-theme="professional"] .modal-backdrop,html[data-theme="nonprofit"] .modal-backdrop,html[data-theme="dental"] .modal-backdrop{background:rgba(15,23,42,.44)}
html[data-theme="healthcare"] .directory-modal,html[data-theme="professional"] .directory-modal,html[data-theme="nonprofit"] .directory-modal,html[data-theme="dental"] .directory-modal{background:linear-gradient(145deg,rgba(255,255,255,.98),color-mix(in srgb,var(--panel2) 92%,white));color:var(--text)}
html[data-theme="healthcare"] .directory-modal .info-grid div,html[data-theme="professional"] .directory-modal .info-grid div,html[data-theme="nonprofit"] .directory-modal .info-grid div,html[data-theme="dental"] .directory-modal .info-grid div{background:rgba(255,255,255,.68)}
html[data-theme="legal"] .directory-modal{background:linear-gradient(145deg,#101827,#090d16);border-color:rgba(214,168,93,.24)}

/* v211 employee scheduling */
.schedule-portal-shell .section-head{align-items:center}.schedule-team-picker{border:1px solid var(--border);border-radius:18px;padding:14px;margin-bottom:16px;background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%)}.schedule-people-row{display:flex;gap:10px;flex-wrap:wrap}.schedule-person-card{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:999px;padding:8px 12px;background:var(--panel);color:var(--text);cursor:grab}.schedule-person-card small{color:var(--muted)}.avatar-mini{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:800}.portal-schedule-board{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:12px;overflow:auto}.portal-schedule-day{min-height:160px;border:1px solid var(--border);border-radius:18px;padding:12px;background:color-mix(in srgb,var(--panel) 94%,var(--accent) 6%)}.portal-schedule-day.drag-over{outline:3px solid var(--accent)}.portal-shift{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:10px;margin:8px 0;display:grid;gap:3px}.timeoff-panel{margin-top:16px}.compact-timeoff{max-width:720px}@media(max-width:1000px){.portal-schedule-board{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:640px){.portal-schedule-board{grid-template-columns:1fr}}

/* v212 schedule board polish */
.schedule-portal-shell .section-head{align-items:flex-start;gap:18px}.schedule-team-picker{border:1px solid var(--border);border-radius:22px;padding:16px;margin-bottom:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 94%,var(--accent) 6%),color-mix(in srgb,var(--panel) 98%,#fff 2%));box-shadow:0 18px 45px rgba(0,0,0,.12)}.schedule-team-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.schedule-team-head h3{margin:0}.schedule-people-row{display:flex;gap:10px;flex-wrap:wrap;max-height:210px;overflow:auto;padding:4px}.schedule-person-card{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:999px;padding:8px 12px;background:var(--panel);color:var(--text);cursor:grab;min-width:210px;box-shadow:0 8px 25px rgba(0,0,0,.08);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.schedule-person-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 75%,var(--border) 25%)}.schedule-person-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent),0 12px 30px rgba(0,0,0,.12)}.schedule-person-card span:not(.avatar-mini):not(.avatar-fallback):not(.avatar-photo-wrap){display:grid;text-align:left}.schedule-person-card small{color:var(--muted);font-size:.78rem}.avatar-mini,.shift-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:800;overflow:hidden;flex:0 0 auto}.avatar-mini img,.shift-avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar-mini .avatar-fallback,.shift-avatar .avatar-fallback{width:100%;height:100%;display:grid;place-items:center}.portal-schedule-board{display:grid;grid-template-columns:repeat(7,minmax(170px,1fr));gap:12px;overflow:auto;padding-bottom:8px}.portal-schedule-day{min-height:220px;border:1px solid var(--border);border-radius:20px;padding:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,var(--accent) 4%),var(--panel));box-shadow:0 14px 35px rgba(0,0,0,.08)}.portal-schedule-day.drag-over{outline:3px solid color-mix(in srgb,var(--accent) 72%,#fff 28%);background:color-mix(in srgb,var(--panel) 82%,var(--accent) 18%)}.schedule-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}.schedule-day-head h3{margin:0;font-size:1rem}.schedule-day-head span{font-size:.75rem;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:3px 8px;background:color-mix(in srgb,var(--panel) 88%,#fff 12%)}.schedule-shift-list{display:grid;gap:8px}.portal-shift{background:color-mix(in srgb,var(--panel) 96%,#fff 4%);border:1px solid var(--border);border-radius:16px;padding:9px;display:flex;align-items:center;gap:9px;margin:0;min-width:0}.portal-shift .shift-main{display:grid;gap:1px;min-width:0;flex:1}.portal-shift .shift-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-shift .shift-main span,.portal-shift .shift-main small{font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-shift .ghost-mini{width:26px;height:26px;border-radius:999px;padding:0;display:grid;place-items:center}.portal-schedule-day.is-crowded .schedule-shift-list{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.portal-schedule-day.is-crowded .portal-shift{width:auto;max-width:48px;padding:6px;border-radius:999px}.portal-schedule-day.is-crowded .portal-shift .shift-main{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.portal-schedule-day.is-crowded .portal-shift .ghost-mini{display:none}.portal-schedule-day.is-crowded .shift-avatar{width:34px;height:34px}.empty-shift-note{border:1px dashed var(--border);border-radius:14px;padding:14px;text-align:center}.schedule-dialog-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:grid;place-items:center;z-index:1000;padding:20px}.schedule-dialog{position:relative;width:min(620px,96vw);border:1px solid var(--border);border-radius:24px;padding:22px;background:var(--panel);color:var(--text);box-shadow:0 30px 80px rgba(0,0,0,.35)}.schedule-dialog h3{margin:.25rem 0}.schedule-dialog-employees{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.schedule-dialog-employees span{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:999px;padding:6px 10px;background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}@media(max-width:1100px){.portal-schedule-board{grid-template-columns:repeat(3,minmax(220px,1fr))}}@media(max-width:760px){.portal-schedule-board{grid-template-columns:1fr}.schedule-person-card{min-width:100%}.schedule-team-head{display:grid}}

/* v213 schedule workspace */
.schedule-landing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:16px 0 20px}.mini-timeoff{margin:14px 0;border:1px solid var(--border);border-radius:18px;padding:12px;background:color-mix(in srgb,var(--panel) 96%,var(--accent) 4%)}.mini-timeoff summary{cursor:pointer;font-weight:800}.schedule-my-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.schedule-my-grid>article{border:1px solid var(--border);border-radius:18px;padding:12px;background:var(--panel)}.schedule-workspace-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:1600;display:grid;place-items:center;padding:22px}.schedule-workspace{width:min(1500px,96vw);height:min(900px,92vh);display:flex;flex-direction:column;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:28px;box-shadow:0 35px 110px rgba(0,0,0,.42);overflow:hidden}.schedule-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 94%,var(--accent) 6%),var(--panel))}.schedule-workspace-head h2{margin:.15rem 0}.workspace-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.workspace-actions input{max-width:160px}.schedule-workspace-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:14px 24px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel) 96%,#fff 4%)}.schedule-workspace-tabs button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.schedule-workspace-tabs button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,var(--panel) 80%)}.schedule-workspace-tabs .pill{margin-left:6px;border:1px solid var(--border);border-radius:999px;padding:1px 7px;font-size:.75rem}.schedule-workspace-body{padding:20px 24px 24px;overflow:auto;flex:1}.schedule-pane{display:none}.schedule-pane.active{display:block}.workspace-board{grid-template-columns:repeat(7,minmax(190px,1fr));min-width:1260px}.schedule-workspace .portal-schedule-day{min-height:360px}.schedule-workspace .portal-schedule-day.is-crowded .schedule-shift-list{display:grid;grid-template-columns:1fr;gap:8px}.schedule-workspace .portal-schedule-day.is-crowded .portal-shift{width:auto;max-width:none;padding:8px 9px;border-radius:16px}.schedule-workspace .portal-schedule-day.is-crowded .portal-shift .shift-main{position:static;width:auto;height:auto;overflow:visible;clip:auto}.schedule-workspace .portal-schedule-day.is-crowded .portal-shift .ghost-mini{display:grid}.schedule-workspace .schedule-people-row{max-height:190px}.manager-timeoff-list{display:grid;gap:10px}.timeoff-review-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,1.2fr);gap:14px;border:1px solid var(--border);border-radius:18px;padding:14px;background:var(--panel)}.timeoff-review-card span,.timeoff-review-card small{display:block;color:var(--muted);margin-top:3px}.timeoff-review-actions{display:grid;grid-template-columns:150px 1fr auto;gap:8px;align-items:end}.timeoff-review-actions input,.timeoff-review-actions select{width:100%}@media(max-width:1000px){.schedule-workspace{height:94vh}.schedule-workspace-head{display:grid}.workspace-board{grid-template-columns:repeat(3,minmax(220px,1fr));min-width:0}.timeoff-review-card,.timeoff-review-actions{grid-template-columns:1fr}}@media(max-width:700px){.schedule-workspace-backdrop{padding:8px}.schedule-workspace{width:100vw;height:100vh;border-radius:0}.workspace-board{grid-template-columns:1fr}.schedule-workspace-head,.schedule-workspace-body,.schedule-workspace-tabs{padding-left:14px;padding-right:14px}}

/* v214 schedule readability and workspace polish */
.schedule-workspace{width:min(1760px,98vw);height:min(980px,95vh)}
.schedule-workspace-body{scroll-behavior:auto}
.schedule-workspace .workspace-board{grid-template-columns:repeat(7,minmax(230px,1fr));min-width:1540px}
.schedule-workspace .portal-schedule-day{min-height:410px;padding:14px}
.schedule-workspace .portal-shift{display:grid;grid-template-columns:38px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:10px 10px}
.schedule-workspace .portal-shift .shift-avatar{width:38px;height:38px}
.schedule-workspace .portal-shift .shift-main strong{font-size:.9rem;line-height:1.15;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.schedule-workspace .portal-shift .shift-main .shift-time{font-size:.86rem;line-height:1.2;color:color-mix(in srgb,var(--text) 82%,var(--muted) 18%);font-weight:800;letter-spacing:.01em;white-space:nowrap;overflow:visible;text-overflow:clip}
.schedule-workspace .portal-shift .shift-main small{font-size:.74rem;line-height:1.2}
.schedule-workspace .portal-schedule-day.is-crowded .schedule-shift-list{display:grid;grid-template-columns:1fr;gap:8px}
.schedule-workspace .portal-schedule-day.is-crowded .portal-shift{max-width:none;border-radius:16px}
.schedule-workspace .portal-schedule-day.is-crowded .portal-shift .shift-main{position:static;width:auto;height:auto;overflow:visible;clip:auto}
.schedule-workspace .portal-schedule-day.is-crowded .portal-shift .ghost-mini{display:grid}
.schedule-workspace .schedule-day-head span{white-space:nowrap}
.timeoff-review-card{align-items:start}
.timeoff-review-actions button{white-space:nowrap}
@media(max-width:1200px){.schedule-workspace .workspace-board{grid-template-columns:repeat(3,minmax(240px,1fr));min-width:0}}
@media(max-width:760px){.schedule-workspace .workspace-board{grid-template-columns:1fr}.schedule-workspace .portal-shift{grid-template-columns:34px minmax(0,1fr) 28px}}

/* v215 schedule workspace polish */
.schedule-workspace .portal-shift{
  grid-template-columns:38px minmax(0,1fr) !important;
  text-align:left;
  width:100%;
  color:var(--text);
  cursor:default;
}
.schedule-workspace .portal-shift.can-remove{cursor:pointer;}
.schedule-workspace .portal-shift.can-remove:hover,
.schedule-workspace .portal-shift.can-remove:focus-visible{
  border-color:color-mix(in srgb,var(--accent) 72%,var(--border) 28%);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);
  transform:translateY(-1px);
}
.schedule-workspace .portal-shift.can-remove.removing{opacity:.55;pointer-events:none;}
.schedule-workspace .portal-shift .shift-main .shift-time{white-space:normal;overflow:visible;}
.schedule-workspace .portal-schedule-day.is-crowded .portal-shift{grid-template-columns:34px minmax(0,1fr) !important;}
.timeoff-review-actions.expanded{grid-template-columns:130px 140px 140px 150px;align-items:end;}
.timeoff-review-actions.expanded label{display:block;font-size:.74rem;color:var(--muted);font-weight:800;margin:0 0 4px;}
.timeoff-review-actions.expanded .wide{grid-column:span 2;}
.timeoff-review-actions.expanded textarea{width:100%;resize:vertical;min-height:64px;}
.timeoff-review-actions.expanded button{align-self:end;}
@media(max-width:1000px){.timeoff-review-actions.expanded{grid-template-columns:1fr 1fr}.timeoff-review-actions.expanded .wide{grid-column:1/-1}}
@media(max-width:640px){.timeoff-review-actions.expanded{grid-template-columns:1fr}}


/* v216 schedule workspace readability and no-X shift removal */
.schedule-workspace .schedule-day-head{align-items:center;}
.schedule-workspace .schedule-day-head h3{font-size:.96rem;line-height:1.1;white-space:nowrap;letter-spacing:.01em;}
.schedule-workspace .portal-shift{appearance:none;border:1px solid var(--border);font:inherit;background:color-mix(in srgb,var(--panel) 96%,#fff 4%);}
.schedule-workspace .portal-shift.can-remove{cursor:pointer;}
.schedule-workspace .portal-shift.can-remove::after{content:'Remove';font-size:.64rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);opacity:0;transition:opacity .15s ease;}
.schedule-workspace .portal-shift.can-remove:hover::after,.schedule-workspace .portal-shift.can-remove:focus-visible::after{opacity:.8;}
.schedule-workspace .portal-shift .shift-main .shift-time{font-size:.84rem;white-space:normal;line-height:1.2;}
@media(max-width:1300px){.schedule-workspace .schedule-day-head h3{font-size:.88rem}.schedule-workspace .workspace-board{grid-template-columns:repeat(7,minmax(215px,1fr));min-width:1505px}}

/* v220 schedule tab simplification */
.schedule-landing .workspace-board{margin-top:12px}.schedule-workspace-tabs [data-schedule-view="mine"],.schedule-pane[data-schedule-pane="mine"]{display:none!important}

/* v221 profile schedule containment */
.schedule-landing .portal-schedule-board.workspace-board{
  width:100%;
  max-width:100%;
  min-width:0!important;
  overflow-x:auto;
  grid-template-columns:repeat(7,minmax(132px,1fr));
  padding-bottom:10px;
}
.schedule-landing .portal-schedule-day{
  min-width:132px;
  min-height:185px;
  padding:10px;
  border-radius:16px;
}
.schedule-landing .schedule-day-head{
  gap:6px;
  align-items:flex-start;
}
.schedule-landing .schedule-day-head h3{
  font-size:.88rem;
  line-height:1.12;
  white-space:normal;
}
.schedule-landing .schedule-day-head span{
  font-size:.7rem;
  padding:2px 6px;
  white-space:nowrap;
}
.schedule-landing .portal-shift{
  display:grid;
  grid-template-columns:30px minmax(0,1fr)!important;
  gap:7px;
  padding:7px;
  border-radius:12px;
  width:100%;
  min-width:0;
}
.schedule-landing .portal-shift .shift-avatar{
  width:30px;
  height:30px;
}
.schedule-landing .portal-shift .shift-main strong{
  font-size:.76rem;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.schedule-landing .portal-shift .shift-main .shift-time{
  font-size:.72rem;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.schedule-landing .portal-schedule-day.is-crowded .schedule-shift-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.schedule-landing .portal-schedule-day.is-crowded .portal-shift{
  width:auto;
  max-width:38px;
  padding:4px;
  border-radius:999px;
}
.schedule-landing .portal-schedule-day.is-crowded .portal-shift .shift-avatar{
  width:30px;
  height:30px;
}
.schedule-landing .portal-schedule-day.is-crowded .portal-shift .shift-main{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
}
@media(max-width:1100px){
  .schedule-landing .portal-schedule-board.workspace-board{grid-template-columns:repeat(7,minmax(145px,1fr));}
  .schedule-landing .portal-schedule-day{min-width:145px;}
}

/* v222: make the signed-in employee's own shifts stand out in shared schedule views. */
.portal-shift.is-my-shift{
  border-color: color-mix(in srgb, var(--success) 74%, var(--border) 26%);
  background: linear-gradient(135deg, color-mix(in srgb, var(--success) 22%, var(--panel) 78%), color-mix(in srgb, var(--panel) 92%, var(--success) 8%));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--success) 22%, transparent), 0 14px 34px rgba(24,163,74,.18);
}
.portal-shift.is-my-shift .shift-avatar{
  outline: 3px solid color-mix(in srgb, var(--success) 78%, #fff 22%);
  outline-offset: 2px;
}
.portal-shift.is-my-shift .shift-main strong::after{
  content: "You";
  display: inline-block;
  margin-left: 7px;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: .66rem;
  line-height: 1.25;
  letter-spacing: .02em;
  color: var(--surface-bg,#073b19);
  background: color-mix(in srgb, var(--success) 72%, #fff 28%);
  vertical-align: middle;
}
.schedule-landing .portal-shift.is-my-shift .shift-main strong::after{
  margin-left: 5px;
}


/* v224: mobile schedule flow polish */
.schedule-mobile-hint{display:none;color:var(--muted);font-size:.86rem;margin:8px 0 0}
@media (max-width: 820px){
  .schedule-landing .section-head.compact{display:grid;gap:12px;align-items:start}
  .schedule-landing .section-head.compact .btn{width:100%;justify-content:center}
  .schedule-landing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .schedule-landing-grid .portal-kpi{padding:12px;min-height:auto}
  .schedule-landing-grid .portal-kpi strong{font-size:1.25rem}
  .schedule-landing .portal-schedule-board.workspace-board,
  .schedule-landing .portal-schedule-board{
    display:flex;
    gap:10px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    padding:2px 2px 12px;
    -webkit-overflow-scrolling:touch;
  }
  .schedule-landing .portal-schedule-day{
    flex:0 0 min(78vw,260px);
    min-width:min(78vw,260px);
    min-height:180px;
    scroll-snap-align:start;
    padding:10px;
  }
  .schedule-landing .schedule-day-head h3{font-size:.95rem;line-height:1.1}
  .schedule-landing .portal-shift{padding:8px;gap:8px;border-radius:14px}
  .schedule-landing .shift-avatar{width:30px;height:30px}
  .schedule-landing .portal-shift .shift-main strong{font-size:.84rem}
  .schedule-landing .portal-shift .shift-main .shift-time{font-size:.76rem;white-space:nowrap}
  .mini-timeoff{padding:10px;border-radius:16px}
}
@media (max-width: 700px){
  body.schedule-workspace-open{overflow:hidden}
  .schedule-workspace-backdrop{padding:0;align-items:stretch;place-items:stretch;background:rgba(0,0,0,.68)}
  .schedule-workspace{
    width:100vw;
    height:100dvh;
    max-height:100dvh;
    border-radius:0;
    border-left:0;
    border-right:0;
  }
  .schedule-workspace-head{
    display:grid;
    gap:12px;
    padding:14px 14px 12px;
  }
  .schedule-workspace-head .eyebrow{font-size:.72rem;padding:6px 10px;width:max-content}
  .schedule-workspace-head h2{font-size:1.35rem;line-height:1.1}
  .schedule-workspace-head p{font-size:.92rem;margin:.35rem 0 0}
  .workspace-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
  .workspace-actions input{max-width:none;width:100%;grid-column:1 / -1;text-align:center}
  .workspace-actions .btn{padding:10px 12px;width:100%}
  .schedule-workspace-tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:8px;
    padding:10px 12px;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
  }
  .schedule-workspace-tabs button{
    flex:0 0 auto;
    scroll-snap-align:start;
    padding:9px 12px;
    font-size:.86rem;
  }
  .schedule-workspace-tabs .pill{font-size:.7rem;padding:1px 6px}
  .schedule-workspace-body{padding:14px 12px 18px}
  .schedule-pane > h3{font-size:1.12rem;margin-top:0}
  .schedule-pane > p.muted{font-size:.9rem;line-height:1.35}
  .schedule-mobile-hint{display:block}
  .schedule-workspace .portal-schedule-board.workspace-board,
  .schedule-workspace .portal-schedule-board{
    display:grid;
    grid-template-columns:1fr;
    min-width:0;
    gap:12px;
    overflow:visible;
    padding-bottom:12px;
  }
  .schedule-workspace .portal-schedule-day{
    min-height:auto;
    padding:12px;
    border-radius:18px;
  }
  .schedule-workspace .schedule-day-head{align-items:center;margin-bottom:10px}
  .schedule-workspace .schedule-day-head h3{font-size:1rem;line-height:1.1}
  .schedule-workspace .schedule-day-head span{font-size:.72rem;padding:4px 8px}
  .schedule-workspace .empty-shift-note{padding:12px;font-size:.92rem}
  .schedule-workspace .portal-shift,
  .schedule-workspace .portal-schedule-day.is-crowded .portal-shift{
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    gap:9px;
    padding:9px;
    border-radius:15px;
  }
  .schedule-workspace .portal-shift .shift-avatar,
  .schedule-workspace .portal-schedule-day.is-crowded .shift-avatar{width:36px;height:36px}
  .schedule-workspace .portal-shift .shift-main strong{font-size:.9rem}
  .schedule-workspace .portal-shift .shift-main .shift-time{font-size:.84rem;white-space:normal;line-height:1.2}
  .schedule-workspace .portal-shift .ghost-mini{display:none!important}
  .schedule-team-picker{padding:12px;border-radius:18px;margin-bottom:12px}
  .schedule-team-head{display:grid;gap:8px}
  .schedule-people-row{max-height:38vh;display:grid;grid-template-columns:1fr;gap:8px;overflow:auto;padding:2px}
  .schedule-person-card{min-width:0;width:100%;border-radius:16px;padding:9px 10px;touch-action:manipulation}
  .schedule-person-card small{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .schedule-dialog-backdrop{z-index:1800;align-items:end;place-items:end center;padding:0;background:rgba(0,0,0,.58)}
  .schedule-dialog{
    width:100vw;
    max-height:92dvh;
    overflow:auto;
    border-radius:24px 24px 0 0;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px));
    border-left:0;
    border-right:0;
    border-bottom:0;
  }
  .schedule-dialog .form-grid{grid-template-columns:1fr!important}
  .dialog-actions{position:sticky;bottom:0;background:linear-gradient(180deg,transparent,var(--panel) 18%);padding-top:12px;display:grid;grid-template-columns:1fr 1fr}
.dialog-actions .btn{width:100%}
  .timeoff-review-card{grid-template-columns:1fr;padding:12px;border-radius:16px}
  .timeoff-review-actions{grid-template-columns:1fr;gap:8px}
}
@media (max-width: 460px){
  .schedule-landing-grid{grid-template-columns:1fr 1fr}
  .schedule-landing-grid .portal-kpi span{font-size:.82rem}
  .schedule-landing .portal-schedule-day{flex-basis:84vw;min-width:84vw}
  .workspace-actions{grid-template-columns:1fr}
  .workspace-actions input{grid-column:auto}
  .schedule-workspace-tabs button{font-size:.82rem;padding:8px 10px}
}

/* v225 time-off workflow repair */
.portal-shift.timeoff-shift{
  border-color:rgba(220,38,38,.45);
  background:linear-gradient(135deg,rgba(220,38,38,.18),rgba(127,29,29,.08));
  box-shadow:0 12px 30px rgba(127,29,29,.16);
}
.portal-shift.timeoff-shift .shift-time{color:#b91c1c;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.portal-shift.timeoff-shift .timeoff-avatar,.portal-shift.timeoff-shift .avatar-fallback{background:#dc2626;color:#fff;border-color:rgba(255,255,255,.7)}
.portal-shift.timeoff-shift.is-my-shift{outline:3px solid rgba(34,197,94,.45);outline-offset:2px}

/* v332: keep the public admin entry visually distinct across uploaded/light themes. */
.header-actions .btn.admin-btn,
html[data-theme] .header-actions .btn.admin-btn{
  background:linear-gradient(135deg,#b91c1c,#ef4444)!important;
  color:#fff!important;
  border:1px solid rgba(254,202,202,.45)!important;
  box-shadow:0 12px 34px rgba(185,28,28,.34)!important;
}
.header-actions .btn.admin-btn:hover{filter:brightness(1.08)}

/* v229: two-week profile schedule navigation. */
.schedule-profile-head{align-items:flex-start;gap:18px;}
.profile-schedule-controls{display:flex;align-items:end;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.profile-schedule-controls label{display:grid;gap:4px;font-size:.78rem;font-weight:800;color:var(--muted);}
.profile-schedule-controls input{min-width:155px;}
.schedule-landing .portal-schedule-board.workspace-board{grid-template-columns:repeat(7,minmax(132px,1fr));}
@media(max-width:1100px){.profile-schedule-controls{justify-content:flex-start}.schedule-landing .portal-schedule-board.workspace-board{grid-template-columns:repeat(2,minmax(220px,1fr));}.schedule-landing .portal-schedule-day{min-width:0;}}
@media(max-width:640px){.profile-schedule-controls{display:grid;grid-template-columns:1fr;width:100%;}.profile-schedule-controls .btn,.profile-schedule-controls input{width:100%;}.schedule-landing .portal-schedule-board.workspace-board{grid-template-columns:1fr;}}

/* v230: compact manager time-off request review cards */
.compact-timeoff-list{gap:8px}
.timeoff-review-card.timeoff-review-card-compact{grid-template-columns:minmax(260px,.85fr) minmax(520px,1.6fr);gap:12px;align-items:center;padding:12px 14px;border-radius:16px}
.timeoff-review-card-compact .timeoff-review-summary strong{display:block;font-size:1rem;line-height:1.2}
.timeoff-review-card-compact .timeoff-review-summary span{font-size:.92rem;margin-top:4px}
.timeoff-review-card-compact .timeoff-review-summary small{font-size:.82rem;margin-top:6px;line-height:1.35;max-width:760px}
.timeoff-review-actions.compact{display:grid;grid-template-columns:128px 136px 136px 142px minmax(180px,1fr) auto;gap:8px;align-items:end}
.timeoff-review-actions.compact label{display:block;font-size:.72rem;color:var(--muted);font-weight:800;margin:0 0 4px;line-height:1.1}
.timeoff-review-actions.compact input,.timeoff-review-actions.compact select{min-height:40px;width:100%}
.timeoff-review-actions.compact .manager-note-field input{min-width:0}
.timeoff-review-actions.compact button{min-height:40px;white-space:nowrap;padding:0 16px;align-self:end}
@media(max-width:1200px){.timeoff-review-card.timeoff-review-card-compact{grid-template-columns:1fr}.timeoff-review-actions.compact{grid-template-columns:repeat(4,minmax(120px,1fr))}.timeoff-review-actions.compact .manager-note-field{grid-column:span 3}.timeoff-review-actions.compact button{width:100%}}
@media(max-width:720px){.timeoff-review-actions.compact{grid-template-columns:1fr 1fr}.timeoff-review-actions.compact .manager-note-field{grid-column:1/-1}.timeoff-review-actions.compact button{grid-column:1/-1}}

/* v231 client ownership portal cards */
.portal-client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:14px}
.portal-client-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;border:1px solid var(--border);border-radius:18px;background:var(--panel);padding:14px;box-shadow:var(--shadow-soft)}
.portal-client-card .client-avatar{width:46px;height:46px;border-radius:999px;background:var(--accent);color:var(--accent-contrast,#fff);display:grid;place-items:center;font-weight:900}
.portal-client-title{display:flex;align-items:center;gap:8px;justify-content:space-between;min-width:0}
.portal-client-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.client-state-badge{display:inline-flex;align-items:center;width:max-content;padding:.16rem .5rem;border-radius:999px;font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;flex:0 0 auto}
.client-state-badge.active{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}
.client-state-badge.disabled{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}
.portal-client-meta{display:flex;flex-wrap:wrap;gap:8px;margin:.45rem 0}
.portal-client-meta a{font-size:.82rem;font-weight:800;border:1px solid var(--border);border-radius:999px;padding:5px 10px;text-decoration:none;color:var(--text)}
.portal-client-card .customer-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.portal-client-card .customer-tags em{font-style:normal;font-size:.72rem;border:1px solid var(--border);border-radius:999px;padding:3px 8px;color:var(--muted)}
@media(max-width:640px){.portal-client-grid{grid-template-columns:1fr}.portal-client-card{grid-template-columns:1fr}.portal-client-card .client-avatar{width:42px;height:42px}.portal-client-title{align-items:flex-start;flex-direction:column}}

/* v232 profile client popup */
.portal-client-card-button{width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}
.portal-client-card-button:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 14px 30px rgba(0,0,0,.16)}
.portal-client-card-button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:3px}
.profile-client-owner-line{margin:.35rem 0 .15rem}
.profile-client-owner-line .org-avatar-wrap,.profile-client-owner-line .avatar{width:28px;height:28px;font-size:.72rem}
.profile-client-modal .client-state-badge{margin:.25rem .5rem .25rem 0}
.profile-client-modal .customer-modal-tags{margin-top:.55rem}
.portal-client-meta .org-card-more{font-size:.82rem;font-weight:900;border:1px solid var(--border);border-radius:999px;padding:5px 10px;text-decoration:none;color:var(--text);background:rgba(255,255,255,.04)}
@media(max-width:640px){.portal-client-card-button{display:grid}.profile-client-modal .directory-modal-head{align-items:flex-start}}

/* v235 manager client visibility */
.client-ownership-summary{margin:0 0 1rem}
.client-scope-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .55rem;font-size:.74rem;font-weight:800;background:rgba(59,130,246,.15);color:#93c5fd;border:1px solid rgba(147,197,253,.3)}
.client-scope-badge.self{background:rgba(16,185,129,.15);color:#86efac;border-color:rgba(134,239,172,.3)}
.portal-client-title{gap:.45rem;flex-wrap:wrap}

.profile-client-modal-actions{margin-top:.75rem;gap:.5rem;flex-wrap:wrap}
.profile-client-edit-form{margin-top:1rem;padding:1rem;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:rgba(15,23,42,.62)}
.profile-client-edit-form h3{margin-top:0}
.profile-client-edit-form .actions{margin-top:.85rem;gap:.5rem;flex-wrap:wrap}
.client-scope-badge.edit{background:rgba(34,197,94,.16);color:#bbf7d0;border-color:rgba(34,197,94,.38)}
@media(max-width:640px){.profile-client-edit-form{padding:.85rem}.profile-client-edit-form .form-row{grid-template-columns:1fr}}


/* v243 profile client save notification */
.portal-toast{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:5000;
  max-width:min(420px,calc(100vw - 36px));
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.12);
  background:#ffffff;
  color:#172433;
  box-shadow:0 18px 44px rgba(15,23,42,.22);
  font-weight:800;
  opacity:1;
  transform:translateY(0);
  transition:opacity .2s ease, transform .2s ease;
}
.portal-toast.ok{border-color:rgba(4,120,87,.28);}
.portal-toast.err{border-color:rgba(180,35,24,.32);color:#991b1b;}
.portal-toast.hide{opacity:0;transform:translateY(10px);pointer-events:none;}


/* v255 contrast guard: keep text readable across all snapshot themes. */
:root{
  --surface-bg:var(--panel,#091721);
  --surface-bg-2:var(--panel2,#0e2230);
  --surface-text:var(--text,#f3f8fb);
  --surface-muted:var(--muted,#cbd5e1);
  --field-bg:rgba(0,0,0,.24);
  --field-text:var(--text,#f3f8fb);
  --field-muted:var(--muted,#cbd5e1);
  --field-border:var(--border,rgba(144,188,214,.20));
}
html[data-theme="healthcare"],
html[data-theme="professional"],
html[data-theme="nonprofit"],
html[data-theme="dental"]{
  --surface-bg:#ffffff;
  --surface-bg-2:#f8fafc;
  --surface-text:#0f172a;
  --surface-muted:#475569;
  --field-bg:#ffffff;
  --field-text:#0f172a;
  --field-muted:#64748b;
  --field-border:#cbd5e1;
}
html[data-theme="cyber-security-dark"],
html[data-theme="ember"],
html[data-theme="blue-silver"],
html[data-theme="forest"],
html[data-theme="plum"],
html[data-theme="legal"]{
  --surface-text:#f8fafc;
  --surface-muted:#cbd5e1;
  --field-bg:rgba(2,6,23,.46);
  --field-text:#f8fafc;
  --field-muted:#cbd5e1;
}
body{color:var(--text,#f8fafc)}
.panel,.card,.hero-card,.employee-hub,.employee-hub .panel,.portal-action,.ticket-row,.handbook-body article,.profile-photo-panel,.leader-card,.contact-cards div,.info-grid div,.org-card,.timeline div,.legal-card,.notice,.table-wrap,.schedule-workspace,.directory-modal,.directory-related-card,.directory-org-chain{
  color:var(--surface-text);
}
.panel p,.card p,.hero p,.muted,.brand small,.site-nav a,.pill,.contact-cards span,.org-card small,.portal-action span,.ticket-row small,.handbook-body article p,.directory-modal .muted,.directory-modal small,.info-grid span,.notice,.page-content p,.page-content li{
  color:var(--surface-muted);
}
.panel h1,.panel h2,.panel h3,.card h1,.card h2,.card h3,.hero-card h1,.hero-card h2,.hero-card h3,.employee-hub h1,.employee-hub h2,.employee-hub h3,.portal-action b,.ticket-row strong,.handbook-body article h1,.handbook-body article h2,.handbook-body article h3,.directory-modal h2,.directory-modal h3,.directory-modal strong,.info-grid a{
  color:var(--surface-text);
}
html[data-theme="healthcare"] .hero-card,
html[data-theme="healthcare"] .panel,
html[data-theme="healthcare"] .card,
html[data-theme="professional"] .hero-card,
html[data-theme="professional"] .panel,
html[data-theme="professional"] .card,
html[data-theme="nonprofit"] .hero-card,
html[data-theme="nonprofit"] .panel,
html[data-theme="nonprofit"] .card,
html[data-theme="dental"] .hero-card,
html[data-theme="dental"] .panel,
html[data-theme="dental"] .card,
html[data-theme="healthcare"] .employee-hub,
html[data-theme="professional"] .employee-hub,
html[data-theme="nonprofit"] .employee-hub,
html[data-theme="dental"] .employee-hub,
html[data-theme="healthcare"] .portal-action,
html[data-theme="professional"] .portal-action,
html[data-theme="nonprofit"] .portal-action,
html[data-theme="dental"] .portal-action{
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(248,250,252,.90));
  border-color:rgba(15,23,42,.12);
}
input,select,textarea{
  background:var(--field-bg)!important;
  color:var(--field-text)!important;
  border-color:var(--field-border)!important;
}
input::placeholder,textarea::placeholder{color:var(--field-muted)!important;opacity:1!important}
select option{background:var(--field-bg);color:var(--field-text)}
.btn.ghost,button.ghost{color:var(--surface-text);border-color:var(--field-border)}
html[data-theme="healthcare"] .btn.ghost,
html[data-theme="professional"] .btn.ghost,
html[data-theme="nonprofit"] .btn.ghost,
html[data-theme="dental"] .btn.ghost,
html[data-theme="healthcare"] button.ghost,
html[data-theme="professional"] button.ghost,
html[data-theme="nonprofit"] button.ghost,
html[data-theme="dental"] button.ghost{background:rgba(255,255,255,.72);color:#0f172a}

/* v263: schedule contrast guard for light and dark active themes. */
.portal-schedule-day,
.schedule-workspace .portal-schedule-day,
.schedule-landing .portal-schedule-day,
.portal-shift,
.schedule-workspace .portal-shift,
.schedule-landing .portal-shift,
.schedule-shift-card,
.empty-shift-note,
.schedule-day-head,
.schedule-team-picker,
.schedule-person-card,
.timeoff-review-card,
.mini-timeoff{
  color:var(--surface-text)!important;
}
.portal-shift .shift-main strong,
.schedule-workspace .portal-shift .shift-main strong,
.schedule-landing .portal-shift .shift-main strong,
.schedule-day-head h3,
.schedule-person-card strong,
.timeoff-review-summary strong{
  color:var(--surface-text)!important;
}
.portal-shift .shift-main span:not(.shift-time),
.portal-shift .shift-main small,
.schedule-workspace .portal-shift .shift-main span:not(.shift-time),
.schedule-workspace .portal-shift .shift-main small,
.schedule-landing .portal-shift .shift-main span:not(.shift-time),
.schedule-landing .portal-shift .shift-main small,
.schedule-day-head span,
.schedule-person-card small,
.empty-shift-note,
.timeoff-review-card span,
.timeoff-review-card small{
  color:var(--surface-muted)!important;
}
.portal-shift .shift-main .shift-time,
.schedule-workspace .portal-shift .shift-main .shift-time,
.schedule-landing .portal-shift .shift-main .shift-time{
  color:var(--surface-text)!important;
  font-weight:900;
}
.portal-shift.timeoff-shift .shift-main .shift-time,
.schedule-workspace .portal-shift.timeoff-shift .shift-main .shift-time,
.schedule-landing .portal-shift.timeoff-shift .shift-main .shift-time{
  color:#fecaca!important;
}

/* v343: keep profile directory surfaces and avatar fallbacks theme driven. */
.avatar-photo-wrap,
.org-avatar-wrap{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
}
.avatar-initials,
.profile-avatar.avatar-initials,
.leader-avatar.fallback,
.avatar-mini .avatar-fallback,
.shift-avatar .avatar-fallback{
  display:grid;
  place-items:center;
  text-align:center;
  font-weight:900;
  letter-spacing:.02em;
  background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 22%,var(--panel) 78%),color-mix(in srgb,var(--accent) 18%,var(--panel2) 82%));
  color:var(--surface-text,var(--text));
  border-color:color-mix(in srgb,var(--brand) 62%,var(--border) 38%)!important;
}
.profile-avatar.avatar-initials{font-size:1.55rem}
.profile-avatar.large.avatar-initials{font-size:2rem}
.directory-modal,
.directory-modal .info-grid div,
.directory-related-card,
.directory-org-chain,
.directory-org-chain button,
.directory-manager-chip,
.org-card,
.org-card-button{
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface-bg) 94%,var(--accent) 6%),color-mix(in srgb,var(--surface-bg-2) 96%,transparent));
  border-color:var(--border)!important;
  color:var(--surface-text)!important;
}
.directory-manager-chip,
.directory-org-chain button,
.org-card-button{
  box-shadow:none;
}
.directory-manager-chip:hover,
.directory-org-chain button:hover,
.org-card-button:hover{
  border-color:color-mix(in srgb,var(--brand) 58%,var(--border) 42%)!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface-bg) 86%,var(--brand) 14%),color-mix(in srgb,var(--surface-bg-2) 94%,transparent));
}
.directory-org-chain>span,
.directory-modal .info-grid strong,
.directory-related-section h3,
.directory-link-button,
.org-card-more{
  color:var(--brand)!important;
}
.directory-modal .eyebrow{
  border-color:color-mix(in srgb,var(--brand) 42%,var(--border) 58%);
  background:color-mix(in srgb,var(--brand) 12%,transparent);
  color:var(--brand);
}

/* v344: protect app/profile controls from broad public theme button/card rules. */
body[data-panopt-route="profile"] .portal-tabs button,
body[data-panopt-route="profile"] .portal-action,
body[data-panopt-route="profile"] .portal-kpi,
body[data-panopt-route="profile"] .profile-photo-panel,
body[data-panopt-route="profile"] .org-card,
body[data-panopt-route="profile"] .org-card-button,
body[data-panopt-route="profile"] .directory-manager-chip,
body[data-panopt-route="profile"] .directory-org-chain,
body[data-panopt-route="profile"] .directory-org-chain button,
body[data-panopt-route="profile"] .directory-modal,
body[data-panopt-route="profile"] .directory-modal .info-grid div,
body[data-panopt-route="profile"] .directory-related-card,
body[data-panopt-route="profile"] .schedule-workspace,
body[data-panopt-route="profile"] .portal-schedule-day,
body[data-panopt-route="profile"] .portal-shift,
body[data-panopt-route="profile"] .schedule-person-card,
body[data-panopt-route="profile"] .timeoff-review-card,
body[data-panopt-route="profile"] .mini-timeoff{
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface-bg) 94%,var(--accent) 6%),color-mix(in srgb,var(--surface-bg-2) 96%,transparent))!important;
  border-color:var(--border)!important;
  color:var(--surface-text)!important;
  box-shadow:none;
}
body[data-panopt-route="profile"] .portal-tabs button.active,
body[data-panopt-route="profile"] .portal-action:hover,
body[data-panopt-route="profile"] .portal-action:focus-visible,
body[data-panopt-route="profile"] .org-card-button:hover,
body[data-panopt-route="profile"] .org-card-button:focus-visible,
body[data-panopt-route="profile"] .directory-manager-chip:hover,
body[data-panopt-route="profile"] .directory-org-chain button:hover{
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface-bg) 86%,var(--brand) 14%),color-mix(in srgb,var(--surface-bg-2) 94%,transparent))!important;
  border-color:color-mix(in srgb,var(--brand) 58%,var(--border) 42%)!important;
  color:var(--surface-text)!important;
}
body[data-panopt-route="profile"] .portal-tabs button.active{
  box-shadow:inset 0 -3px 0 color-mix(in srgb,var(--brand) 82%,transparent);
}
body[data-panopt-route="profile"] .portal-action b,
body[data-panopt-route="profile"] .portal-kpi strong,
body[data-panopt-route="profile"] .org-card strong,
body[data-panopt-route="profile"] .directory-modal strong,
body[data-panopt-route="profile"] .directory-modal h2,
body[data-panopt-route="profile"] .directory-modal h3{
  color:var(--surface-text)!important;
}
body[data-panopt-route="profile"] .portal-action span,
body[data-panopt-route="profile"] .portal-kpi span,
body[data-panopt-route="profile"] .portal-kpi small,
body[data-panopt-route="profile"] .org-card small,
body[data-panopt-route="profile"] .directory-modal .muted,
body[data-panopt-route="profile"] .directory-modal small,
body[data-panopt-route="profile"] .directory-modal .info-grid span{
  color:var(--surface-muted)!important;
}
body[data-panopt-route="profile"] .org-card-more,
body[data-panopt-route="profile"] .directory-modal .eyebrow,
body[data-panopt-route="profile"] .directory-modal .info-grid strong{
  color:var(--brand)!important;
}
body[data-panopt-route="profile"] .portal-shift:not(.timeoff-shift){
  border-color:color-mix(in srgb,var(--success,#22c55e) 70%,var(--border) 30%)!important;
  box-shadow:inset 4px 0 0 color-mix(in srgb,var(--success,#22c55e) 86%,white 14%),0 0 0 1px color-mix(in srgb,var(--success,#22c55e) 24%,transparent)!important;
}
body[data-panopt-route="profile"] .portal-shift:not(.timeoff-shift) .shift-time{
  color:color-mix(in srgb,var(--success,#22c55e) 74%,var(--surface-text) 26%)!important;
}
body[data-panopt-route="profile"] .portal-shift.timeoff-shift,
body[data-panopt-route="profile"] .timeoff-review-card,
body[data-panopt-route="profile"] .mini-timeoff{
  border-color:color-mix(in srgb,var(--danger,#ef4444) 70%,var(--border) 30%)!important;
  box-shadow:inset 4px 0 0 color-mix(in srgb,var(--danger,#ef4444) 86%,white 14%),0 0 0 1px color-mix(in srgb,var(--danger,#ef4444) 24%,transparent)!important;
}
body[data-panopt-route="profile"] .portal-shift.timeoff-shift .shift-time{
  color:var(--danger,#ef4444)!important;
}
html[data-theme="healthcare"] .portal-shift.timeoff-shift .shift-main .shift-time,
html[data-theme="professional"] .portal-shift.timeoff-shift .shift-main .shift-time,
html[data-theme="nonprofit"] .portal-shift.timeoff-shift .shift-main .shift-time,
html[data-theme="dental"] .portal-shift.timeoff-shift .shift-main .shift-time{
  color:#991b1b!important;
}

.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:12px 0}.cert-info-card{border:1px solid var(--border);border-radius:14px;padding:12px;background:rgba(255,255,255,.04);display:grid;gap:8px;min-width:0}.cert-info-card.empty{opacity:.78}.cert-info-card.expired{border-color:var(--danger);background:rgba(255,80,80,.08)}.cert-info-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.cert-info-card div:not(.cert-info-head){display:grid;gap:2px}.cert-info-card span{word-break:break-word;color:var(--muted);font-size:.88rem}.cert-upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:14px}.cert-upload-form{border:1px dashed var(--border);border-radius:14px;padding:12px;background:rgba(255,255,255,.03);display:grid;gap:10px}.cert-upload-form h3{margin:0;font-size:1rem}.ldaps-cert-manager{margin-top:14px;border-top:1px solid var(--border);padding-top:14px}.small{padding:.35rem .6rem;font-size:.82rem}

.ticket-workspace-backdrop{position:fixed;inset:0;z-index:1700;background:rgba(0,0,0,.68);display:grid;place-items:center;padding:18px}
.ticket-workspace-shell{width:min(1500px,97vw);height:min(900px,94vh);display:flex;flex-direction:column;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:26px;box-shadow:0 35px 110px rgba(0,0,0,.45);overflow:hidden}
.ticket-workspace-shell.compact-dialog{height:auto;max-width:680px;padding:22px;display:block}
.ticket-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 94%,var(--accent) 6%),var(--panel));position:relative}
.ticket-workspace-head h2{margin:.15rem 0}
.ticket-workspace-head .modal-close{position:static;min-width:42px;height:42px}
.ticket-desk-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ticket-desk-filters button{box-shadow:none;border:1px solid var(--border);background:var(--panel);color:var(--text);padding:8px 11px;border-radius:999px}
.ticket-desk-filters button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--panel) 82%)}
.ticket-desk-filters span{margin-left:4px;color:var(--muted)}
.ticket-workspace-body{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(420px,1.28fr);gap:12px;padding:12px;overflow:hidden;flex:1}
.ticket-desk-list{border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--panel) 96%,#fff 4%);padding:10px;overflow:hidden;display:flex;flex-direction:column;min-height:0}
.ticket-desk-list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ticket-search{margin:0 0 8px;min-height:38px;padding:8px 11px}
.ticket-desk-scroll{overflow:auto;min-height:0}
.ticket-desk-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:auto}
.ticket-desk-board section{border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--panel) 96%,#fff 4%);padding:10px;min-width:0;overflow:auto}
.ticket-desk-board h3{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;font-size:1rem}
.ticket-desk-board h3 span{font-size:.78rem;border:1px solid var(--border);border-radius:999px;padding:2px 7px;color:var(--muted)}
.ticket-desk-card{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;width:100%;gap:9px;text-align:left;margin:0 0 8px;padding:10px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:14px;background:var(--panel);color:var(--text);box-shadow:none}
.ticket-desk-card:hover,.ticket-desk-card.active{border-color:color-mix(in srgb,var(--accent) 68%,var(--border) 32%)}
.ticket-desk-card.status-open{border-left-color:var(--success,#22c55e)}
.ticket-desk-card.status-pending{border-left-color:#f59e0b}
.ticket-desk-card.status-closed,.ticket-desk-card.status-resolved,.ticket-desk-card.status-cancelled{border-left-color:var(--danger,#ef4444)}
.ticket-owner-avatar,.ticket-card-avatar{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;overflow:hidden;background:var(--accent);color:#111;font-size:.75rem;font-weight:900}
.ticket-owner-avatar img,.ticket-card-avatar img{width:100%;height:100%;object-fit:cover}
.ticket-card-avatar.requester{background:color-mix(in srgb,var(--accent) 78%,#fff 22%)}
.ticket-card-avatar.assignee{justify-self:end;background:#1f8bc3;color:#fff}
.ticket-card-avatar.assignee.unassigned{background:transparent;border:1px dashed var(--border);color:var(--muted)}
.ticket-card-copy{display:grid;gap:2px;min-width:0}
.ticket-card-copy em{font-style:normal}
.ticket-desk-card span,.ticket-desk-card small,.ticket-card-copy em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ticket-desk-card small{color:var(--muted);font-size:.78rem}
.ticket-desk-editor{border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--panel) 96%,#fff 4%);padding:12px;overflow:auto}
.ticket-desk-form{display:grid;gap:10px}
.compact-ticket-form label{margin:0}
.compact-ticket-form textarea{min-height:82px}
.ticket-editor-title{display:grid;gap:2px}
.ticket-editor-title strong{font-size:1.2rem;color:var(--accent)}
.ticket-reservation{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:12px;padding:8px 10px;margin-bottom:10px;background:color-mix(in srgb,var(--accent) 8%,transparent)}
.ticket-reservation span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.ticket-reservation strong{font-size:1.05rem;color:var(--accent);margin-right:auto}
.ticket-opened-by-field{display:grid;gap:5px;margin-bottom:10px}
.ticket-editor-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ticket-editor-people label,.ticket-opened-by-field label{display:block;margin:0 0 4px;color:var(--muted);font-size:.76rem;font-weight:800}
.ticket-person-chip{display:flex;align-items:center;gap:8px;width:100%;min-width:0;border:1px solid var(--border);border-radius:12px;padding:7px 9px;background:rgba(255,255,255,.035);color:var(--text);text-align:left;box-shadow:none;text-decoration:none}
button.ticket-person-chip{cursor:pointer}
button.ticket-person-chip:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.ticket-person-chip .avatar,.ticket-person-chip .avatar-photo-wrap{width:32px;height:32px;flex:0 0 32px}
.ticket-person-chip span:last-child{display:grid;min-width:0}
.ticket-person-chip b,.ticket-person-chip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ticket-person-chip small{color:var(--muted);font-size:.76rem}
.ticket-client-card{display:flex;align-items:center;gap:9px;width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:12px;padding:8px 10px;background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--text);text-align:left;box-shadow:none;text-decoration:none;cursor:pointer}
.ticket-client-card:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}
.ticket-client-card .client-avatar,.ticket-client-card .avatar{width:34px;height:34px;flex:0 0 34px;border-radius:999px;object-fit:cover}
.ticket-client-card span:last-child{display:grid;min-width:0}
.ticket-client-card b,.ticket-client-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ticket-client-card small{color:var(--muted);font-size:.76rem}
.ticket-editor-meta{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px}
.ticket-editor-meta span{border:1px solid var(--border);border-radius:8px;padding:4px 7px;color:var(--muted);font-size:.78rem;min-width:0;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ticket-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ticket-initial-request{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:12px;padding:10px 12px;background:color-mix(in srgb,var(--accent) 7%,transparent)}
.ticket-initial-request strong,.ticket-initial-request small{display:block}
.ticket-initial-request small{color:var(--muted);margin-top:2px}
.ticket-initial-request p{margin:8px 0 0;white-space:pre-wrap;color:var(--text);line-height:1.45}
.ticket-assignee-picker{position:relative}
.ticket-assignee-results{position:absolute;z-index:20;inset:auto 0 auto 0;max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:var(--shadow);padding:6px}
.ticket-assignee-results:empty{display:none}
.ticket-assignee-results button{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;gap:0 8px;width:100%;text-align:left;border:0;border-radius:10px;background:transparent;color:var(--text);box-shadow:none;padding:7px}
.ticket-assignee-results button:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}
.ticket-assignee-results button span{grid-row:1/3;width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:var(--accent);font-size:.68rem;font-weight:900;overflow:hidden}
.ticket-assignee-results button img{width:100%;height:100%;object-fit:cover}
.ticket-assignee-results button small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.actions.tight{gap:8px;margin-top:0}
.compact-ticket-actions{margin-bottom:12px}
.conversation-item.system-event{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;border-left:3px solid var(--accent);padding-left:10px;background:color-mix(in srgb,var(--accent) 8%,transparent)}
.conversation-item.system-event p{font-size:.92rem;color:var(--muted)}
@media(max-width:1000px){.ticket-workspace-body{grid-template-columns:1fr;overflow:auto}.ticket-desk-list{max-height:250px}.ticket-desk-board{grid-template-columns:1fr}.ticket-desk-board section{max-height:none}.ticket-workspace-shell{height:96vh;border-radius:18px}.ticket-editor-grid,.ticket-editor-people{grid-template-columns:1fr}.ticket-reservation{flex-wrap:wrap}.ticket-reservation strong{width:100%;margin-right:0}.ticket-workspace-head{display:grid}.ticket-desk-filters{order:3}.workspace-actions{justify-content:space-between}}
@media(max-width:640px){.ticket-workspace-backdrop{padding:0}.ticket-workspace-shell{width:100vw;height:100vh;border-radius:0}.ticket-workspace-head{padding:10px}.ticket-workspace-body{padding:8px}.ticket-desk-editor,.ticket-desk-list{padding:8px}.ticket-desk-list{max-height:178px}.ticket-desk-list.collapsed{max-height:56px}.ticket-desk-list.collapsed .ticket-search,.ticket-desk-list.collapsed .ticket-desk-scroll{display:none}.ticket-desk-board section{padding:8px}.ticket-desk-filters{overflow:auto;flex-wrap:nowrap;padding-bottom:2px}.ticket-desk-filters button{white-space:nowrap}.ticket-workspace-head .eyebrow{display:none}}

/* v309: compact schedule workspace layout and mobile sticky employee picker */
.schedule-workspace-head{
  padding:14px 18px 12px;
  gap:14px;
}
.schedule-workspace-head h2{font-size:1.42rem;margin:.08rem 0;line-height:1.08}
.schedule-workspace-head p{margin:.22rem 0 0;line-height:1.32;max-width:760px}
.schedule-workspace-head .eyebrow{font-size:.68rem;padding:5px 10px;letter-spacing:.1em}
.workspace-actions{gap:8px;align-items:center}
.workspace-actions .ghost,.workspace-actions input{min-height:38px;padding:8px 12px}
.workspace-actions input{max-width:150px;text-align:center}
.schedule-workspace-tabs{padding:9px 18px;gap:8px}
.schedule-workspace-tabs button{padding:7px 12px;font-size:.86rem;line-height:1.1}
.schedule-workspace-body{padding:14px 18px 18px}
.schedule-pane > h3,.schedule-team-head h3{margin-top:0}
.schedule-team-picker{padding:12px 14px;margin-bottom:12px}
.schedule-team-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.schedule-team-head p{margin:.18rem 0 0;line-height:1.3}
.schedule-people-row{max-height:150px;gap:8px}
.schedule-person-card{padding:8px 10px;border-radius:15px}
.schedule-workspace .portal-schedule-day{min-height:330px}
.schedule-workspace .workspace-board{gap:10px}
.schedule-workspace .schedule-day-head{margin-bottom:9px}
.schedule-workspace .empty-shift-note{padding:10px}

@media(max-width:900px){
  .schedule-workspace-head{padding:12px 14px 10px}
  .schedule-workspace-head h2{font-size:1.22rem}
  .schedule-workspace-head p{font-size:.88rem;line-height:1.25}
  .schedule-workspace-tabs{padding:8px 12px}
  .schedule-workspace-body{padding:12px}
}

@media(max-width:700px){
  .schedule-workspace-head{
    position:relative;
    grid-template-columns:1fr;
    gap:8px;
    padding:12px 14px 10px;
  }
  .schedule-workspace-head .eyebrow{font-size:.64rem;padding:4px 9px}
  .schedule-workspace-head h2{font-size:1.18rem;margin:0}
  .schedule-workspace-head p{font-size:.82rem;line-height:1.28;margin:.2rem 0 0;padding-right:46px}
  .workspace-actions{
    display:grid;
    grid-template-columns:1fr minmax(128px,.8fr) 1fr;
    gap:7px;
    width:100%;
  }
  .workspace-actions #prevScheduleWeek{grid-column:1;grid-row:1}
  .workspace-actions #workspaceWeek{grid-column:2;grid-row:1;max-width:none;min-width:0;width:100%;font-size:.88rem;letter-spacing:.02em;padding:7px 8px}
  .workspace-actions #nextScheduleWeek{grid-column:3;grid-row:1}
  .workspace-actions .ghost{min-height:36px;padding:7px 8px;font-size:.76rem;line-height:1.05;white-space:normal}
  .workspace-actions .modal-close{
    position:absolute;
    top:12px;
    right:12px;
    width:40px;
    height:40px;
    min-height:40px;
    padding:0;
    border-radius:999px;
    font-size:1.5rem;
    line-height:1;
  }
  .schedule-workspace-tabs{
    gap:7px;
    padding:7px 10px;
  }
  .schedule-workspace-tabs button{padding:7px 10px;font-size:.78rem;min-height:34px}
  .schedule-workspace-tabs .pill{font-size:.66rem;padding:0 5px;margin-left:4px}
  .schedule-workspace-body{padding:10px 10px 16px}
  .schedule-pane > .section-head.compact{margin-bottom:8px}
  .schedule-pane > .section-head.compact h3{font-size:1.05rem;margin:0}
  .schedule-pane > .section-head.compact p{font-size:.82rem;line-height:1.25;margin:.25rem 0 0}
  .schedule-pane[data-schedule-pane="manage"].active .schedule-team-picker{
    position:sticky;
    top:0;
    z-index:12;
    margin:-2px 0 10px;
    padding:10px;
    border-radius:17px;
    box-shadow:0 14px 34px rgba(0,0,0,.20);
    backdrop-filter:blur(10px);
  }
  .schedule-team-head{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
  .schedule-team-head h3{font-size:1rem;margin:0}
  .schedule-team-head p{font-size:.78rem;line-height:1.25;margin:.2rem 0 0}
  .schedule-team-head .ghost-mini{min-height:32px;padding:6px 10px;font-size:.75rem}
  .schedule-people-row{
    max-height:26dvh;
    grid-template-columns:1fr;
    gap:7px;
    overscroll-behavior:contain;
  }
  .schedule-person-card{padding:7px 9px;border-radius:14px;gap:8px}
  .schedule-person-card .shift-avatar,.schedule-person-card .avatar-fallback{width:34px;height:34px}
  .schedule-person-card strong{font-size:.86rem;line-height:1.08}
  .schedule-person-card small{font-size:.72rem;line-height:1.15}
  .schedule-workspace .portal-schedule-board.workspace-board,
  .schedule-workspace .portal-schedule-board{gap:10px}
  .schedule-workspace .portal-schedule-day{padding:10px;border-radius:17px;min-height:150px}
  .schedule-workspace .schedule-day-head h3{font-size:.96rem}
  .schedule-workspace .empty-shift-note{padding:10px;font-size:.84rem}
  .schedule-workspace .portal-shift,
  .schedule-workspace .portal-schedule-day.is-crowded .portal-shift{padding:8px;border-radius:14px;grid-template-columns:32px minmax(0,1fr)}
  .schedule-workspace .portal-shift .shift-avatar,
  .schedule-workspace .portal-schedule-day.is-crowded .shift-avatar{width:32px;height:32px}
}

@media(max-width:460px){
  .workspace-actions{grid-template-columns:.95fr minmax(116px,.75fr) .95fr!important}
  .workspace-actions .ghost{font-size:.7rem;padding:6px 6px}
  .workspace-actions #workspaceWeek{font-size:.8rem;padding:6px}
  .schedule-workspace-tabs button{font-size:.74rem;padding:7px 9px}
  .schedule-people-row{max-height:24dvh}
}

/* v310: collapsible sticky direct reports picker */
.schedule-picker-toggle{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-align:left;
  width:100%;
  cursor:pointer;
  font:inherit;
}
.schedule-picker-toggle-copy{display:grid;gap:2px;min-width:0}
.schedule-picker-toggle-copy strong{font-size:1rem;line-height:1.15}
.schedule-picker-toggle-copy em{font-style:normal;display:block;line-height:1.28}
.schedule-picker-toggle b{
  flex:0 0 auto;
  border:1px solid var(--border);
  border-radius:999px;
  padding:5px 10px;
  font-size:.74rem;
  line-height:1;
  color:var(--muted);
  background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%);
}
.schedule-picker-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:4px;border-radius:14px}
.schedule-team-picker.is-collapsed{padding-bottom:10px}
.schedule-team-picker.is-collapsed .schedule-team-head{margin-bottom:0}
.schedule-team-picker.is-collapsed .schedule-picker-toggle b{color:var(--text);border-color:color-mix(in srgb,var(--accent) 65%,var(--border) 35%)}

@media(max-width:700px){
  .schedule-pane[data-schedule-pane="manage"].active .schedule-team-picker{
    position:sticky;
    top:0;
    z-index:18;
  }
  .schedule-team-head{grid-template-columns:1fr auto}
  .schedule-picker-toggle-copy strong{font-size:.96rem}
  .schedule-picker-toggle-copy em{font-size:.74rem;line-height:1.2}
  .schedule-picker-toggle b{font-size:.68rem;padding:5px 8px}
  .schedule-team-picker.is-collapsed{padding:8px 10px;margin-bottom:8px}
  .schedule-team-picker.is-collapsed .schedule-team-head{gap:8px}
}


/* v311: ensure author display rules cannot override the Direct Reports collapsed state */
.schedule-team-picker.is-collapsed .schedule-people-row,
.schedule-people-row[hidden]{display:none!important}


.portal-client-card .client-avatar.avatar-initials,
.portal-client-card div.client-avatar{background:linear-gradient(135deg,rgba(255,138,0,.26),rgba(69,195,245,.18));border:1px solid var(--border);color:var(--text)}
.portal-client-card img.client-avatar{object-fit:cover;background:transparent;color:transparent}

/* v355 client scheduling polish */
.client-schedule-modern{padding:18px;overflow:hidden}.client-schedule-top{gap:16px;margin-bottom:10px}.client-schedule-top h2{margin-bottom:4px}.client-schedule-nav{align-items:center;flex-wrap:wrap}.client-schedule-nav input{max-width:155px}.client-schedule-summary{display:flex;align-items:center;gap:8px;margin:8px 0 14px;color:var(--muted);font-size:.88rem}.client-schedule-summary strong{display:grid;place-items:center;min-width:32px;height:28px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,var(--panel) 82%);color:var(--text);border:1px solid var(--border)}.client-scheduler-layout{display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:14px;align-items:start}.client-scheduler-rail{position:sticky;top:84px;border:1px solid var(--border);border-radius:20px;padding:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,var(--accent) 4%),var(--panel));box-shadow:0 12px 30px rgba(0,0,0,.08)}.client-rail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.client-rail-head h3{margin:0;font-size:1rem}.client-rail-head small{color:var(--muted)}.client-rail-list{display:grid;gap:8px;max-height:560px;overflow:auto;padding-right:2px}.client-schedule-client{display:grid;grid-template-columns:40px minmax(0,1fr);gap:9px;align-items:center;width:100%;border:1px solid var(--border);border-radius:16px;background:var(--panel);color:var(--text);padding:8px;text-align:left;cursor:grab;box-shadow:0 8px 18px rgba(0,0,0,.06);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.client-schedule-client:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 70%,var(--border) 30%);box-shadow:0 12px 24px rgba(0,0,0,.1)}.client-schedule-client-copy{display:grid;gap:1px;min-width:0}.client-schedule-client-copy strong,.client-schedule-client-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-schedule-client-copy small{color:var(--muted);font-size:.76rem}.client-schedule-avatar,.client-meeting-avatar{width:38px;height:38px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:800}.client-schedule-avatar .client-avatar,.client-meeting-avatar .client-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;display:grid;place-items:center}.client-scheduler-main{min-width:0}.client-schedule-compose{border:1px solid var(--border);border-radius:20px;padding:0;margin-bottom:14px;background:color-mix(in srgb,var(--panel) 97%,#fff 3%);box-shadow:0 12px 28px rgba(0,0,0,.07)}.client-schedule-compose summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:12px 14px}.client-schedule-compose summary span{font-size:.82rem}.client-schedule-form.compact{padding:0 14px 14px}.client-form-grid{display:grid!important;grid-template-columns:1.2fr 1.1fr .85fr .65fr .65fr;gap:10px}.client-form-grid.secondary{grid-template-columns:1fr 1fr}.client-schedule-form textarea{min-height:58px}.client-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}.client-schedule-board{grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px;align-items:stretch}.client-schedule-day{min-height:142px;padding:9px;border-radius:17px}.client-schedule-day.drag-over{outline:3px solid color-mix(in srgb,var(--accent) 75%,#fff 25%);background:color-mix(in srgb,var(--panel) 82%,var(--accent) 18%)}.client-day-head{margin-bottom:7px}.client-day-head h3{font-size:.92rem;line-height:1.05}.client-day-head small{display:block;color:var(--muted);font-size:.7rem;margin-top:1px}.client-day-head>span{min-width:25px;text-align:center;padding:2px 7px}.client-meeting-list{gap:6px}.client-meeting-card{padding:7px;border-radius:14px;gap:7px;min-height:0;text-align:left;cursor:grab}.client-meeting-card .shift-main strong{font-size:.82rem}.client-meeting-card .shift-main span,.client-meeting-card .shift-main small{font-size:.72rem}.client-meeting-avatar{width:31px;height:31px}.client-meeting-card .client-avatar{font-size:.74rem}.client-schedule-day .empty-shift-note{padding:10px;border-radius:12px;font-size:.76rem}.client-schedule-day.is-crowded .client-meeting-list{display:flex;flex-wrap:wrap}.client-schedule-day.is-crowded .client-meeting-card{max-width:40px;width:40px;border-radius:999px;padding:5px}.client-schedule-day.is-crowded .client-meeting-card .shift-main{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.client-schedule-day.is-crowded .client-meeting-avatar{width:28px;height:28px}
@media(max-width:1150px){.client-scheduler-layout{grid-template-columns:1fr}.client-scheduler-rail{position:static}.client-rail-list{display:flex;overflow:auto;max-height:none;padding-bottom:4px}.client-schedule-client{min-width:220px}.client-schedule-board{grid-template-columns:repeat(4,minmax(150px,1fr))}.client-form-grid{grid-template-columns:1fr 1fr}.client-form-grid.secondary{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.client-schedule-modern{padding:12px}.client-schedule-top{display:grid}.client-schedule-nav{display:grid;grid-template-columns:1fr;align-items:stretch}.client-schedule-nav .btn,.client-schedule-nav input{width:100%;max-width:none}.client-schedule-summary{flex-wrap:wrap}.client-scheduler-layout{gap:10px}.client-scheduler-rail{padding:10px;border-radius:17px}.client-rail-list{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity}.client-schedule-client{min-width:78vw;scroll-snap-align:start}.client-schedule-compose summary{display:grid;gap:4px}.client-form-grid,.client-form-grid.secondary{grid-template-columns:1fr!important}.client-form-actions{display:grid;grid-template-columns:1fr}.client-form-actions .actions{display:grid;grid-template-columns:1fr;gap:8px}.client-form-actions .btn{width:100%}.client-schedule-board{display:flex;overflow-x:auto;gap:10px;padding-bottom:10px;scroll-snap-type:x mandatory}.client-schedule-day{min-width:82vw;scroll-snap-align:start;min-height:170px}.client-meeting-card{grid-template-columns:34px minmax(0,1fr);width:100%}.client-meeting-avatar{width:34px;height:34px}}

/* v357 - make Client Scheduling mirror Employee Scheduling layout */
.client-schedule-employee-layout{padding:18px;overflow:hidden;}
.client-schedule-employee-layout .client-schedule-top{margin-bottom:12px;}
.client-schedule-employee-layout .client-schedule-nav{display:flex;align-items:end;gap:10px;flex-wrap:wrap;}
.client-schedule-employee-layout .client-schedule-nav label{display:grid;gap:4px;font-size:.8rem;color:var(--muted);font-weight:800;}
.client-schedule-employee-layout .client-schedule-kpis{margin-bottom:12px;}
.client-schedule-employee-layout .client-schedule-compose{padding:0;margin:0 0 12px;background:color-mix(in srgb,var(--panel) 96%,var(--accent) 4%);box-shadow:0 12px 30px rgba(0,0,0,.08);}
.client-schedule-employee-layout .client-schedule-compose summary{padding:12px 14px;cursor:pointer;font-weight:900;}
.client-schedule-employee-layout .client-schedule-form{padding:0 14px 14px;}
.client-schedule-employee-layout .client-schedule-picker{margin-bottom:12px;}
.client-schedule-employee-layout .client-schedule-picker .schedule-team-head{margin-bottom:8px;}
.client-schedule-employee-layout .client-schedule-picker h3{margin:0;}
.client-schedule-employee-layout .client-schedule-picker p{margin:.15rem 0 0;}
.client-schedule-employee-layout .client-schedule-client{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px;min-width:210px;border-radius:999px;padding:8px 12px;text-align:left;}
.client-schedule-employee-layout .client-schedule-client>span:last-child{display:grid;min-width:0;}
.client-schedule-employee-layout .client-schedule-client strong,
.client-schedule-employee-layout .client-schedule-client small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.client-schedule-employee-layout .client-schedule-avatar,
.client-schedule-employee-layout .client-meeting-avatar{background:var(--accent);color:#fff;overflow:hidden;}
.client-schedule-employee-layout .client-schedule-avatar .client-avatar,
.client-schedule-employee-layout .client-meeting-avatar .client-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%;display:grid;place-items:center;}
.client-schedule-employee-layout .client-schedule-board{grid-template-columns:repeat(7,minmax(170px,1fr));gap:12px;}
.client-schedule-employee-layout .client-schedule-day{min-height:220px;padding:12px;border-radius:20px;}
.client-schedule-employee-layout .client-day-head h3{font-size:1rem;line-height:1.1;}
.client-schedule-employee-layout .client-meeting-card{padding:9px;border-radius:16px;gap:9px;}
.client-schedule-employee-layout .client-meeting-card .shift-main strong{font-size:.9rem;}
.client-schedule-employee-layout .client-meeting-card .shift-main .shift-time{font-size:.84rem;font-weight:800;color:color-mix(in srgb,var(--text) 82%,var(--muted) 18%);}
.client-schedule-employee-layout .client-meeting-card .shift-main small{font-size:.74rem;}
.client-schedule-employee-layout .client-schedule-day .empty-shift-note{padding:14px;}
.client-schedule-employee-layout .client-schedule-day.is-crowded .client-meeting-list{display:grid;grid-template-columns:1fr;}
.client-schedule-employee-layout .client-schedule-day.is-crowded .client-meeting-card{max-width:none;width:100%;border-radius:16px;padding:9px;}
.client-schedule-employee-layout .client-schedule-day.is-crowded .client-meeting-card .shift-main{position:static;width:auto;height:auto;overflow:visible;clip:auto;}
.client-schedule-employee-layout .client-schedule-day.is-crowded .client-meeting-avatar{width:34px;height:34px;}
@media(max-width:1100px){.client-schedule-employee-layout .client-schedule-board{grid-template-columns:repeat(2,minmax(220px,1fr));}.client-schedule-employee-layout .client-form-grid{grid-template-columns:1fr 1fr!important}.client-schedule-employee-layout .client-form-grid.secondary{grid-template-columns:1fr 1fr!important}}
@media(max-width:640px){.client-schedule-employee-layout{padding:12px}.client-schedule-employee-layout .client-schedule-nav{display:grid;grid-template-columns:1fr;width:100%;}.client-schedule-employee-layout .client-schedule-nav .btn,.client-schedule-employee-layout .client-schedule-nav input{width:100%;max-width:none}.client-schedule-employee-layout .client-schedule-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.client-schedule-employee-layout .client-form-grid,.client-schedule-employee-layout .client-form-grid.secondary{grid-template-columns:1fr!important}.client-schedule-employee-layout .client-form-actions{display:grid;grid-template-columns:1fr}.client-schedule-employee-layout .client-form-actions .actions{display:grid;grid-template-columns:1fr;gap:8px}.client-schedule-employee-layout .client-form-actions .btn{width:100%}.client-schedule-employee-layout .schedule-people-row{display:flex;overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px}.client-schedule-employee-layout .client-schedule-client{min-width:78vw;border-radius:16px}.client-schedule-employee-layout .client-schedule-board{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory;padding-bottom:10px}.client-schedule-employee-layout .client-schedule-day{min-width:84vw;scroll-snap-align:start;min-height:170px}}

/* v359: client scheduling now mirrors employee schedule workspace */
.client-schedule-profile-backdrop{position:static;display:block;background:transparent;padding:0;min-height:0;}
.client-schedule-profile-backdrop .client-schedule-workspace{width:100%;max-width:none;min-height:calc(100vh - 180px);border-radius:24px;box-shadow:0 18px 50px rgba(15,23,42,.12);}
.client-schedule-workspace .schedule-workspace-head{position:sticky;top:0;z-index:5;}
.client-schedule-workspace .workspace-actions input[type="date"]{min-width:150px;}
.client-schedule-body .schedule-pane{display:none;}
.client-schedule-body .schedule-pane.active{display:block;}
.client-schedule-kpi-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.client-schedule-kpi-inline span{border:1px solid var(--border);border-radius:999px;padding:7px 11px;background:color-mix(in srgb,var(--panel) 92%,#fff 8%);font-size:.82rem;color:var(--muted);}
.client-schedule-kpi-inline b{color:var(--text);}
.client-schedule-picker{position:sticky;top:92px;z-index:4;margin-bottom:14px;background:color-mix(in srgb,var(--panel) 96%,#fff 4%);}
.client-schedule-search-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:center;margin:8px 0 10px;}
.client-schedule-search-row input{width:100%;min-height:38px;border-radius:14px;}
.client-schedule-search-row span{font-weight:800;color:var(--muted);font-size:.82rem;white-space:nowrap;}
.client-schedule-workspace .schedule-person-card.client-schedule-client{min-width:210px;max-width:280px;border-radius:18px;padding:9px 12px;}
.client-schedule-workspace .schedule-person-card.client-schedule-client.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent);background:color-mix(in srgb,var(--panel) 82%,var(--accent) 18%);}
.client-schedule-workspace .client-schedule-avatar,.client-schedule-workspace .client-meeting-avatar{background:var(--accent);color:#fff;overflow:hidden;}
.client-schedule-workspace .client-schedule-avatar .client-avatar,.client-schedule-workspace .client-meeting-avatar .client-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%;display:grid;place-items:center;}
.client-schedule-workspace .client-schedule-board{grid-template-columns:repeat(7,minmax(180px,1fr));gap:12px;align-items:stretch;}
.client-schedule-workspace .client-schedule-day{min-height:300px;padding:12px;border-radius:22px;}
.client-schedule-workspace .client-schedule-day.drag-over{outline:3px solid color-mix(in srgb,var(--accent) 70%,#fff 30%);background:color-mix(in srgb,var(--panel) 82%,var(--accent) 18%);}
.client-schedule-workspace .client-meeting-card{padding:9px;border-radius:16px;gap:9px;min-height:0;text-align:left;cursor:grab;}
.client-schedule-workspace .client-meeting-card .shift-main strong{font-size:.94rem;}
.client-schedule-workspace .client-meeting-card .shift-time{font-size:.84rem;font-weight:900;color:color-mix(in srgb,var(--success) 78%,var(--text) 22%);}
.client-schedule-workspace .client-meeting-card small{font-size:.74rem;}
.client-schedule-dialog .client-avatar{width:28px;height:28px;border-radius:50%;vertical-align:middle;display:inline-grid;place-items:center;margin-right:6px;}
@media(max-width:1100px){.client-schedule-workspace .client-schedule-board{grid-template-columns:repeat(2,minmax(230px,1fr));}.client-schedule-picker{position:static}.client-schedule-workspace .schedule-people-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px}.client-schedule-workspace .schedule-person-card.client-schedule-client{min-width:250px}}
@media(max-width:700px){.client-schedule-profile-backdrop .client-schedule-workspace{border-radius:18px;min-height:0}.client-schedule-workspace .schedule-workspace-head{position:static;display:grid;gap:12px}.client-schedule-workspace .workspace-actions{display:grid;grid-template-columns:1fr;width:100%}.client-schedule-workspace .workspace-actions button,.client-schedule-workspace .workspace-actions input{width:100%;max-width:none}.client-schedule-search-row{grid-template-columns:1fr}.client-schedule-kpi-inline{display:grid;grid-template-columns:1fr 1fr;width:100%}.client-schedule-workspace .schedule-workspace-tabs{overflow-x:auto;flex-wrap:nowrap}.client-schedule-workspace .schedule-workspace-tabs button{white-space:nowrap}.client-schedule-workspace .client-schedule-board{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory;padding-bottom:10px}.client-schedule-workspace .client-schedule-day{min-width:84vw;scroll-snap-align:start;min-height:220px}.client-schedule-workspace .schedule-person-card.client-schedule-client{min-width:78vw}.client-schedule-dialog .form-row{grid-template-columns:1fr!important}.client-schedule-dialog .dialog-actions{display:grid;grid-template-columns:1fr}.client-schedule-dialog .dialog-actions button{width:100%}}

/* v360: Client scheduling now uses the same pop-out workspace pattern as employee scheduling. */
.client-schedule-profile-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:1200!important;
  display:grid!important;
  place-items:stretch!important;
  background:rgba(0,0,0,.68)!important;
  padding:0!important;
  min-height:100vh!important;
}
.client-schedule-profile-backdrop .client-schedule-workspace{
  width:min(1760px,98vw)!important;
  height:min(980px,95vh)!important;
  max-width:none!important;
  min-height:0!important;
  margin:auto!important;
  border-radius:28px!important;
  box-shadow:0 35px 110px rgba(0,0,0,.42)!important;
}
.client-schedule-workspace .client-schedule-board.two-week-board,
.client-schedule-landing .client-schedule-board.two-week-board{
  grid-template-columns:repeat(7,minmax(210px,1fr));
  min-width:0;
  gap:10px;
}
.client-schedule-workspace .client-schedule-day,
.client-schedule-landing .client-schedule-day{
  min-height:300px;
}
.client-schedule-landing .client-schedule-board.two-week-board{
  margin-top:12px;
}
.client-schedule-landing .client-meeting-card{
  cursor:default;
}
.client-schedule-workspace .client-schedule-picker{
  position:sticky;
  top:0;
  z-index:6;
}
.client-schedule-workspace .client-schedule-search-row input:focus{
  outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);
  outline-offset:2px;
}
@media(max-width:1300px){
  .client-schedule-workspace .client-schedule-board.two-week-board,
  .client-schedule-landing .client-schedule-board.two-week-board{grid-template-columns:repeat(7,minmax(190px,1fr));}
}
@media(max-width:900px){
  .client-schedule-workspace .client-schedule-board.two-week-board,
  .client-schedule-landing .client-schedule-board.two-week-board{grid-template-columns:repeat(2,minmax(220px,1fr));}
}
@media(max-width:700px){
  .client-schedule-profile-backdrop .client-schedule-workspace{width:100vw!important;height:100vh!important;border-radius:0!important;}
  .client-schedule-workspace .client-schedule-board.two-week-board,
  .client-schedule-landing .client-schedule-board.two-week-board{display:grid;grid-template-columns:1fr;min-width:0;overflow:visible;}
  .client-schedule-workspace .client-schedule-day,
  .client-schedule-landing .client-schedule-day{min-width:0;min-height:220px;}
}


/* v363: Client scheduling workspace now fits a full seven-day week without horizontal scrolling on desktop. */
.client-schedule-workspace .workspace-actions .modal-close{
  position:static!important;
  top:auto!important;
  right:auto!important;
  flex:0 0 auto;
}
.client-schedule-workspace .client-schedule-board.two-week-board,
.client-schedule-landing .client-schedule-board.two-week-board{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  min-width:0!important;
  width:100%!important;
  gap:8px!important;
  overflow:visible!important;
}
.client-schedule-workspace .client-schedule-day,
.client-schedule-landing .client-schedule-day{
  min-width:0!important;
  min-height:250px!important;
  padding:8px!important;
  border-radius:16px!important;
}
.client-schedule-workspace .schedule-day-head,
.client-schedule-landing .schedule-day-head{gap:4px;margin-bottom:7px;}
.client-schedule-workspace .schedule-day-head h3,
.client-schedule-landing .schedule-day-head h3{font-size:.86rem;line-height:1.05;}
.client-schedule-workspace .schedule-day-head span,
.client-schedule-landing .schedule-day-head span{font-size:.68rem;padding:2px 6px;}
.client-schedule-workspace .client-meeting-card,
.client-schedule-landing .client-meeting-card{padding:7px!important;gap:7px!important;border-radius:13px!important;}
.client-schedule-workspace .client-meeting-avatar,
.client-schedule-landing .client-meeting-avatar{width:30px!important;height:30px!important;}
.client-schedule-workspace .client-meeting-card .shift-main strong,
.client-schedule-landing .client-meeting-card .shift-main strong{font-size:.82rem!important;}
.client-schedule-workspace .client-meeting-card .shift-time,
.client-schedule-landing .client-meeting-card .shift-time{font-size:.74rem!important;}
.client-schedule-workspace .client-meeting-card small,
.client-schedule-landing .client-meeting-card small{font-size:.68rem!important;}
.client-schedule-workspace .empty-shift-note,
.client-schedule-landing .empty-shift-note{padding:10px 6px!important;font-size:.78rem!important;}
@media(max-width:900px){
  .client-schedule-workspace .client-schedule-board.two-week-board,
  .client-schedule-landing .client-schedule-board.two-week-board{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:700px){
  .client-schedule-workspace .client-schedule-board.two-week-board,
  .client-schedule-landing .client-schedule-board.two-week-board{grid-template-columns:1fr!important;}
  .client-schedule-workspace .workspace-actions .modal-close{position:absolute!important;top:12px!important;right:12px!important;}
}

/* Employee Messenger */
.profile-messenger{position:fixed;left:0;top:96px;bottom:18px;z-index:1800;display:flex;align-items:stretch;filter:drop-shadow(0 18px 34px rgba(0,0,0,.24));}
.profile-messenger .messenger-toggle{writing-mode:vertical-rl;transform:rotate(180deg);border:0;border-radius:0 16px 16px 0;background:#12213d;color:#fff;padding:14px 10px;font-weight:800;letter-spacing:.03em;min-height:132px;display:flex;align-items:center;gap:10px;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.22);}
.profile-messenger .messenger-toggle b{writing-mode:horizontal-tb;transform:rotate(180deg);background:#ff7a18;color:#111827;border-radius:999px;min-width:24px;height:24px;display:inline-grid;place-items:center;font-size:12px;padding:0 6px;}
.profile-messenger .messenger-panel{width:min(760px,calc(100vw - 48px));max-width:760px;background:rgba(255,255,255,.98);color:#0f172a;border:1px solid rgba(15,23,42,.14);border-radius:0 22px 22px 0;overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,opacity .18s ease;}
.profile-messenger.collapsed .messenger-panel{transform:translateX(-102%);opacity:0;pointer-events:none;position:absolute;}
.messenger-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#0f1f3a,#183d72);color:#fff;}
.messenger-head strong{display:block;font-size:16px}.messenger-head span{display:block;font-size:12px;opacity:.82}.messenger-head button{border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:12px;width:34px;height:34px;font-size:22px;line-height:1;}
.messenger-status-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(15,23,42,.1);background:#f8fafc}.messenger-status-row label{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.messenger-status-row select{border-radius:12px;border:1px solid rgba(15,23,42,.2);padding:8px 10px;background:#fff;color:#0f172a}
.messenger-layout{display:grid;grid-template-columns:260px 1fr;min-height:460px;max-height:calc(100vh - 210px)}.messenger-sidebar{border-right:1px solid rgba(15,23,42,.12);background:#f8fafc;overflow:auto;padding:10px}.messenger-search{display:flex;gap:8px;margin-bottom:10px}.messenger-search input{min-width:0;flex:1;border:1px solid rgba(15,23,42,.18);border-radius:12px;padding:9px 10px;background:#fff;color:#0f172a}.messenger-search button{border:0;border-radius:12px;background:#10233f;color:#fff;font-weight:800;padding:0 10px}
.messenger-contact,.messenger-conversation{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#0f172a;text-align:left;border-radius:14px;padding:9px;margin:2px 0;cursor:pointer}.messenger-contact:hover,.messenger-conversation:hover,.messenger-conversation.active{background:#e8eef8}.messenger-contact .avatar,.messenger-conversation .avatar{width:34px;height:34px}.messenger-contact span,.messenger-conversation span{min-width:0;display:block}.messenger-contact b,.messenger-conversation b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messenger-contact small,.messenger-conversation small{display:block;color:#64748b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messenger-conversation em{margin-left:auto;background:#ff7a18;color:#111827;border-radius:999px;min-width:22px;height:22px;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:900}
.messenger-dot{display:inline-block;width:9px;height:9px;border-radius:999px;margin-right:4px;background:#94a3b8}.messenger-dot.available{background:#22c55e}.messenger-dot.away{background:#f59e0b}.messenger-dot.busy{background:#ef4444}.messenger-dot.dnd{background:#8b5cf6}.messenger-dot.offline{background:#94a3b8}
.messenger-thread{display:flex;flex-direction:column;min-width:0;background:#fff}.messenger-thread-head{padding:12px 14px;border-bottom:1px solid rgba(15,23,42,.1);font-weight:800}.messenger-messages{flex:1;overflow:auto;padding:14px;background:linear-gradient(#fff,#f8fafc)}.messenger-message{max-width:78%;margin:7px 0;padding:9px 11px;border-radius:16px;background:#e8eef8;color:#0f172a}.messenger-message.mine{margin-left:auto;background:#183d72;color:#fff}.messenger-message small,.messenger-message time{display:block;font-size:11px;opacity:.72}.messenger-message p{margin:3px 0 4px;white-space:pre-wrap;word-break:break-word}.messenger-form{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(15,23,42,.1);background:#f8fafc}.messenger-form input{flex:1;border:1px solid rgba(15,23,42,.18);border-radius:14px;padding:11px 12px;color:#0f172a;background:#fff}.messenger-form button{border:0;border-radius:14px;background:#ff7a18;color:#111827;font-weight:900;padding:0 16px}.small{font-size:12px}.messenger-sidebar hr{border:0;border-top:1px solid rgba(15,23,42,.12);margin:10px 0}
@media(max-width:760px){.profile-messenger{top:auto;right:0;bottom:0;left:0;display:block;filter:none}.profile-messenger .messenger-toggle{position:fixed;left:12px;bottom:12px;writing-mode:horizontal-tb;transform:none;min-height:0;border-radius:999px;padding:12px 16px;z-index:1810}.profile-messenger .messenger-toggle b{transform:none}.profile-messenger .messenger-panel{position:fixed;inset:0;width:100vw;max-width:none;border-radius:0;z-index:1805}.profile-messenger.collapsed .messenger-panel{transform:translateY(100%)}.messenger-layout{grid-template-columns:1fr;min-height:0;max-height:none;flex:1}.messenger-sidebar{max-height:36vh;border-right:0;border-bottom:1px solid rgba(15,23,42,.12)}.messenger-messages{min-height:34vh}.messenger-message{max-width:90%}}


/* v374 employee messenger tidy/theme integration */
.profile-messenger{top:88px;bottom:20px;color:var(--text);filter:drop-shadow(0 22px 48px rgba(0,0,0,.34));}
.profile-messenger .messenger-toggle{background:linear-gradient(135deg,var(--panel2),color-mix(in srgb,var(--accent) 32%,var(--panel)));color:var(--text);border:1px solid var(--border);border-left:0;box-shadow:var(--shadow);}
.profile-messenger .messenger-toggle b,.messenger-conversation em{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#150900;}
.profile-messenger .messenger-panel{width:min(820px,calc(100vw - 46px));max-width:820px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,transparent),color-mix(in srgb,var(--bg2) 96%,transparent));color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);backdrop-filter:blur(18px);}
.messenger-head{background:linear-gradient(135deg,var(--panel2),color-mix(in srgb,var(--accent) 28%,var(--panel)));color:var(--text);border-bottom:1px solid var(--border);}
.messenger-head button{background:color-mix(in srgb,var(--text) 10%,transparent);color:var(--text);box-shadow:none;}
.messenger-status-row,.messenger-sidebar,.messenger-form{background:color-mix(in srgb,var(--panel2) 72%,var(--bg));border-color:var(--border);}
.messenger-status-row label{color:var(--muted);}
.messenger-status-row select,.messenger-search input,.messenger-form input{background:color-mix(in srgb,var(--bg) 72%,transparent);color:var(--text);border:1px solid var(--border);box-shadow:none;}
.messenger-search button,.messenger-form button{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#150900;box-shadow:none;}
.messenger-layout{grid-template-columns:285px 1fr;min-height:500px;max-height:calc(100vh - 200px);}
.messenger-sidebar{border-right:1px solid var(--border);padding:12px;}
.messenger-thread{background:color-mix(in srgb,var(--panel) 88%,var(--bg));}
.messenger-thread-head{display:flex;align-items:center;gap:10px;min-height:54px;background:color-mix(in srgb,var(--panel2) 48%,transparent);border-bottom:1px solid var(--border);color:var(--text);}
.messenger-messages{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 60%,transparent),color-mix(in srgb,var(--panel) 82%,transparent));}
.messenger-contact,.messenger-conversation{color:var(--text);border:1px solid transparent;}
.messenger-contact:hover,.messenger-conversation:hover,.messenger-conversation.active{background:color-mix(in srgb,var(--brand) 12%,transparent);border-color:color-mix(in srgb,var(--brand) 28%,transparent);}
.messenger-contact small,.messenger-conversation small{color:var(--muted);}
.messenger-conversation{align-items:center;}
.messenger-conversation .messenger-avatars{display:flex;align-items:center;min-width:36px;}
.messenger-conversation .messenger-avatars .avatar{width:30px;height:30px;margin-right:-10px;border:1px solid var(--border);box-shadow:0 4px 10px rgba(0,0,0,.18);}
.messenger-conversation .messenger-avatars .avatar:nth-child(n+3){display:none;}
.messenger-message{background:color-mix(in srgb,var(--text) 10%,var(--panel2));color:var(--text);border:1px solid var(--border);box-shadow:0 8px 20px rgba(0,0,0,.14);}
.messenger-message.mine{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 88%,var(--panel)),color-mix(in srgb,var(--brand2) 72%,var(--accent)));color:#120900;border-color:color-mix(in srgb,var(--brand) 45%,transparent);}
.messenger-message small,.messenger-message time{color:inherit;opacity:.72;}
.messenger-sidebar hr{border-top:1px solid var(--border);}
@media(max-width:760px){.profile-messenger{top:auto}.profile-messenger .messenger-panel{width:100vw}.messenger-layout{grid-template-columns:1fr;max-height:none}.messenger-sidebar{max-height:38vh;border-right:0;border-bottom:1px solid var(--border)}.messenger-thread-head{min-height:46px}.messenger-form{padding-bottom:max(12px,env(safe-area-inset-bottom))}}

/* v375 employee messenger search/chats-only/status polish */
.messenger-head button{display:grid;place-items:center;line-height:1;padding:0;font-size:24px;font-weight:800;}
.messenger-list-title{margin:10px 4px 6px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.messenger-contacts{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border);}
.messenger-contacts[hidden]{display:none!important;}
.messenger-contact b,.messenger-conversation b,.messenger-thread-head b{display:flex;align-items:center;gap:7px;min-width:0;}
.messenger-dot{flex:0 0 auto;width:10px;height:10px;margin:0;border-radius:999px;background:#9ca3af;box-shadow:0 0 0 2px color-mix(in srgb,var(--bg) 85%,transparent);}
.messenger-dot.available{background:#22c55e;box-shadow:0 0 0 2px color-mix(in srgb,#22c55e 18%,transparent),0 0 12px color-mix(in srgb,#22c55e 42%,transparent);}
.messenger-dot.away{background:#f59e0b;box-shadow:0 0 0 2px color-mix(in srgb,#f59e0b 18%,transparent);}
.messenger-dot.busy{background:#ef4444;box-shadow:0 0 0 2px color-mix(in srgb,#ef4444 18%,transparent);}
.messenger-dot.dnd{background:#8b5cf6;box-shadow:0 0 0 2px color-mix(in srgb,#8b5cf6 18%,transparent),0 0 12px color-mix(in srgb,#8b5cf6 34%,transparent);}
.messenger-dot.offline{background:transparent;border:2px solid #ef4444;box-shadow:none;}
.messenger-conversation.unread{border-color:color-mix(in srgb,var(--brand) 54%,transparent);background:color-mix(in srgb,var(--brand) 16%,transparent);}
.profile-messenger.has-unread .messenger-toggle{animation:messenger-unread-pulse 1.05s ease-in-out infinite;}
.profile-messenger.has-unread .messenger-toggle b{animation:messenger-unread-badge 1.05s ease-in-out infinite;}
@keyframes messenger-unread-pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.35);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 22%,transparent),var(--shadow)}}
@keyframes messenger-unread-badge{0%,100%{transform:rotate(180deg) scale(1)}50%{transform:rotate(180deg) scale(1.14)}}
@media(max-width:760px){@keyframes messenger-unread-badge{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}.profile-messenger.has-unread .messenger-toggle b{animation:messenger-unread-badge 1.05s ease-in-out infinite;}}

/* v376 employee messenger close-chat, attachments, and tighter drawer height */
@media(min-width:761px){
  .profile-messenger{bottom:auto;align-items:flex-start;}
  .profile-messenger .messenger-panel{max-height:calc(100vh - 112px);}
  .messenger-layout{height:min(540px,calc(100vh - 232px));min-height:420px;max-height:none;}
  .messenger-messages{min-height:0;}
}
.messenger-thread-head{justify-content:flex-start;}
.messenger-thread-head > span{min-width:0;flex:1;}
.messenger-close-chat{margin-left:auto;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text);font-weight:800;padding:7px 10px;cursor:pointer;}
.messenger-close-chat:hover{background:color-mix(in srgb,var(--brand) 18%,transparent);border-color:color-mix(in srgb,var(--brand) 34%,transparent);}
.messenger-form .messenger-attach{width:44px;min-width:44px;padding:0;border-radius:14px;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text);border:1px solid var(--border);font-size:18px;}
.messenger-form .messenger-attach:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 16%,transparent);}
.messenger-form .messenger-attach:disabled{opacity:.45;cursor:not-allowed;}
.messenger-attachments{display:grid;gap:6px;margin:6px 0;}
.messenger-attachment-link{display:flex;align-items:center;gap:6px;width:max-content;max-width:100%;border:1px solid color-mix(in srgb,var(--text) 18%,transparent);background:color-mix(in srgb,var(--bg) 40%,transparent);color:inherit;border-radius:10px;padding:6px 8px;text-decoration:none;font-weight:800;}
.messenger-attachment-link small{font-weight:700;opacity:.68;}
.messenger-attachment-link:hover{text-decoration:none;filter:brightness(1.12);}
@media(max-width:760px){
  .messenger-close-chat{padding:6px 9px;font-size:12px;}
  .messenger-form .messenger-attach{width:40px;min-width:40px;}
}

/* v377 employee messenger compact composer, clipboard image paste, emoji/GIF tools, full-height drawer */
@media(min-width:761px){
  .profile-messenger{top:88px;bottom:0;align-items:stretch;}
  .profile-messenger .messenger-panel{height:calc(100vh - 88px);max-height:none;display:flex;flex-direction:column;border-bottom-left-radius:0;border-bottom-right-radius:0;}
  .messenger-layout{height:auto;min-height:0;max-height:none;flex:1;}
}
.profile-messenger .messenger-panel{overflow:hidden;}
.messenger-thread{min-height:0;}
.messenger-thread-head{min-height:50px;padding:9px 12px;}
.messenger-thread-person{display:flex;align-items:center;gap:8px;min-width:0;flex:1;text-align:left;border:0;background:transparent;color:var(--text);font:inherit;font-weight:900;cursor:pointer;padding:3px 0;}
.messenger-thread-person:hover b{text-decoration:underline;}
.messenger-thread-person .avatar,.messenger-thread-person .avatar-initials{width:30px;height:30px;}
.messenger-thread-person b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.messenger-messages{padding:10px 14px;}
.messenger-message{max-width:74%;margin:5px 0;padding:7px 10px;border-radius:14px;box-shadow:0 5px 14px rgba(0,0,0,.12);}
.messenger-message small{font-size:11px;font-weight:800;margin-bottom:2px;opacity:.68;}
.messenger-message p{margin:1px 0 3px;line-height:1.28;}
.messenger-message time{font-size:10px;opacity:.55;}
.messenger-form{gap:7px;padding:10px 12px;align-items:center;}
.messenger-form input{padding:10px 12px;min-height:42px;}
.messenger-form button[type="submit"]{min-height:42px;padding:0 16px;}
.messenger-form .messenger-tool{width:42px;min-width:42px;height:42px;padding:0;border-radius:13px;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text);border:1px solid var(--border);font-size:16px;font-weight:900;display:grid;place-items:center;}
.messenger-form .messenger-tool:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 16%,transparent);}
.messenger-form .messenger-tool:disabled{opacity:.45;cursor:not-allowed;}
.messenger-form #messengerGif{font-size:12px;letter-spacing:.03em;}
.messenger-composer-tray{border-top:1px solid var(--border);background:color-mix(in srgb,var(--panel2) 82%,var(--bg));padding:8px 12px;}
.messenger-composer-tray[hidden]{display:none!important;}
.messenger-picker{display:grid;gap:7px;}
.messenger-picker>b{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.messenger-picker>[data-picker-close]{position:absolute;right:16px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text);font-weight:900;width:28px;height:28px;}
.messenger-picker>div{display:flex;flex-wrap:wrap;gap:6px;padding-right:34px;}
.messenger-picker [data-emoji]{width:34px;height:32px;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--text) 7%,transparent);font-size:18px;cursor:pointer;}
.messenger-gif-preview{display:block;max-width:min(260px,100%);max-height:180px;border-radius:10px;object-fit:cover;}
.messenger-attachment-link{padding:5px 7px;font-size:12px;}
@media(max-width:760px){
  .messenger-thread-person .avatar,.messenger-thread-person .avatar-initials{width:28px;height:28px;}
  .messenger-message{max-width:88%;padding:7px 9px;}
  .messenger-form{gap:6px;padding:8px;}
  .messenger-form .messenger-tool{width:38px;min-width:38px;height:38px;}
  .messenger-form button[type="submit"]{min-height:38px;padding:0 12px;}
  .messenger-form input{min-height:38px;padding:8px 10px;}
}

/* v378 messenger media previews, aligned emoji picker, GIF search panel */
.messenger-emoji-picker [data-emoji]{display:grid!important;place-items:center;line-height:1;padding:0;text-align:center;vertical-align:middle;overflow:hidden;}
.messenger-emoji-picker [data-emoji] span{display:block;line-height:1;transform:translateY(0);font-size:18px;}
.messenger-media-button{border:0;background:transparent;color:inherit;padding:0;margin:0;display:block;cursor:zoom-in;text-align:left;}
.messenger-image-attachment{display:grid;gap:6px;margin-top:4px;}
.messenger-image-attachment img{display:block;max-width:min(260px,100%);max-height:190px;border-radius:12px;object-fit:contain;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);background:color-mix(in srgb,var(--bg) 58%,transparent);}
.messenger-message.mine .messenger-image-attachment img{border-color:color-mix(in srgb,#120900 18%,transparent);background:color-mix(in srgb,#fff 18%,transparent);}
.messenger-media-modal{position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,.82);display:none;align-items:center;justify-content:center;padding:28px;}
.messenger-media-modal.open{display:flex;}
.messenger-media-modal img{max-width:96vw;max-height:92vh;object-fit:contain;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.55);}
.messenger-media-modal button{position:fixed;top:18px;right:22px;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;display:grid;place-items:center;cursor:pointer;}
.messenger-gif-picker .messenger-gif-search{display:flex;gap:8px;padding-right:34px;}
.messenger-gif-picker .messenger-gif-search input{flex:1;min-width:0;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 72%,transparent);color:var(--text);padding:8px 10px;}
.messenger-gif-picker .messenger-gif-search button{border:0;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#150900;font-weight:900;padding:0 12px;}
.messenger-gif-results{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding-right:34px;max-height:210px;overflow:auto;}
.messenger-gif-results p{grid-column:1/-1;margin:4px 0;}
.messenger-gif-results button{border:1px solid var(--border);background:color-mix(in srgb,var(--text) 7%,transparent);border-radius:10px;padding:3px;cursor:pointer;height:72px;overflow:hidden;}
.messenger-gif-results button:hover{border-color:color-mix(in srgb,var(--brand) 44%,transparent);filter:brightness(1.12);}
.messenger-gif-results img{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block;}
@media(max-width:760px){.messenger-gif-results{grid-template-columns:repeat(3,minmax(0,1fr));max-height:190px}.messenger-image-attachment img{max-width:min(220px,100%);max-height:170px}.messenger-media-modal{padding:14px}.messenger-media-modal button{top:12px;right:12px}}

/* v379 messenger new-chat flow, chat-list search, GIF picker cleanup */
.messenger-search button#messengerNewChat{min-width:86px;white-space:nowrap;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#150900;}
.messenger-new-chat{display:grid;gap:9px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--panel) 72%,var(--bg));padding:10px;margin-bottom:10px;box-shadow:0 10px 22px rgba(0,0,0,.16);}
.messenger-new-chat-head{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.messenger-new-chat-head b{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.messenger-new-chat-head button{width:30px;height:30px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text);display:grid;place-items:center;line-height:1;font-size:18px;font-weight:900;cursor:pointer;}
.messenger-new-chat input{width:100%;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 72%,transparent);color:var(--text);padding:9px 10px;}
.messenger-new-chat-selected{display:flex;flex-wrap:wrap;gap:6px;}
.messenger-new-chat-selected button{display:flex;align-items:center;gap:6px;max-width:100%;border:1px solid color-mix(in srgb,var(--brand) 38%,transparent);background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--text);border-radius:999px;padding:4px 7px 4px 4px;cursor:pointer;}
.messenger-new-chat-selected .avatar{width:24px;height:24px;}
.messenger-new-chat-selected span{max-width:135px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:800;}
.messenger-new-chat-selected b{font-size:16px;line-height:1;color:var(--muted);}
.messenger-new-chat-results{display:grid;gap:2px;max-height:260px;overflow:auto;}
.messenger-new-chat-results .messenger-contact{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;margin:0;padding:8px;}
.messenger-new-chat-results .messenger-contact .avatar{width:30px;height:30px;}
.messenger-new-chat-start{border:0;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#150900;font-weight:900;padding:10px 12px;cursor:pointer;}
.messenger-new-chat-start:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4);}
.messenger-picker{position:relative;}
.messenger-picker>[data-picker-close]{top:0;right:0;display:grid;place-items:center;line-height:1;padding:0;font-size:18px;}
.messenger-picker>div{padding-right:38px;}
.messenger-gif-picker .messenger-gif-search{padding-right:38px;}
.messenger-gif-results{padding-right:38px;}
.messenger-gif-results button{display:block;position:relative;}
.messenger-gif-results button::after{content:'';position:absolute;inset:auto 5px 5px auto;width:22px;height:18px;border-radius:7px;background:rgba(0,0,0,.45);}
.messenger-gif-results button::before{content:'▶';position:absolute;right:10px;bottom:5px;z-index:1;font-size:10px;color:#fff;}
@media(max-width:760px){.messenger-search button#messengerNewChat{min-width:78px}.messenger-new-chat-results{max-height:220px}.messenger-new-chat-selected span{max-width:115px}}

/* v380 messenger GIF CSP support, close button alignment, smoother new-chat search */
.messenger-media-modal button,
.messenger-picker>[data-picker-close],
.messenger-new-chat-head button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  padding:0!important;
  text-align:center!important;
}
.messenger-media-modal button{font-size:24px!important;font-weight:900!important;}
.messenger-picker>[data-picker-close]{font-size:18px!important;top:0!important;right:0!important;}
.messenger-new-chat-head button{font-size:18px!important;}
.messenger-gif-results img{animation-play-state:running;}
.messenger-gif-results button{min-height:72px;}

/* v381 messenger GIF search proxy, compact attachments, and toggleable pickers */
.messenger-gif-results{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.messenger-attachment-link{max-width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;line-height:1.25;}
.messenger-attachments{min-width:0;max-width:100%;}
.messenger-message{min-width:0;overflow-wrap:anywhere;}
.messenger-media-modal button,
.messenger-picker>[data-picker-close],
.messenger-new-chat-head button{display:grid!important;place-items:center!important;align-items:center!important;justify-items:center!important;text-align:center!important;line-height:1!important;padding:0!important;}
.messenger-media-modal button{font-size:24px!important;}
@media(max-width:760px){.messenger-gif-results{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px}.messenger-gif-results button{height:62px}}

/* v382 dynamic GIF search and no search button */
.messenger-gif-search{display:block!important;padding-right:38px!important;}
.messenger-gif-search input{width:100%;min-width:0;}
.messenger-gif-results{grid-template-columns:repeat(4,minmax(0,1fr))!important;}

/* v383 messenger mobile access, reliable bottom scroll, GIF search stability */
@media(max-width:760px){
  .profile-messenger{display:block!important;position:fixed!important;inset:auto 0 0 0!important;z-index:4200!important;pointer-events:none!important;filter:none!important;}
  .profile-messenger .messenger-toggle{display:flex!important;position:fixed!important;left:12px!important;bottom:12px!important;z-index:4210!important;pointer-events:auto!important;writing-mode:horizontal-tb!important;transform:none!important;min-height:0!important;border-radius:999px!important;padding:12px 16px!important;}
  .profile-messenger .messenger-toggle span{writing-mode:horizontal-tb!important;transform:none!important;}
  .profile-messenger .messenger-toggle b{writing-mode:horizontal-tb!important;transform:none!important;}
  .profile-messenger .messenger-panel{position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;border-radius:0!important;z-index:4205!important;pointer-events:auto!important;display:flex!important;flex-direction:column!important;}
  .profile-messenger.collapsed .messenger-panel{transform:translateY(103%)!important;opacity:0!important;pointer-events:none!important;}
  .profile-messenger:not(.collapsed) .messenger-toggle{display:none!important;}
  .profile-messenger .messenger-layout{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;min-height:0!important;max-height:none!important;flex:1!important;height:auto!important;}
  .profile-messenger .messenger-sidebar{max-height:32dvh!important;min-height:0!important;overflow:auto!important;border-right:0!important;border-bottom:1px solid var(--border)!important;}
  .profile-messenger .messenger-thread{min-height:0!important;overflow:hidden!important;}
  .profile-messenger .messenger-messages{min-height:0!important;flex:1!important;overflow:auto!important;}
  .profile-messenger .messenger-composer-tray{max-height:34dvh!important;overflow:auto!important;}
  .profile-messenger .messenger-form{padding-bottom:max(8px,env(safe-area-inset-bottom))!important;}
}
.messenger-gif-picker .messenger-gif-search button{display:none!important;}
.messenger-gif-results .muted.small{grid-column:1/-1;}

/* v384: searchable expanded emoji picker for Employee Messenger. */
.messenger-emoji-picker .messenger-emoji-search{display:block!important;padding-right:38px!important;}
.messenger-emoji-picker .messenger-emoji-search input{width:100%;min-width:0;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 72%,transparent);color:var(--text);padding:8px 10px;}
.messenger-emoji-results{display:grid!important;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;padding-right:38px;max-height:170px;overflow:auto;}
.messenger-emoji-results p{grid-column:1/-1;margin:4px 0;}
.messenger-emoji-results [data-emoji]{display:grid!important;place-items:center;width:100%;height:34px;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--text) 7%,transparent);font-size:19px;line-height:1;cursor:pointer;padding:0;text-align:center;overflow:hidden;}
.messenger-emoji-results [data-emoji]:hover{border-color:color-mix(in srgb,var(--brand) 44%,transparent);filter:brightness(1.12);}
.messenger-emoji-results [data-emoji] span{display:block;line-height:1;font-size:19px;}
@media(max-width:760px){.messenger-emoji-results{grid-template-columns:repeat(8,minmax(0,1fr));max-height:160px;gap:5px}.messenger-emoji-results [data-emoji]{height:32px;font-size:18px}}


/* v385: compact collapsible chat list on mobile. */
.messenger-chats-toggle{width:100%;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:default;padding:0;margin:10px 4px 6px;}
.messenger-chats-toggle span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.messenger-chats-toggle small{font-size:11px;color:var(--muted);font-weight:800;white-space:nowrap;}
@media(max-width:760px){
  .profile-messenger .messenger-sidebar{padding:7px 9px!important;max-height:40dvh!important;transition:max-height .16s ease,padding .16s ease!important;}
  .profile-messenger .messenger-chats-toggle{cursor:pointer;margin:0!important;padding:8px 10px!important;border:1px solid var(--border)!important;border-radius:12px!important;background:color-mix(in srgb,var(--panel2) 72%,var(--bg))!important;color:var(--text)!important;}
  .profile-messenger .messenger-chats-toggle::after{content:'▾';font-size:13px;color:var(--muted);margin-left:4px;transition:transform .15s ease;}
  .profile-messenger.mobile-chats-collapsed .messenger-chats-toggle::after{transform:rotate(-90deg);}
  .profile-messenger.mobile-chats-collapsed .messenger-sidebar{max-height:46px!important;min-height:46px!important;overflow:hidden!important;padding:6px 8px!important;}
  .profile-messenger.mobile-chats-collapsed .messenger-search,
  .profile-messenger.mobile-chats-collapsed #messengerContacts,
  .profile-messenger.mobile-chats-collapsed #messengerConversations{display:none!important;}
  .profile-messenger.mobile-chats-collapsed .messenger-list-title{margin:0!important;}
  .profile-messenger.mobile-chats-collapsed .messenger-layout{grid-template-rows:46px minmax(0,1fr)!important;}
  .profile-messenger.mobile-chats-open .messenger-sidebar{max-height:min(34dvh,230px)!important;overflow:auto!important;}
  .profile-messenger.mobile-chats-open .messenger-layout{grid-template-rows:auto minmax(0,1fr)!important;}
  .profile-messenger .messenger-search{margin:7px 0!important;gap:6px!important;}
  .profile-messenger .messenger-search input{padding:8px 9px!important;border-radius:11px!important;}
  .profile-messenger .messenger-search button#messengerNewChat{min-width:74px!important;padding:0 9px!important;border-radius:11px!important;}
  .profile-messenger .messenger-conversation{padding:7px 8px!important;margin:2px 0!important;border-radius:12px!important;}
  .profile-messenger .messenger-conversation .avatar{width:28px!important;height:28px!important;}
  .profile-messenger .messenger-conversation small{font-size:11px!important;}
}

/* v387 chat pending attachment preview */
.messenger-pending-attachment{padding:8px 12px 0;background:color-mix(in srgb,var(--panel2) 72%,var(--bg));border-top:1px solid var(--border);}
.messenger-pending-card{display:flex;align-items:center;gap:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 76%,transparent);border-radius:14px;padding:8px;max-width:100%;}
.messenger-pending-card img{width:54px;height:42px;object-fit:cover;border-radius:10px;border:1px solid var(--border);}
.messenger-pending-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--text) 8%,transparent);}
.messenger-pending-card div{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px;}
.messenger-pending-card b{font-size:13px;color:var(--text);}
.messenger-pending-card small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.messenger-pending-card button{width:34px;height:34px;min-width:34px;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text);font-size:0;font-weight:900;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;}
.messenger-pending-card button::before{content:'×';font-size:22px;line-height:1;display:block;transform:translateY(-1px);}
.messenger-pending-card button:hover{background:color-mix(in srgb,var(--danger, #ef4444) 18%,transparent);}
@media(max-width:760px){.messenger-pending-attachment{padding:6px 8px 0}.messenger-pending-card{padding:6px}.messenger-pending-card img{width:46px;height:36px}}

/* v395 chat bubble alignment: current user's messages right, other participants left. */
.messenger-messages{display:flex;flex-direction:column;align-items:stretch;}
.messenger-message{align-self:flex-start;margin-left:0!important;margin-right:auto!important;}
.messenger-message.theirs{align-self:flex-start;margin-left:0!important;margin-right:auto!important;}
.messenger-message.mine{align-self:flex-end;margin-left:auto!important;margin-right:0!important;}
.messenger-message.mine small,
.messenger-message.mine time{text-align:right;}
.messenger-message.theirs small,
.messenger-message.theirs time{text-align:left;}
@media(max-width:760px){.messenger-message.mine{align-self:flex-end!important}.messenger-message.theirs{align-self:flex-start!important}}


/* v396 chat image and attachment bubble containment */
.messenger-message{max-width:min(74%,520px);}
.messenger-message.mine .messenger-attachments,
.messenger-message.mine .messenger-image-attachment{justify-items:end;}
.messenger-message.theirs .messenger-attachments,
.messenger-message.theirs .messenger-image-attachment{justify-items:start;}
.messenger-attachments,
.messenger-image-attachment,
.messenger-media-button{min-width:0;max-width:100%;}
.messenger-media-button{justify-self:inherit;}
.messenger-message.mine .messenger-media-button{justify-self:end;}
.messenger-message.theirs .messenger-media-button{justify-self:start;}
.messenger-image-attachment img{max-width:100%;height:auto;}
.messenger-attachment-link{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;width:100%!important;max-width:100%!important;box-sizing:border-box;min-width:0!important;}
.messenger-attachment-name{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;line-height:1.25;}
.messenger-attachment-link small{white-space:nowrap;align-self:end;}
@media(max-width:760px){.messenger-message{max-width:88%;}.messenger-attachment-link{grid-template-columns:minmax(0,1fr);}.messenger-attachment-link small{justify-self:end;}}

/* v397 compact messenger header and right-aligned sender content */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.messenger-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;}
.messenger-title-block{min-width:0;display:flex;flex-direction:column;gap:2px;}
.messenger-title-block strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.messenger-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.messenger-status-select{appearance:auto;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 72%,transparent);color:var(--text);padding:7px 34px 7px 10px;min-width:132px;max-width:160px;font-weight:800;box-shadow:none;}
.messenger-status-row{display:none!important;}
.messenger-message.mine{text-align:right;}
.messenger-message.mine p{text-align:right;}
.messenger-message.theirs,.messenger-message.theirs p{text-align:left;}
.messenger-message.mine .messenger-attachment-link{text-align:left;}
.messenger-message.mine .messenger-attachment-name{text-align:left;}
.messenger-attachment-name{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;line-height:1.25;}
.messenger-attachment-link{overflow:hidden;}
@media(max-width:760px){.messenger-head{padding:10px 12px}.messenger-status-select{min-width:112px;max-width:128px;padding:6px 26px 6px 8px;font-size:12px}.messenger-title-block strong{font-size:14px}.messenger-title-block span{font-size:11px}.messenger-head-actions{gap:6px}}

/* v398 stable messenger tab and per-chat remove button */
.profile-messenger .messenger-toggle{
  align-self:center!important;
  flex:0 0 auto!important;
  height:132px!important;
  min-height:132px!important;
  max-height:132px!important;
}
.profile-messenger.collapsed .messenger-toggle{
  align-self:center!important;
}
.messenger-conversations{display:grid;gap:2px;}
.messenger-conversation-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 30px;
  align-items:center;
  gap:6px;
  border:1px solid transparent;
  border-radius:14px;
  padding:0 4px 0 0;
}
.messenger-conversation-row:hover,
.messenger-conversation-row.active{
  background:color-mix(in srgb,var(--brand) 12%,transparent);
  border-color:color-mix(in srgb,var(--brand) 28%,transparent);
}
.messenger-conversation-row .messenger-conversation{
  min-width:0;
  margin:0!important;
  border-color:transparent!important;
  background:transparent!important;
}
.messenger-hide-chat{
  justify-self:end;
  width:26px;
  height:26px;
  min-width:26px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,#ef4444 45%,transparent);
  background:color-mix(in srgb,#ef4444 16%,transparent);
  color:#fecaca;
  font-size:19px;
  font-weight:900;
  line-height:1;
  display:grid;
  place-items:center;
  padding:0;
  cursor:pointer;
}
.messenger-hide-chat:hover,
.messenger-hide-chat:focus-visible{
  background:#ef4444;
  color:#fff;
  outline:none;
}
@media(max-width:760px){
  .profile-messenger .messenger-toggle{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    align-self:auto!important;
  }
  .messenger-conversation-row{grid-template-columns:minmax(0,1fr) 28px;gap:4px;padding-right:3px;}
  .messenger-hide-chat{width:24px;height:24px;min-width:24px;font-size:17px;}
}


/* v399 one-on-one message cleanup and local timestamps */
.messenger-message .messenger-sender-name{display:block;font-weight:800;}
.messenger-message:not(.group) .messenger-sender-name:empty{display:none;}
.messenger-message time{white-space:nowrap;}
@media(max-width:760px){.messenger-message time{white-space:normal;}}

/* v400 media-only image attachments and modal download action */
.messenger-image-attachment{margin-top:0;}
.messenger-image-attachment .messenger-media-button{display:grid;max-width:100%;}
.messenger-message.mine .messenger-image-attachment .messenger-media-button{justify-self:end;}
.messenger-message.theirs .messenger-image-attachment .messenger-media-button{justify-self:start;}
.messenger-message:has(.messenger-image-attachment) p:empty{display:none;}
.messenger-media-actions{position:fixed;top:18px;right:22px;display:flex;align-items:center;gap:10px;z-index:5001;}
.messenger-media-modal .messenger-media-close{position:static!important;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:#fff;font-size:30px!important;line-height:1;display:grid!important;place-items:center;cursor:pointer;padding:0!important;}
.messenger-media-download{min-height:42px;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:14px;font-weight:900;padding:0 16px;}
.messenger-media-download:hover,.messenger-media-close:hover{background:rgba(255,255,255,.22);}
.messenger-media-download[hidden]{display:none!important;}
@media(max-width:760px){.messenger-media-actions{top:12px;right:12px}.messenger-media-download{min-height:38px;padding:0 12px;font-size:13px}.messenger-media-modal .messenger-media-close{width:38px;height:38px;font-size:26px!important;}}

/* v401 compact new chat composer */
.messenger-new-chat.compact{gap:8px;padding:9px;margin-bottom:8px;}
.messenger-new-chat-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;}
.messenger-new-chat-actions .messenger-new-chat-start{white-space:nowrap;min-height:40px;padding:9px 12px;}
.messenger-new-chat.compact .messenger-new-chat-results:empty{display:none;}
.messenger-new-chat.compact .messenger-new-chat-selected{margin-top:0;}
@media(max-width:520px){.messenger-new-chat-actions{grid-template-columns:1fr}.messenger-new-chat-actions .messenger-new-chat-start{width:100%;}}

/* v402 messenger Teams-style message actions, replies, and reactions */
.messenger-message{position:relative;}
.messenger-message-actions{position:absolute;top:-18px;display:flex;align-items:center;gap:4px;padding:3px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--panel2) 92%,var(--bg));box-shadow:0 10px 26px rgba(0,0,0,.28);opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .14s ease,transform .14s ease;z-index:5;}
.messenger-message.mine .messenger-message-actions{right:8px;}
.messenger-message.theirs .messenger-message-actions{left:8px;}
.messenger-message:hover .messenger-message-actions,.messenger-message:focus-within .messenger-message-actions,.messenger-message.actions-open .messenger-message-actions{opacity:1;pointer-events:auto;transform:translateY(0);}
.messenger-message-actions button{border:0;border-radius:999px;background:transparent;color:var(--text);font-size:13px;font-weight:800;line-height:1;min-width:28px;height:26px;padding:0 8px;cursor:pointer;display:grid;place-items:center;}
.messenger-message.mine .messenger-message-actions button{color:var(--text);}
.messenger-message-actions button:hover{background:color-mix(in srgb,var(--brand) 20%,transparent);}

/* v404 keep the Reply action readable */
.messenger-message-actions button[data-reply-message]{min-width:54px;white-space:nowrap;word-break:normal;overflow-wrap:normal;padding:0 10px;}
.messenger-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;justify-content:flex-start;}
.messenger-message.mine .messenger-reactions{justify-content:flex-end;}
.messenger-reactions button{border:1px solid color-mix(in srgb,var(--text) 18%,transparent);border-radius:999px;background:color-mix(in srgb,var(--bg) 42%,transparent);color:inherit;font-size:12px;font-weight:800;line-height:1;padding:4px 7px;cursor:pointer;}
.messenger-reactions button.mine{border-color:color-mix(in srgb,var(--brand) 58%,transparent);background:color-mix(in srgb,var(--brand) 22%,transparent);}
.messenger-reactions button:hover{filter:brightness(1.12);}
.messenger-reply-preview{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--panel2) 78%,var(--bg));padding:8px 12px;}
.messenger-reply-preview>div{min-width:0;display:grid;gap:2px;flex:1;border-left:3px solid color-mix(in srgb,var(--brand) 72%,transparent);padding-left:9px;}
.messenger-reply-preview b{font-size:12px;color:var(--text);}
.messenger-reply-preview span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.messenger-reply-preview button{width:30px;height:30px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text);font-size:18px;font-weight:900;display:grid;place-items:center;cursor:pointer;}
.messenger-reply-quote{width:100%;display:grid;gap:2px;text-align:left;border:0;border-left:3px solid color-mix(in srgb,var(--brand) 72%,transparent);border-radius:8px;background:color-mix(in srgb,var(--bg) 34%,transparent);color:inherit;padding:6px 8px;margin:2px 0 6px;cursor:pointer;}
.messenger-message.mine .messenger-reply-quote{text-align:right;border-left:0;border-right:3px solid color-mix(in srgb,#120900 34%,transparent);}
.messenger-reply-quote b{font-size:11px;opacity:.78;}
.messenger-reply-quote span{font-size:12px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.messenger-message-flash{animation:messenger-message-flash .9s ease;}
@keyframes messenger-message-flash{0%,100%{outline:0}20%,70%{outline:3px solid color-mix(in srgb,var(--brand) 65%,transparent);outline-offset:3px}}
@media(max-width:760px){
  .messenger-message-actions{top:-20px;max-width:min(92vw,330px);overflow:auto;}
  .messenger-message-actions button{height:30px;min-width:32px;font-size:14px;}
  .messenger-message.actions-open{z-index:6;}
}

/* v406 messenger header status cleanup */
.messenger-title-block{gap:0;}
.messenger-title-block > span{display:none!important;}
.messenger-head-actions{display:flex;align-items:center;gap:8px;}
.messenger-header-status-dot{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin-right:-2px;}
.messenger-header-status-dot .messenger-dot{margin:0;width:10px;height:10px;box-shadow:0 0 0 2px color-mix(in srgb,var(--bg) 65%,transparent);}
.messenger-status-select{padding-left:10px;}
@media(max-width:760px){.messenger-head-actions{gap:7px}.messenger-header-status-dot .messenger-dot{width:9px;height:9px}.messenger-title-block > span{display:none!important}}

/* v407 messenger wider chat window */
.profile-messenger .messenger-panel{width:min(920px,calc(100vw - 46px));max-width:920px;}
@media(max-width:760px){.profile-messenger .messenger-panel{width:100vw;max-width:none;}}

/* v410 messenger GIF sender-side alignment */
.messenger-media-message{display:grid!important;margin:1px 0 3px!important;min-width:0;max-width:100%;}
.messenger-message.mine .messenger-media-message{justify-items:end;text-align:right;}
.messenger-message.theirs .messenger-media-message{justify-items:start;text-align:left;}
.messenger-media-message .messenger-media-button{display:grid;width:max-content;max-width:100%;min-width:0;padding:0;border:0;background:transparent;color:inherit;border-radius:10px;cursor:zoom-in;}
.messenger-message.mine .messenger-media-message .messenger-media-button{justify-self:end;margin-left:auto;margin-right:0;}
.messenger-message.theirs .messenger-media-message .messenger-media-button{justify-self:start;margin-left:0;margin-right:auto;}
.messenger-media-message .messenger-gif-preview{max-width:min(260px,100%);height:auto;display:block;}
@media(max-width:760px){.messenger-media-message .messenger-gif-preview{max-width:min(220px,100%);}}

/* v411: keep inline GIF/media messages on the sender side and support soft-deleted chat messages. */
.messenger-message.mine .messenger-media-message{display:flex!important;justify-content:flex-end!important;text-align:right!important;width:100%!important;}
.messenger-message.theirs .messenger-media-message{display:flex!important;justify-content:flex-start!important;text-align:left!important;width:100%!important;}
.messenger-message.mine .messenger-media-message .messenger-media-button,
.messenger-message.mine .messenger-media-message .messenger-gif-preview{margin-left:auto!important;margin-right:0!important;}
.messenger-message.theirs .messenger-media-message .messenger-media-button,
.messenger-message.theirs .messenger-media-message .messenger-gif-preview{margin-left:0!important;margin-right:auto!important;}
.messenger-message.deleted{opacity:.78;font-style:italic;}
.messenger-message .messenger-deleted-text{font-style:italic;opacity:.8;margin-bottom:4px;}
.messenger-message .messenger-deleted-original{font-style:normal;opacity:.92;border-top:1px solid rgba(255,255,255,.22);margin-top:4px;padding-top:5px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;}
.messenger-message.mine.deleted .messenger-deleted-original{text-align:right;}
.messenger-message-actions button[data-delete-message]{min-width:58px;white-space:nowrap;color:#ffb4b4!important;}
.messenger-message-actions button[data-delete-message]:hover{background:rgba(220,38,38,.24);}
.chat-admin-download-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.chat-admin-message.deleted{border-color:rgba(248,113,113,.35);background:rgba(248,113,113,.08);}
.chat-admin-message .deleted-note{display:inline-block;margin-left:8px;color:#fca5a5;font-weight:800;}

/* v413: message delete undo action */
.messenger-message-actions button[data-undo-delete-message]{min-width:54px;white-space:nowrap;color:#b7f7d2!important;}
.messenger-message-actions button[data-undo-delete-message]:hover{background:rgba(34,197,94,.22);}


/* v416 deleted-message sender media preview and attachment dedupe support */
.messenger-message.deleted .messenger-attachments.deleted-private-media{margin-top:6px;opacity:.92;}
.messenger-message.deleted .messenger-attachments.deleted-private-media .messenger-image-attachment{filter:saturate(.85);}
.messenger-message.mine.deleted .messenger-attachments.deleted-private-media{justify-items:end;}
.messenger-message.theirs.deleted .messenger-attachments.deleted-private-media{display:none;}

/* v419: employee Payroll Center */
.payroll-center .section-head{align-items:flex-start;gap:12px;}
.payroll-center .panel{background:color-mix(in srgb,var(--panel) 72%,var(--bg));border:1px solid var(--border);border-radius:18px;padding:14px;}
.payroll-center .activity-list div{border-bottom:1px solid var(--border);padding:8px 0;}
.payroll-center .activity-list div:last-child{border-bottom:0;}
.payroll-profile-grid{align-items:start;}
@media(max-width:820px){.payroll-profile-grid{grid-template-columns:1fr!important}.payroll-center .section-head{display:grid}.payroll-center .section-head .btn{width:100%;}}
/* v491 payroll operations inside employee profile */
.payroll-operations{display:grid;gap:16px;margin-bottom:18px;}
.payroll-operations .panel{background:color-mix(in srgb,var(--panel) 72%,var(--bg));border:1px solid var(--border);border-radius:18px;padding:14px;}
.profile-payroll-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:.74rem;font-weight:700;text-transform:capitalize;background:rgba(59,130,246,.14);color:#3b82f6;}
.profile-payroll-pill.ok{background:rgba(34,197,94,.14);color:#16a34a;}
.profile-payroll-pill.warn{background:rgba(245,158,11,.17);color:#d97706;}
.profile-payroll-period{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:12px 0;}
.profile-payroll-period label{display:grid;gap:5px;min-width:155px;}
.profile-payroll-kpis{margin:12px 0;}
.profile-payroll-kpis .warn{border-color:rgba(245,158,11,.38);background:rgba(245,158,11,.08);}
.profile-payroll-table{overflow:auto;border:1px solid var(--border);border-radius:12px;}
.profile-payroll-table table{width:100%;border-collapse:collapse;min-width:740px;}
.profile-payroll-table th,.profile-payroll-table td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--border);font-size:.86rem;vertical-align:top;}
.profile-payroll-table td small{display:block;color:var(--muted);margin-top:4px;}
.profile-payroll-list{display:grid;gap:7px;margin:10px 0 12px;max-height:260px;overflow:auto;}
.profile-payroll-row{display:grid;gap:4px;border:1px solid var(--border);border-radius:10px;padding:9px;}
.profile-payroll-row span{font-size:.83rem;color:var(--muted);}
.payroll-operations details{border-top:1px solid var(--border);padding-top:10px;margin-top:12px;}
.payroll-operations summary{cursor:pointer;font-weight:700;margin-bottom:10px;}
.profile-payroll-inline-form,.profile-payroll-case,.profile-payroll-task{display:grid;gap:8px;margin-bottom:10px;}
.profile-payroll-case,.profile-payroll-task{border:1px solid var(--border);border-radius:10px;padding:10px;}
.profile-payroll-case span,.profile-payroll-task span{font-size:.83rem;color:var(--muted);}
@media(max-width:820px){.profile-payroll-period{display:grid}.profile-payroll-period label{min-width:0}.profile-payroll-table table{min-width:640px}}


/* v421: compact schedule workspaces and remove dead header space */
.schedule-workspace.schedule-workspace-compact{
  width:min(1760px,98vw)!important;
  height:min(980px,95vh)!important;
}
.schedule-workspace-compact .schedule-workspace-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 18px!important;
}
.schedule-workspace-compact .workspace-title-row{
  display:flex!important;
  align-items:baseline!important;
  gap:10px!important;
  min-width:0!important;
  flex-wrap:wrap!important;
}
.schedule-workspace-compact .workspace-title-row .eyebrow{
  margin:0!important;
  white-space:nowrap!important;
}
.schedule-workspace-compact .workspace-title-row h2{
  margin:0!important;
  font-size:1.2rem!important;
  line-height:1.05!important;
  white-space:nowrap!important;
}
.schedule-workspace-compact .workspace-title-row p{
  margin:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.schedule-workspace-compact .workspace-actions{
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
}
.schedule-workspace-compact .workspace-actions .ghost,
.schedule-workspace-compact .workspace-actions input{
  min-height:38px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
}
.schedule-workspace-compact .workspace-actions input[type="date"]{
  width:150px!important;
  max-width:150px!important;
}
.schedule-workspace-compact .workspace-actions .modal-close{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
}
.schedule-workspace-compact .schedule-workspace-tabs{
  align-items:center!important;
  gap:8px!important;
  padding:8px 18px!important;
}
.schedule-workspace-compact .schedule-workspace-tabs button{
  padding:7px 12px!important;
  line-height:1.05!important;
}
.schedule-workspace-compact .schedule-workspace-body{
  padding:12px 18px 18px!important;
}
.schedule-workspace-compact .section-head.compact.schedule-inline-summary{
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:10px!important;
}
.schedule-workspace-compact .section-head.compact.schedule-inline-summary h3,
.schedule-workspace-compact .section-head.compact.schedule-inline-summary p{
  margin:0!important;
}
.schedule-workspace-compact .schedule-team-picker,
.client-schedule-workspace.schedule-workspace-compact .client-schedule-picker{
  margin-bottom:10px!important;
  padding:10px 14px!important;
  border-radius:18px!important;
}
.schedule-workspace-compact .schedule-team-head{
  gap:10px!important;
}
.schedule-workspace-compact .schedule-picker-toggle{
  min-height:38px!important;
}
.schedule-workspace-compact .schedule-picker-toggle-copy{
  display:flex!important;
  align-items:baseline!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.schedule-workspace-compact .schedule-people-row{
  max-height:124px!important;
  overflow:auto!important;
  padding-right:4px!important;
}
.schedule-workspace-compact .schedule-person-card{
  padding:6px 10px!important;
}
.schedule-workspace-compact .avatar-mini{
  width:28px!important;
  height:28px!important;
}
.schedule-workspace-compact .workspace-board{
  min-width:0!important;
  width:100%!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:8px!important;
  overflow:visible!important;
}
.schedule-workspace-compact .portal-schedule-day{
  min-height:250px!important;
  padding:8px!important;
  border-radius:16px!important;
}
.client-schedule-workspace.schedule-workspace-compact .schedule-workspace-tabs .client-schedule-kpi-inline{
  margin-left:auto!important;
}
.client-schedule-workspace.schedule-workspace-compact .client-schedule-kpi-inline span{
  padding:5px 9px!important;
  font-size:.78rem!important;
}
.client-schedule-workspace.schedule-workspace-compact .client-schedule-search-row{
  margin:6px 0 8px!important;
}
.client-schedule-workspace.schedule-workspace-compact .client-schedule-board.two-week-board{
  gap:8px!important;
}
.client-schedule-workspace.schedule-workspace-compact .client-schedule-day{
  min-height:232px!important;
}
@media(max-width:900px){
  .schedule-workspace-compact .schedule-workspace-head{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  .schedule-workspace-compact .workspace-actions{
    justify-content:start!important;
    flex-wrap:wrap!important;
  }
  .schedule-workspace-compact .workspace-title-row p{
    white-space:normal!important;
  }
  .schedule-workspace-compact .workspace-board{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .schedule-workspace-compact .schedule-workspace-head,
  .schedule-workspace-compact .schedule-workspace-tabs,
  .schedule-workspace-compact .schedule-workspace-body{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .schedule-workspace-compact .workspace-board{
    grid-template-columns:1fr!important;
  }
  .schedule-workspace-compact .portal-schedule-day{
    min-height:220px!important;
  }
  .client-schedule-workspace.schedule-workspace-compact .schedule-workspace-tabs .client-schedule-kpi-inline{
    margin-left:0!important;
  }
}

/* v422: compact ticket queue workspace header and list controls */
.ticket-workspace-shell.ticket-workspace-compact{
  width:min(1560px,98vw)!important;
  height:min(900px,95vh)!important;
}
.ticket-workspace-compact .ticket-workspace-head.ticket-head-condensed{
  display:grid!important;
  grid-template-columns:max-content minmax(420px,1fr) max-content!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 14px!important;
  min-height:0!important;
}
.ticket-workspace-compact .ticket-title-inline{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
.ticket-workspace-compact .ticket-title-inline .eyebrow{
  white-space:nowrap!important;
  padding:7px 12px!important;
  font-size:.74rem!important;
  margin:0!important;
}
.ticket-workspace-compact .ticket-title-inline h2{
  margin:0!important;
  font-size:1.45rem!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.ticket-workspace-compact .ticket-desk-filters{
  justify-content:center!important;
  gap:7px!important;
  min-width:0!important;
}
.ticket-workspace-compact .ticket-desk-filters button{
  padding:7px 10px!important;
  line-height:1!important;
  font-size:.84rem!important;
  white-space:nowrap!important;
}
.ticket-workspace-compact .ticket-workspace-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  width:auto!important;
}
.ticket-workspace-compact .ticket-workspace-actions select{
  width:150px!important;
  min-width:150px!important;
  min-height:38px!important;
  padding:7px 34px 7px 11px!important;
}
.ticket-workspace-compact .ticket-workspace-actions .ghost,
.ticket-workspace-compact .ticket-workspace-actions .modal-close{
  min-height:38px!important;
  height:38px!important;
  padding:7px 12px!important;
}
.ticket-workspace-compact .ticket-workspace-actions .modal-close{
  width:38px!important;
  min-width:38px!important;
  padding:0!important;
}
.ticket-workspace-compact .ticket-workspace-body{
  gap:10px!important;
  padding:10px!important;
}
.ticket-workspace-compact .ticket-desk-list,
.ticket-workspace-compact .ticket-desk-editor{
  border-radius:16px!important;
  padding:10px!important;
}
.ticket-workspace-compact .compact-ticket-list-head{
  display:grid!important;
  grid-template-columns:max-content minmax(160px,1fr) max-content!important;
  align-items:center!important;
  gap:8px!important;
  margin-bottom:8px!important;
}
.ticket-workspace-compact .compact-ticket-list-head strong{
  white-space:nowrap!important;
}
.ticket-workspace-compact .compact-ticket-list-head .ticket-search{
  margin:0!important;
  min-height:36px!important;
  padding:7px 10px!important;
}
.ticket-workspace-compact .ticket-desk-card{
  margin-bottom:7px!important;
  padding:8px!important;
}
@media(max-width:1100px){
  .ticket-workspace-compact .ticket-workspace-head.ticket-head-condensed{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  .ticket-workspace-compact .ticket-desk-filters{
    justify-content:flex-start!important;
  }
  .ticket-workspace-compact .ticket-workspace-actions{
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
  }
}
@media(max-width:640px){
  .ticket-workspace-shell.ticket-workspace-compact{
    width:100vw!important;
    height:100dvh!important;
    border-radius:0!important;
  }
  .ticket-workspace-compact .ticket-title-inline{
    gap:8px!important;
  }
  .ticket-workspace-compact .ticket-title-inline h2{
    font-size:1.2rem!important;
  }
  .ticket-workspace-compact .ticket-title-inline .eyebrow{
    font-size:.68rem!important;
    padding:6px 9px!important;
  }
  .ticket-workspace-compact .ticket-desk-filters{
    overflow:auto!important;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    padding-bottom:2px!important;
  }
  .ticket-workspace-compact .compact-ticket-list-head{
    grid-template-columns:1fr auto!important;
  }
  .ticket-workspace-compact .compact-ticket-list-head .ticket-search{
    grid-column:1 / -1!important;
    grid-row:2!important;
  }
}


/* v423: wider profile canvas and compact/minimal portal headers */
body[data-panopt-route="profile"] .view{
  width:min(1540px,calc(100% - 48px))!important;
  padding-top:22px!important;
}
body[data-panopt-route="profile"] .section{
  padding:22px 0!important;
}
body[data-panopt-route="profile"] #profileMount.panel{
  padding:18px 22px 24px!important;
  max-width:none!important;
}
body[data-panopt-route="profile"] .profile-head.enterprise-head{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:16px!important;
  margin:0 0 14px!important;
  padding:14px 16px!important;
  min-height:0!important;
  border-radius:18px!important;
  background:color-mix(in srgb,var(--panel) 88%,var(--accent) 12%)!important;
  border:1px solid var(--border)!important;
  box-shadow:none!important;
}
body[data-panopt-route="profile"] .profile-head.enterprise-head .profile-avatar{
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  box-shadow:0 8px 22px rgba(0,0,0,.24)!important;
}
body[data-panopt-route="profile"] .profile-head.enterprise-head h1{
  margin:0!important;
  font-size:clamp(1.25rem,2.1vw,1.85rem)!important;
  line-height:1.08!important;
}
body[data-panopt-route="profile"] .profile-head.enterprise-head p{
  margin:3px 0 0!important;
  line-height:1.3!important;
}
body[data-panopt-route="profile"] .portal-tabs{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  margin:0 0 16px!important;
  padding:0!important;
}
body[data-panopt-route="profile"] .portal-tabs button{
  padding:8px 13px!important;
  min-height:36px!important;
  line-height:1!important;
  box-shadow:none!important;
}
body[data-panopt-route="profile"] .portal-section,
body[data-panopt-route="profile"] .employee-hub,
body[data-panopt-route="profile"] .profile-photo-panel,
body[data-panopt-route="profile"] .handbook-body article,
body[data-panopt-route="profile"] .portal-kpi,
body[data-panopt-route="profile"] .portal-action{
  border-radius:18px!important;
}
body[data-panopt-route="profile"] .portal-kpi-grid.dashboard-kpis{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:10px!important;
  margin:0 0 14px!important;
}
body[data-panopt-route="profile"] .portal-kpi{
  min-height:92px!important;
  padding:13px 14px!important;
}
body[data-panopt-route="profile"] .portal-kpi strong{
  font-size:1.45rem!important;
}
body[data-panopt-route="profile"] .employee-hub,
body[data-panopt-route="profile"] .employee-hub-hero{
  padding:14px!important;
  margin-top:10px!important;
}
body[data-panopt-route="profile"] .enterprise-action-grid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  gap:10px!important;
}
body[data-panopt-route="profile"] .enterprise-action-grid .portal-action{
  min-height:116px!important;
  padding:12px!important;
  gap:4px!important;
}
body[data-panopt-route="profile"] .enterprise-action-grid .portal-action .motif-icon,
body[data-panopt-route="profile"] .enterprise-action-grid .portal-action .motif-icon img{
  width:42px!important;
  height:42px!important;
  margin-bottom:4px!important;
}
body[data-panopt-route="profile"] .section-head,
body[data-panopt-route="profile"] .support-form-head,
body[data-panopt-route="profile"] .schedule-profile-head,
body[data-panopt-route="profile"] .schedule-team-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:10px!important;
}
body[data-panopt-route="profile"] .section-head h1,
body[data-panopt-route="profile"] .section-head h2,
body[data-panopt-route="profile"] .section-head h3,
body[data-panopt-route="profile"] .schedule-profile-head h2,
body[data-panopt-route="profile"] .schedule-team-head h3{
  margin:0!important;
  line-height:1.1!important;
}
body[data-panopt-route="profile"] .section-head p,
body[data-panopt-route="profile"] .schedule-team-head p{
  margin:2px 0 0!important;
  line-height:1.28!important;
}
body[data-panopt-route="profile"] .actions{
  gap:8px!important;
  margin-top:10px!important;
}
body[data-panopt-route="profile"] .btn,
body[data-panopt-route="profile"] button{
  padding:9px 13px!important;
  min-height:36px!important;
}
body[data-panopt-route="profile"] input,
body[data-panopt-route="profile"] select,
body[data-panopt-route="profile"] textarea{
  padding:9px 11px!important;
  border-radius:12px!important;
}
body[data-panopt-route="profile"] .schedule-workspace-head,
body[data-panopt-route="profile"] .ticket-workspace-head,
body[data-panopt-route="profile"] .client-schedule-workspace .schedule-workspace-head{
  padding:10px 14px!important;
  gap:10px!important;
  min-height:0!important;
}
body[data-panopt-route="profile"] .schedule-workspace-head h2,
body[data-panopt-route="profile"] .ticket-workspace-head h2{
  font-size:1.35rem!important;
  margin:0!important;
  line-height:1.1!important;
}
body[data-panopt-route="profile"] .schedule-workspace-head p,
body[data-panopt-route="profile"] .ticket-workspace-head p{
  margin:2px 0 0!important;
  line-height:1.25!important;
}
body[data-panopt-route="profile"] .schedule-workspace-tabs,
body[data-panopt-route="profile"] .ticket-desk-filters{
  gap:7px!important;
  padding:8px 10px!important;
  margin:0!important;
}
body[data-panopt-route="profile"] .schedule-workspace-tabs button,
body[data-panopt-route="profile"] .ticket-desk-filters button{
  padding:7px 11px!important;
  min-height:34px!important;
}
body[data-panopt-route="profile"] .schedule-workspace-body,
body[data-panopt-route="profile"] .client-schedule-body,
body[data-panopt-route="profile"] .ticket-workspace-body{
  padding:10px!important;
  gap:10px!important;
}
body[data-panopt-route="profile"] .schedule-team-picker,
body[data-panopt-route="profile"] .client-schedule-picker,
body[data-panopt-route="profile"] .ticket-desk-list,
body[data-panopt-route="profile"] .ticket-desk-editor{
  padding:10px!important;
  margin-bottom:10px!important;
  border-radius:16px!important;
}
body[data-panopt-route="profile"] .handbook .section-head{
  padding:10px 12px!important;
  border:1px solid var(--border)!important;
  border-radius:16px!important;
  background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%)!important;
}
body[data-panopt-route="profile"] .handbook-layout{
  gap:12px!important;
}
@media(max-width:900px){
  body[data-panopt-route="profile"] .view{width:min(100% - 20px,1540px)!important;padding-top:14px!important;}
  body[data-panopt-route="profile"] #profileMount.panel{padding:14px!important;}
  body[data-panopt-route="profile"] .profile-head.enterprise-head{grid-template-columns:auto 1fr!important;padding:12px!important;}
  body[data-panopt-route="profile"] .profile-head.enterprise-head .profile-avatar{width:54px!important;height:54px!important;min-width:54px!important;}
  body[data-panopt-route="profile"] .section-head,
  body[data-panopt-route="profile"] .support-form-head,
  body[data-panopt-route="profile"] .schedule-profile-head,
  body[data-panopt-route="profile"] .schedule-team-head{align-items:flex-start!important;flex-direction:column!important;}
}
@media(max-width:640px){
  body[data-panopt-route="profile"] .view{width:100%!important;padding:8px 8px 24px!important;}
  body[data-panopt-route="profile"] .profile-head.enterprise-head{grid-template-columns:1fr!important;}
  body[data-panopt-route="profile"] .portal-tabs{overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:4px!important;}
  body[data-panopt-route="profile"] .portal-tabs button{white-space:nowrap!important;}
}

/* v426: messenger header restore, inline logo, and true chat-only popout */
.messenger-title-block{
  min-width:0;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
}
.messenger-title-block strong{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.messenger-brand-logo{
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
  display:inline-grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:6px!important;
  background:transparent!important;
  border:0!important;
}
.messenger-brand-logo img{
  max-width:24px!important;
  max-height:24px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  display:block!important;
}
.messenger-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto;}
.messenger-head-actions #messengerClose,
.messenger-head-actions .messenger-popout{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  border-radius:12px!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  font-weight:900!important;
}
.messenger-head-actions #messengerClose{font-size:22px!important;}
.messenger-head-actions .messenger-popout{font-size:17px!important;}
.messenger-hide-chat{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  padding:0!important;
  border-radius:999px!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
}
body.messenger-popout-mode{overflow:hidden!important;background:var(--bg)!important;}
body.messenger-popout-mode .site-header,
body.messenger-popout-mode .site-footer,
body.messenger-popout-mode #profileMount > .profile-head,
body.messenger-popout-mode #profileMount > .portal-tabs,
body.messenger-popout-mode #portalTabMount{display:none!important;}
body.messenger-popout-mode .view{width:100%!important;max-width:none!important;min-height:100vh!important;padding:0!important;margin:0!important;}
body.messenger-popout-mode #profileMount.panel{width:100%!important;max-width:none!important;min-height:100vh!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;}
body.messenger-popout-mode .profile-messenger{position:fixed!important;inset:0!important;display:block!important;filter:none!important;z-index:9999!important;}
body.messenger-popout-mode .profile-messenger .messenger-toggle{display:none!important;}
body.messenger-popout-mode .profile-messenger .messenger-panel{position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;height:100vh!important;max-height:none!important;border-radius:0!important;transform:none!important;opacity:1!important;pointer-events:auto!important;}
body.messenger-popout-mode .messenger-layout{height:auto!important;min-height:0!important;max-height:none!important;flex:1!important;}
@media(max-width:760px){.messenger-brand-logo{width:22px!important;height:22px!important;flex-basis:22px!important}.messenger-brand-logo img{max-width:22px!important;max-height:22px!important}.messenger-head-actions{gap:6px}.messenger-head-actions #messengerClose,.messenger-head-actions .messenger-popout{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important}}

/* v427: messenger logo/avatar/button alignment repair */
.messenger-head .messenger-title-block > .messenger-brand-logo{
  display:inline-grid!important;
  place-items:center!important;
  width:26px!important;
  height:26px!important;
  flex:0 0 26px!important;
  border-radius:6px!important;
  overflow:hidden!important;
  visibility:visible!important;
  opacity:1!important;
}
.messenger-head .messenger-title-block > .messenger-brand-logo img{
  display:block!important;
  max-width:26px!important;
  max-height:26px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
.profile-messenger .avatar,
.profile-messenger .messenger-avatars .avatar,
.profile-messenger .messenger-conversation .avatar,
.profile-messenger .messenger-thread-head .avatar{
  border-radius:999px!important;
  overflow:hidden!important;
  aspect-ratio:1/1!important;
}
.profile-messenger .avatar img,
.profile-messenger .messenger-avatars .avatar img,
.profile-messenger .messenger-conversation .avatar img,
.profile-messenger .messenger-thread-head .avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
  display:block!important;
}
.profile-messenger .messenger-conversation-row{
  grid-template-columns:minmax(0,1fr) 34px!important;
  gap:6px!important;
  padding:0 6px 0 0!important;
  overflow:hidden!important;
}
.profile-messenger .messenger-conversation-row .messenger-conversation{
  min-width:0!important;
}
.profile-messenger .messenger-hide-chat{
  justify-self:center!important;
  align-self:center!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  max-width:30px!important;
  max-height:30px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  padding:0!important;
  margin:0!important;
  transform:none!important;
}
.profile-messenger .messenger-form .messenger-tool,
.profile-messenger .messenger-form button[type="submit"]{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
}
.profile-messenger .messenger-form #messengerGif{
  font-size:13px!important;
  letter-spacing:0!important;
}
@media(max-width:760px){
  .messenger-head .messenger-title-block > .messenger-brand-logo{width:23px!important;height:23px!important;flex-basis:23px!important;}
  .messenger-head .messenger-title-block > .messenger-brand-logo img{max-width:23px!important;max-height:23px!important;}
  .profile-messenger .messenger-conversation-row{grid-template-columns:minmax(0,1fr) 32px!important;padding-right:5px!important;}
  .profile-messenger .messenger-hide-chat{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;}
}


/* v428: messenger logo source, round avatars, tighter row alignment, and safer popout fallback */
.messenger-head .messenger-title-block{
  gap:9px!important;
}
.messenger-head .messenger-title-block > .messenger-brand-logo{
  width:auto!important;
  max-width:88px!important;
  height:28px!important;
  flex:0 0 auto!important;
  border-radius:5px!important;
}
.messenger-head .messenger-title-block > .messenger-brand-logo img{
  width:auto!important;
  max-width:88px!important;
  height:28px!important;
  max-height:28px!important;
  object-fit:contain!important;
}
.profile-messenger .avatar,
.profile-messenger .avatar-initials,
.profile-messenger .messenger-avatars .avatar,
.profile-messenger .messenger-conversation .avatar,
.profile-messenger .messenger-thread-head .avatar,
.profile-messenger .messenger-thread-head .avatar-initials{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  max-width:30px!important;
  max-height:30px!important;
  flex:0 0 30px!important;
  border-radius:50%!important;
  aspect-ratio:1/1!important;
  overflow:hidden!important;
  display:inline-grid!important;
  place-items:center!important;
}
.profile-messenger .avatar img,
.profile-messenger .avatar-initials img,
.profile-messenger .messenger-avatars .avatar img,
.profile-messenger .messenger-conversation .avatar img,
.profile-messenger .messenger-thread-head .avatar img{
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  border-radius:50%!important;
}
.profile-messenger .messenger-conversation{
  gap:6px!important;
  padding:8px 6px!important;
}
.profile-messenger .messenger-conversation .messenger-avatars{
  min-width:30px!important;
  flex:0 0 30px!important;
  margin-right:0!important;
}
.profile-messenger .messenger-conversation .messenger-avatars .avatar{
  margin-right:0!important;
}
.profile-messenger .messenger-conversation b{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  min-width:0!important;
}
.profile-messenger .messenger-conversation b .messenger-dot{
  margin-right:0!important;
  flex:0 0 9px!important;
}
.profile-messenger .messenger-conversation-row{
  grid-template-columns:minmax(0,1fr) 30px!important;
  gap:4px!important;
  padding:0 5px 0 0!important;
}
.profile-messenger .messenger-hide-chat{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  max-width:28px!important;
  max-height:28px!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  padding:0!important;
  font-size:20px!important;
  text-align:center!important;
}
.profile-messenger .messenger-thread-person{
  gap:6px!important;
}
.profile-messenger .messenger-thread-person .messenger-dot{
  margin-right:0!important;
  flex:0 0 9px!important;
}
.profile-messenger .messenger-form .messenger-tool{
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  text-align:center!important;
  padding:0!important;
}
.profile-messenger .messenger-form #messengerGif{
  font-size:12px!important;
  line-height:1!important;
}
@media(max-width:760px){
  .messenger-head .messenger-title-block > .messenger-brand-logo{max-width:70px!important;height:24px!important;}
  .messenger-head .messenger-title-block > .messenger-brand-logo img{max-width:70px!important;height:24px!important;max-height:24px!important;}
  .profile-messenger .avatar,
  .profile-messenger .avatar-initials,
  .profile-messenger .messenger-avatars .avatar,
  .profile-messenger .messenger-conversation .avatar,
  .profile-messenger .messenger-thread-head .avatar,
  .profile-messenger .messenger-thread-head .avatar-initials{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;flex-basis:28px!important;}
}


/* v429: messenger avatar dedupe, cleaner chat rows, and stable popout route */
.profile-messenger .messenger-avatar-photo{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  flex:0 0 30px!important;
  border-radius:50%!important;
  overflow:hidden!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
}
.profile-messenger .messenger-avatar-photo > img.avatar{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  max-width:30px!important;
  max-height:30px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  display:block!important;
}
.profile-messenger .avatar-photo-wrap > .avatar-initials[style*="display:none"]{
  display:none!important;
}
.profile-messenger .messenger-conversation{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:7px!important;
}
.profile-messenger .messenger-conversation .messenger-avatars{
  grid-column:1!important;
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
.profile-messenger .messenger-conversation > span:not(.messenger-avatars){
  grid-column:2!important;
  min-width:0!important;
  display:grid!important;
  gap:1px!important;
}
.profile-messenger .messenger-conversation > em{
  grid-column:3!important;
}
.profile-messenger .messenger-conversation b{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  overflow:hidden!important;
}
.profile-messenger .messenger-conversation b .messenger-dot{
  grid-column:1!important;
  margin:0!important;
  position:static!important;
}
.profile-messenger .messenger-conversation b .messenger-title-text,
.profile-messenger .messenger-conversation b:not(:has(.messenger-title-text)){
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.profile-messenger .messenger-thread-person{
  display:grid!important;
  grid-template-columns:auto 30px minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
}
.profile-messenger .messenger-thread-person > .messenger-dot{grid-column:1!important;margin:0!important;position:static!important;}
.profile-messenger .messenger-thread-person > .messenger-avatar-photo,
.profile-messenger .messenger-thread-person > .avatar{grid-column:2!important;}
.profile-messenger .messenger-thread-person > b{grid-column:3!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.messenger-popout-mode .site-header,
.messenger-popout-mode .site-footer{display:none!important;}
.messenger-popout-mode #view{min-height:100dvh!important;padding:0!important;}
.messenger-popout-mode #profileMount{min-height:100dvh!important;}
@media(max-width:760px){
  .profile-messenger .messenger-avatar-photo,
  .profile-messenger .messenger-avatar-photo > img.avatar{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;flex-basis:28px!important;}
  .profile-messenger .messenger-conversation{grid-template-columns:28px minmax(0,1fr) auto!important;}
  .profile-messenger .messenger-thread-person{grid-template-columns:auto 28px minmax(0,1fr)!important;}
}

/* v430 Messenger group chat polish: compact combined avatars and individually clickable group members. */
.profile-messenger .messenger-group-avatar{
  width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;
  border-radius:999px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;
  border:1px solid color-mix(in srgb,var(--brand) 45%,transparent);
  background:color-mix(in srgb,var(--panel) 82%,var(--bg));
  box-shadow:0 0 0 1px rgba(0,0,0,.18) inset;
}
.profile-messenger .messenger-group-avatar.count-1{display:block;}
.profile-messenger .messenger-group-avatar.count-2{grid-template-rows:1fr;}
.profile-messenger .messenger-group-avatar.count-2 .cell-1{grid-column:1;grid-row:1;}
.profile-messenger .messenger-group-avatar.count-2 .cell-2{grid-column:2;grid-row:1;}
.profile-messenger .messenger-group-avatar.count-3 .cell-1{grid-column:1;grid-row:1 / span 2;}
.profile-messenger .messenger-group-avatar.count-3 .cell-2{grid-column:2;grid-row:1;}
.profile-messenger .messenger-group-avatar.count-3 .cell-3{grid-column:2;grid-row:2;}
.profile-messenger .messenger-group-avatar-cell{min-width:0;min-height:0;display:block;overflow:hidden;}
.profile-messenger .messenger-group-avatar .messenger-avatar-photo,
.profile-messenger .messenger-group-avatar .avatar,
.profile-messenger .messenger-group-avatar .avatar img{
  width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;border-radius:0!important;object-fit:cover!important;margin:0!important;border:0!important;display:block!important;
}
.profile-messenger .messenger-group-avatar .avatar-initials{font-size:9px!important;line-height:1!important;display:grid!important;place-items:center!important;}
.profile-messenger .messenger-conversation{
  grid-template-columns:34px minmax(0,1fr) auto!important;
  column-gap:10px!important;
}
.profile-messenger .messenger-conversation .messenger-group-avatar{grid-column:1;grid-row:1;}
.profile-messenger .messenger-conversation > span:not(.messenger-avatars):not(.messenger-group-avatar){grid-column:2;min-width:0;}
.profile-messenger .messenger-conversation b{display:flex!important;align-items:center!important;gap:5px!important;min-width:0!important;}
.profile-messenger .messenger-conversation small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.profile-messenger .messenger-thread-head{gap:10px;align-items:center;}
.profile-messenger .messenger-thread-group{display:flex;align-items:center;gap:10px;min-width:0;flex:1;text-align:left;}
.profile-messenger .messenger-thread-group-copy{display:grid;gap:4px;min-width:0;}
.profile-messenger .messenger-thread-group-copy>b{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.profile-messenger .messenger-thread-members{display:flex;align-items:center;gap:6px;min-width:0;overflow:auto;scrollbar-width:thin;padding-bottom:1px;}
.profile-messenger .messenger-thread-chip{
  display:flex;align-items:center;gap:5px;min-width:max-content;max-width:190px;
  border:1px solid color-mix(in srgb,var(--text) 14%,transparent);
  background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text);
  border-radius:999px;padding:3px 7px 3px 4px;font:inherit;font-size:12px;font-weight:850;cursor:pointer;
}
.profile-messenger .messenger-thread-chip:hover{border-color:color-mix(in srgb,var(--brand) 38%,transparent);background:color-mix(in srgb,var(--brand) 12%,transparent);}
.profile-messenger .messenger-thread-chip .messenger-dot{width:8px!important;height:8px!important;min-width:8px!important;margin:0!important;}
.profile-messenger .messenger-thread-chip .messenger-avatar-photo,
.profile-messenger .messenger-thread-chip .avatar{width:22px!important;height:22px!important;min-width:22px!important;border-radius:999px!important;}
.profile-messenger .messenger-thread-chip span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.profile-messenger .messenger-thread-person{max-width:100%;}
@media(max-width:760px){
  .profile-messenger .messenger-thread-members{display:none;}
  .profile-messenger .messenger-thread-group-copy>b{font-size:13px;}
  .profile-messenger .messenger-conversation{grid-template-columns:30px minmax(0,1fr) auto!important;column-gap:8px!important;}
  .profile-messenger .messenger-group-avatar{width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important;}
}

/* v431: group chat rows keep the combined avatar inline, and group headers use only clickable member chips. */
.profile-messenger .messenger-conversation{
  grid-template-columns:34px minmax(0,1fr) auto!important;
  align-items:center!important;
}
.profile-messenger .messenger-conversation > .messenger-group-avatar,
.profile-messenger .messenger-conversation > .messenger-avatars{
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:center!important;
}
.profile-messenger .messenger-conversation > .messenger-conversation-copy{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  display:grid!important;
  gap:1px!important;
  align-self:center!important;
}
.profile-messenger .messenger-conversation > .messenger-conversation-copy b{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
}
.profile-messenger .messenger-conversation > .messenger-conversation-copy small{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.profile-messenger .messenger-thread-group.compact{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
.profile-messenger .messenger-thread-group.compact .messenger-thread-members{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  overflow:auto!important;
  padding:0 2px 1px 0!important;
}
.profile-messenger .messenger-thread-group.compact .messenger-thread-chip{
  flex:0 0 auto!important;
}
@media(max-width:760px){
  .profile-messenger .messenger-conversation{grid-template-columns:30px minmax(0,1fr) auto!important;}
  .profile-messenger .messenger-thread-group.compact .messenger-thread-members{display:flex!important;}
  .profile-messenger .messenger-thread-chip{max-width:150px!important;}
}

/* v432: compact directory modal, message-from-directory action, and messenger row/avatar alignment fixes. */
.directory-modal.directory-modal-compact{
  width:min(1120px,96vw)!important;
  padding:18px 20px!important;
  border-radius:22px!important;
}
.directory-modal-compact .directory-modal-head{
  display:grid!important;
  grid-template-columns:62px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  margin-bottom:14px!important;
  padding-right:48px!important;
}
.directory-modal-compact .directory-avatar-button,
.directory-modal-compact .directory-avatar-button img,
.directory-modal-compact .directory-avatar-empty{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  overflow:hidden!important;
  flex:0 0 58px!important;
}
.directory-modal-compact .directory-avatar-button img{
  display:block!important;
  object-fit:cover!important;
}
.directory-modal-compact .directory-modal-title h2{margin:4px 0 2px!important;font-size:1.45rem!important;line-height:1.12!important;}
.directory-modal-compact .directory-modal-title p{margin:0!important;line-height:1.25!important;}
.directory-modal-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;}
.directory-message-btn{white-space:nowrap!important;padding:9px 14px!important;border-radius:999px!important;}
.directory-modal-compact .directory-org-chain{
  margin:10px 0 12px!important;
  padding:12px!important;
  gap:8px!important;
  border-radius:16px!important;
}
.directory-modal-compact .directory-org-chain button{padding:5px 8px!important;min-height:36px!important;}
.directory-modal-compact .directory-org-chain .org-avatar-wrap,
.directory-modal-compact .directory-org-chain .org-avatar,
.directory-modal-compact .directory-org-chain .avatar,
.directory-modal-compact .directory-org-chain .avatar-initials{width:26px!important;height:26px!important;min-width:26px!important;border-radius:50%!important;}
.directory-modal-compact .directory-profile-grid{
  margin-top:12px!important;
  gap:10px!important;
  max-height:48vh!important;
}
.directory-modal-compact .directory-profile-grid>div{padding:12px 14px!important;border-radius:14px!important;min-height:0!important;}
.directory-modal-compact .directory-profile-grid strong{margin-bottom:5px!important;}
.directory-modal-compact .directory-related-section{margin-top:14px!important;padding-top:14px!important;}
.directory-modal-compact .directory-related-list{gap:8px!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;max-height:240px!important;}
.directory-location-line{margin:8px 0!important;}
.profile-messenger .messenger-conversation{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:9px!important;
  padding:7px 6px!important;
}
.profile-messenger .messenger-conversation > .messenger-avatars,
.profile-messenger .messenger-conversation > .messenger-group-avatar{
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
}
.profile-messenger .messenger-conversation > .messenger-conversation-copy{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  align-self:center!important;
  padding-left:0!important;
}
.profile-messenger .messenger-conversation > .messenger-conversation-copy b{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  white-space:nowrap!important;
}
.profile-messenger .messenger-conversation > .messenger-conversation-copy .messenger-title-text,
.profile-messenger .messenger-conversation > .messenger-conversation-copy small{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.profile-messenger .messenger-avatars .messenger-avatar-photo,
.profile-messenger .messenger-avatars .avatar,
.profile-messenger .messenger-conversation .messenger-avatar-photo,
.profile-messenger .messenger-conversation .avatar,
.profile-messenger .messenger-thread-head .messenger-avatar-photo,
.profile-messenger .messenger-thread-head .avatar{
  border-radius:50%!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  overflow:hidden!important;
}
.profile-messenger .messenger-avatars .messenger-avatar-photo img,
.profile-messenger .messenger-conversation .messenger-avatar-photo img,
.profile-messenger .messenger-thread-head .messenger-avatar-photo img{
  border-radius:50%!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.profile-messenger .messenger-group-avatar .messenger-avatar-photo,
.profile-messenger .messenger-group-avatar .avatar,
.profile-messenger .messenger-group-avatar img{border-radius:0!important;width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;}
@media(max-width:720px){
  .directory-modal.directory-modal-compact{padding:16px!important;}
  .directory-modal-compact .directory-modal-head{grid-template-columns:52px minmax(0,1fr)!important;}
  .directory-modal-actions{grid-column:1 / -1;justify-content:flex-start;}
  .directory-modal-compact .directory-avatar-button,.directory-modal-compact .directory-avatar-button img,.directory-modal-compact .directory-avatar-empty{width:50px!important;height:50px!important;min-width:50px!important;}
}


/* v433: fix directory modal close alignment and messenger group row avatar geometry. */
.directory-modal.directory-modal-compact{
  overflow:visible!important;
}
.directory-modal.directory-modal-compact .modal-close{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  padding:0!important;
  line-height:1!important;
  font-size:25px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  box-sizing:border-box!important;
}
.directory-modal-compact .directory-modal-head{
  overflow:visible!important;
}
.directory-modal-compact .directory-avatar-button,
.directory-modal-compact .directory-avatar-button img,
.directory-modal-compact .directory-avatar-empty{
  border-radius:999px!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  align-self:center!important;
  justify-self:center!important;
}
.profile-messenger .messenger-conversation-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 34px!important;
  align-items:center!important;
  gap:6px!important;
  overflow:hidden!important;
}
.profile-messenger .messenger-conversation{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:9px!important;
  min-width:0!important;
  overflow:hidden!important;
}
.profile-messenger .messenger-conversation > .messenger-group-avatar,
.profile-messenger .messenger-conversation > .messenger-avatars{
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
  transform:none!important;
  position:relative!important;
  z-index:1!important;
}
.profile-messenger .messenger-conversation > .messenger-conversation-copy{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  overflow:hidden!important;
}
.profile-messenger .messenger-group-avatar{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  flex:0 0 34px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  grid-template-rows:1fr 1fr!important;
  position:relative!important;
  box-sizing:border-box!important;
  border:1px solid color-mix(in srgb,var(--brand) 45%,transparent)!important;
  background:color-mix(in srgb,var(--panel) 82%,var(--bg))!important;
}
.profile-messenger .messenger-group-avatar.count-1{display:block!important;}
.profile-messenger .messenger-group-avatar.count-2{grid-template-rows:1fr!important;}
.profile-messenger .messenger-group-avatar.count-2 .cell-1{grid-column:1!important;grid-row:1!important;}
.profile-messenger .messenger-group-avatar.count-2 .cell-2{grid-column:2!important;grid-row:1!important;}
.profile-messenger .messenger-group-avatar.count-3 .cell-1{grid-column:1!important;grid-row:1 / span 2!important;}
.profile-messenger .messenger-group-avatar.count-3 .cell-2{grid-column:2!important;grid-row:1!important;}
.profile-messenger .messenger-group-avatar.count-3 .cell-3{grid-column:2!important;grid-row:2!important;}
.profile-messenger .messenger-group-avatar-cell{
  display:block!important;
  min-width:0!important;
  min-height:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  position:relative!important;
}
.profile-messenger .messenger-group-avatar-cell img,
.profile-messenger .messenger-group-avatar-cell span{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  border:0!important;
  border-radius:0!important;
  margin:0!important;
  padding:0!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:900!important;
}
.profile-messenger .messenger-hide-chat{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:center!important;
  align-self:center!important;
  padding:0!important;
  line-height:1!important;
  text-align:center!important;
  box-sizing:border-box!important;
}


/* v434: final alignment fixes for directory avatar/arrows and messenger group rows. */
.directory-modal.directory-modal-compact .directory-modal-head{
  grid-template-columns:58px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
}
.directory-modal.directory-modal-compact .directory-avatar-button,
.directory-modal.directory-modal-compact .directory-avatar-empty{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  padding:0!important;
  margin:0!important;
  border-radius:50%!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  line-height:1!important;
  align-self:center!important;
  justify-self:center!important;
}
.directory-modal.directory-modal-compact .directory-avatar-button img.avatar,
.directory-modal.directory-modal-compact .directory-avatar-button > img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:50%!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  box-sizing:border-box!important;
}
.directory-modal.directory-modal-compact .modal-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:1!important;
  text-align:center!important;
  font-family:Arial,Helvetica,sans-serif!important;
  box-sizing:border-box!important;
}
.directory-modal.directory-modal-compact .modal-prev{left:14px!important;}
.directory-modal.directory-modal-compact .modal-next{right:14px!important;}
@media(min-width:1180px){
  .directory-modal.directory-modal-compact .modal-prev{left:-22px!important;}
  .directory-modal.directory-modal-compact .modal-next{right:-22px!important;}
}
.profile-messenger .messenger-conversation > span.messenger-group-avatar:not(.messenger-avatars){
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:center!important;
  display:grid!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  position:relative!important;
  z-index:1!important;
  overflow:hidden!important;
}
.profile-messenger .messenger-conversation > span.messenger-conversation-copy:not(.messenger-avatars):not(.messenger-group-avatar){
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  display:grid!important;
  align-self:center!important;
  overflow:hidden!important;
}
.profile-messenger .messenger-conversation-row .messenger-conversation{
  grid-template-columns:34px minmax(0,1fr) auto!important;
  column-gap:9px!important;
}
.profile-messenger .messenger-conversation-row .messenger-conversation-copy b{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  overflow:hidden!important;
}
.profile-messenger .messenger-conversation-row .messenger-title-text{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}


/* v435: hard alignment fixes for compact directory modal and messenger group chat rows. */
.directory-modal.directory-modal-compact{
  position:relative!important;
  padding:18px 20px 18px!important;
}
.directory-modal.directory-modal-compact .directory-modal-head{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:12px!important;
  row-gap:4px!important;
  min-height:54px!important;
  margin:0 0 12px!important;
  padding:0 50px 0 16px!important;
}
.directory-modal.directory-modal-compact .directory-avatar-button,
.directory-modal.directory-modal-compact .directory-avatar-empty{
  grid-column:1!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:50%!important;
  padding:0!important;
  margin:0!important;
  line-height:1!important;
  flex:0 0 48px!important;
}
.directory-modal.directory-modal-compact .directory-avatar-button img,
.directory-modal.directory-modal-compact .directory-avatar-button img.avatar,
.directory-modal.directory-modal-compact img.avatar{
  display:block!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:50% 50%!important;
  border-radius:50%!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
.directory-modal.directory-modal-compact .directory-modal-title{grid-column:2!important;min-width:0!important;align-self:center!important;}
.directory-modal.directory-modal-compact .directory-modal-actions{grid-column:3!important;align-self:center!important;justify-self:end!important;}
.directory-modal.directory-modal-compact .modal-close{
  top:14px!important;right:14px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
  display:grid!important;place-items:center!important;padding:0!important;line-height:1!important;text-align:center!important;font-size:26px!important;
}
.directory-modal.directory-modal-compact .modal-nav{
  position:absolute!important;top:50%!important;transform:translateY(-50%)!important;width:40px!important;height:72px!important;min-width:40px!important;min-height:72px!important;
  display:grid!important;place-items:center!important;padding:0!important;line-height:1!important;text-align:center!important;font-size:42px!important;z-index:6!important;
}
.directory-modal.directory-modal-compact .modal-prev{left:-20px!important;}
.directory-modal.directory-modal-compact .modal-next{right:-20px!important;}
@media(max-width:760px){
  .directory-modal.directory-modal-compact .directory-modal-head{grid-template-columns:44px minmax(0,1fr)!important;padding-right:48px!important;}
  .directory-modal.directory-modal-compact .directory-modal-actions{grid-column:1 / -1!important;justify-self:start!important;}
  .directory-modal.directory-modal-compact .modal-prev{left:6px!important;}
  .directory-modal.directory-modal-compact .modal-next{right:6px!important;}
}
.profile-messenger .messenger-conversation-row .messenger-conversation{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:8px!important;
  min-width:0!important;
}
.profile-messenger .messenger-conversation-row .messenger-conversation > .messenger-avatars,
.profile-messenger .messenger-conversation-row .messenger-conversation > .messenger-group-avatars{
  grid-column:1!important;
  grid-row:1!important;
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
  justify-self:center!important;
  overflow:visible!important;
}
.profile-messenger .messenger-conversation-row .messenger-conversation > .messenger-conversation-copy{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  display:block!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
}
.profile-messenger .messenger-conversation-row .messenger-conversation > em{grid-column:3!important;grid-row:1!important;}
.profile-messenger .messenger-conversation-row .messenger-conversation-copy b{
  display:flex!important;align-items:center!important;gap:5px!important;min-width:0!important;overflow:hidden!important;white-space:nowrap!important;
}
.profile-messenger .messenger-conversation-row .messenger-title-text,
.profile-messenger .messenger-conversation-row .messenger-conversation-copy small{
  min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
}
.profile-messenger .messenger-conversation-row .messenger-group-avatars .messenger-group-avatar{
  width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;min-height:34px!important;max-height:34px!important;
  display:grid!important;margin:0!important;position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;
}
.profile-messenger .messenger-conversation-row .messenger-group-avatar-cell,
.profile-messenger .messenger-conversation-row .messenger-group-avatar-cell img,
.profile-messenger .messenger-conversation-row .messenger-group-avatar-cell span{
  width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;display:grid!important;place-items:center!important;object-fit:cover!important;object-position:center!important;
}
.profile-messenger .messenger-conversation-row .messenger-hide-chat{
  display:grid!important;place-items:center!important;text-align:center!important;line-height:1!important;padding:0!important;
}

/* v436: directory modal scroll/arrow repair, org-chain avatar reset, group rename controls, and anti-flicker messenger polish. */
.directory-modal.directory-modal-compact{
  max-height:calc(100vh - 48px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:18px 20px 18px!important;
  scrollbar-gutter:stable!important;
}
.directory-modal.directory-modal-compact .directory-modal-head{
  grid-template-columns:48px minmax(0,1fr) auto!important;
  padding:0 52px 0 12px!important;
  align-items:center!important;
}
.directory-modal.directory-modal-compact .directory-avatar-button,
.directory-modal.directory-modal-compact .directory-avatar-empty{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  align-self:center!important;
  justify-self:center!important;
  border-radius:50%!important;
  overflow:hidden!important;
}
.directory-modal.directory-modal-compact .directory-avatar-button > img.avatar,
.directory-modal.directory-modal-compact .directory-avatar-button > img{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.directory-modal.directory-modal-compact .directory-org-chain{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  overflow:visible!important;
}
.directory-modal.directory-modal-compact .directory-org-chain button{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:34px!important;
  height:34px!important;
  padding:5px 9px!important;
  overflow:hidden!important;
  line-height:1!important;
  flex:0 1 auto!important;
}
.directory-modal.directory-modal-compact .directory-org-chain .org-avatar-wrap,
.directory-modal.directory-modal-compact .directory-org-chain .org-avatar-wrap .avatar,
.directory-modal.directory-modal-compact .directory-org-chain .org-avatar-wrap img.avatar,
.directory-modal.directory-modal-compact .directory-org-chain button > .org-avatar-wrap,
.directory-modal.directory-modal-compact .directory-org-chain button img.avatar,
.directory-modal.directory-modal-compact .directory-org-chain button .avatar,
.directory-modal.directory-modal-compact .directory-org-chain button .avatar-initials{
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  max-width:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  flex:0 0 24px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  position:relative!important;
  inset:auto!important;
}
.directory-modal.directory-modal-compact .directory-org-chain b{
  display:block!important;
  min-width:0!important;
  max-width:132px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.directory-modal.directory-modal-compact .modal-nav{
  position:fixed!important;
  top:50vh!important;
  transform:translateY(-50%)!important;
  width:42px!important;
  height:72px!important;
  min-width:42px!important;
  min-height:72px!important;
  z-index:10020!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  line-height:1!important;
  font-size:42px!important;
}
.directory-modal.directory-modal-compact .modal-prev{left:max(8px,calc(50vw - 628px))!important;}
.directory-modal.directory-modal-compact .modal-next{right:max(8px,calc(50vw - 628px))!important;}
.directory-modal.directory-modal-compact .directory-profile-grid{
  max-height:none!important;
  overflow:visible!important;
}
.profile-messenger .messenger-thread-group.compact{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  flex-wrap:wrap!important;
}
.profile-messenger .messenger-thread-group-actions{display:flex!important;align-items:center!important;min-width:0!important;}
.profile-messenger .messenger-rename-group{
  border:1px solid color-mix(in srgb,var(--brand) 48%,var(--border))!important;
  background:color-mix(in srgb,var(--panel2) 82%,transparent)!important;
  color:var(--text)!important;
  border-radius:999px!important;
  min-height:34px!important;
  padding:7px 12px!important;
  font-weight:900!important;
  max-width:180px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
.profile-messenger .messenger-rename-group::after{content:' ✎';opacity:.78;font-weight:800;}
.profile-messenger .messenger-thread-members{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;min-width:0!important;}
@media(max-width:760px){
  .directory-modal.directory-modal-compact{max-height:calc(100vh - 28px)!important;padding:16px!important;}
  .directory-modal.directory-modal-compact .modal-prev{left:6px!important;}
  .directory-modal.directory-modal-compact .modal-next{right:6px!important;}
  .profile-messenger .messenger-rename-group{max-width:150px!important;}
}

/* v437: lock Directory Direct Reports avatars into a stable left slot.
   Later compact-modal avatar rules reset generic img.avatar transforms inside the modal;
   these direct-report cards need their own absolute inset reset so photos do not start
   from the middle of the cell or appear clipped. */
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:12px!important;
  min-height:74px!important;
  padding:10px 12px!important;
}
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap{
  grid-column:1!important;
  grid-row:1!important;
  position:relative!important;
  display:block!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  place-self:center!important;
  overflow:hidden!important;
  border-radius:50%!important;
  flex:0 0 36px!important;
  margin:0!important;
  padding:0!important;
}
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap .avatar,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap img.avatar,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap .avatar-initials{
  position:absolute!important;
  inset:0!important;
  top:0!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  transform:none!important;
  display:block!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
}
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap .avatar-initials{
  display:grid!important;
  place-items:center!important;
  font-size:.72rem!important;
}
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > div{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  overflow:hidden!important;
}
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card strong,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card small{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card .org-card-more{
  grid-column:3!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:end!important;
  margin:0!important;
}


/* v438: hard reset manager and Direct Reports avatar geometry after compact modal overrides.
   This keeps every directory mini-card using the same left avatar slot and restores real photos
   for direct reports now that the backend sends avatar hashes for those rows again. */
.directory-modal.directory-modal-compact .directory-manager-chip{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:10px!important;
  min-height:54px!important;
  padding:8px 10px!important;
  overflow:hidden!important;
}
.directory-modal.directory-modal-compact .directory-manager-chip > .org-avatar-wrap,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap{
  position:relative!important;
  display:block!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  overflow:hidden!important;
  border-radius:50%!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
  justify-self:center!important;
  place-self:center!important;
  flex:0 0 38px!important;
}
.directory-modal.directory-modal-compact .directory-manager-chip > .org-avatar-wrap > img.avatar,
.directory-modal.directory-modal-compact .directory-manager-chip > .org-avatar-wrap > .avatar,
.directory-modal.directory-modal-compact .directory-manager-chip > .org-avatar-wrap > .avatar-initials,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap > img.avatar,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap > .avatar,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap > .avatar-initials{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
}
.directory-modal.directory-modal-compact .directory-manager-chip > .org-avatar-wrap > .avatar-initials,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap > .avatar-initials{
  display:grid!important;
  place-items:center!important;
  font-size:.72rem!important;
}
.directory-modal.directory-modal-compact .directory-manager-chip > span{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
}
.directory-modal.directory-modal-compact .directory-manager-chip b,
.directory-modal.directory-modal-compact .directory-manager-chip small{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card{
  grid-template-columns:42px minmax(0,1fr) auto!important;
  min-height:76px!important;
}

/* v439: final hard reset for Directory Manager and Direct Reports avatar slots.
   The modal uses nested avatar markup: org-avatar-wrap > avatar-photo-wrap > img.avatar.
   Earlier compact rules targeted only direct img.avatar children, which let nested photos collapse
   into a clipped corner. Lock the wrapper, photo wrapper, image, and fallback into the same circle. */
.directory-modal.directory-modal-compact .directory-manager-chip > .org-avatar-wrap,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap{
  position:relative!important;
  display:block!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  flex:0 0 38px!important;
  overflow:hidden!important;
  border-radius:999px!important;
  align-self:center!important;
  justify-self:center!important;
  place-self:center!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
.directory-modal.directory-modal-compact .directory-manager-chip > .org-avatar-wrap > .avatar-photo-wrap,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap > .avatar-photo-wrap{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
  border-radius:999px!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
.directory-modal.directory-modal-compact .directory-manager-chip > .org-avatar-wrap img.avatar,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap img.avatar,
.directory-modal.directory-modal-compact .directory-manager-chip > .org-avatar-wrap > .avatar-initials,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap > .avatar-initials{
  position:absolute!important;
  inset:0!important;
  top:0!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:999px!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
.directory-modal.directory-modal-compact .directory-manager-chip > .org-avatar-wrap > .avatar-initials,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap > .avatar-initials{
  display:grid!important;
  place-items:center!important;
  font-size:.72rem!important;
  line-height:1!important;
}
.directory-modal.directory-modal-compact .directory-manager-chip > .org-avatar-wrap > .avatar-photo-wrap > .avatar-initials,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap > .avatar-photo-wrap > .avatar-initials{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border-radius:999px!important;
  place-items:center!important;
  font-size:.72rem!important;
  line-height:1!important;
}
.directory-modal.directory-modal-compact .directory-manager-chip > .org-avatar-wrap > .avatar-photo-wrap > img.avatar:not([style*="display: none"]) + .avatar-initials,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap > .avatar-photo-wrap > img.avatar:not([style*="display: none"]) + .avatar-initials{
  display:none!important;
}
.directory-modal.directory-modal-compact .directory-manager-chip > .org-avatar-wrap > .avatar-photo-wrap > img.avatar[style*="display: none"] + .avatar-initials,
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card > .org-avatar-wrap > .avatar-photo-wrap > img.avatar[style*="display: none"] + .avatar-initials{
  display:grid!important;
}
.directory-modal.directory-modal-compact .directory-manager-chip > span:last-child{
  min-width:0!important;
  overflow:hidden!important;
}
.directory-modal.directory-modal-compact .directory-direct-reports-section .directory-related-card{
  grid-template-columns:42px minmax(0,1fr) auto!important;
}

/* v440: explicit shift edit/remove controls in Schedule Workspace */
.schedule-workspace .portal-shift.has-actions,
.schedule-workspace .portal-schedule-day.is-crowded .portal-shift.has-actions{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  grid-template-areas:"avatar main" "actions actions"!important;
  align-items:center!important;
  cursor:default!important;
}
.schedule-workspace .portal-shift.has-actions .shift-avatar{
  grid-area:avatar!important;
}
.schedule-workspace .portal-shift.has-actions .shift-main{
  grid-area:main!important;
}
.schedule-workspace .portal-shift.has-actions .shift-actions{
  grid-area:actions!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:8px!important;
  width:100%!important;
}
.schedule-workspace .portal-shift.has-actions .shift-actions .ghost-mini{
  width:auto!important;
  min-width:64px!important;
  height:26px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  font-size:.68rem!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.schedule-workspace .portal-shift.has-actions .shift-edit-btn{
  justify-self:start!important;
}
.schedule-workspace .portal-shift.has-actions .shift-remove-btn{
  justify-self:end!important;
  border-color:color-mix(in srgb,#ef4444 58%,var(--border) 42%)!important;
  color:color-mix(in srgb,#ef4444 82%,var(--text) 18%)!important;
}
.schedule-workspace .portal-shift.has-actions:hover,
.schedule-workspace .portal-shift.has-actions:focus-within{
  border-color:color-mix(in srgb,var(--accent) 65%,var(--border) 35%);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent);
}
.schedule-workspace .portal-shift.has-actions.removing{opacity:.55;pointer-events:none;}
@media(max-width:760px){
  .schedule-workspace .portal-shift.has-actions,
  .schedule-workspace .portal-schedule-day.is-crowded .portal-shift.has-actions{
    grid-template-columns:34px minmax(0,1fr)!important;
  }
  .schedule-workspace .portal-shift.has-actions .shift-actions .ghost-mini{
    min-width:72px!important;
  }
}


/* v441: refined schedule action controls, time-off actions, and hourly drop targets */
.schedule-workspace .portal-shift.has-actions,
.schedule-workspace .portal-schedule-day.is-crowded .portal-shift.has-actions{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  grid-template-areas:"avatar main" "actions actions"!important;
  align-items:start!important;
  gap:0 10px!important;
}
.schedule-workspace .portal-shift.has-actions .shift-actions{
  grid-area:actions!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:6px!important;
  width:100%!important;
}
.schedule-workspace .portal-shift.has-actions .shift-actions .ghost-mini{
  width:auto!important;
  min-width:0!important;
  height:22px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  font-size:.62rem!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:none!important;
  border:1px solid var(--border)!important;
  background:color-mix(in srgb,var(--panel) 90%,#fff 10%)!important;
  color:var(--text)!important;
}
.schedule-workspace .portal-shift.has-actions .shift-actions .shift-remove-btn{
  border-color:color-mix(in srgb,var(--danger,#ef4444) 52%,var(--border) 48%)!important;
  color:color-mix(in srgb,var(--danger,#ef4444) 80%,var(--text) 20%)!important;
}
.schedule-workspace .portal-shift.has-actions .shift-actions .ghost-mini:hover,
.schedule-workspace .portal-shift.has-actions .shift-actions .ghost-mini:focus-visible{
  border-color:color-mix(in srgb,var(--accent) 60%,var(--border) 40%)!important;
  background:color-mix(in srgb,var(--panel) 82%,var(--accent) 18%)!important;
}
.schedule-workspace .portal-shift.timeoff-shift.has-actions .shift-actions .ghost-mini:hover,
.schedule-workspace .portal-shift.timeoff-shift.has-actions .shift-actions .ghost-mini:focus-visible{
  background:color-mix(in srgb,var(--panel) 84%,var(--danger,#ef4444) 16%)!important;
}
.schedule-hour-rail{
  display:grid;
  gap:6px;
  margin:0 0 10px;
}
.schedule-hour-caption{
  font-size:.68rem;
  font-weight:800;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.05em;
}
.schedule-hour-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.schedule-hour-slot{
  min-height:26px;
  padding:4px 6px;
  border-radius:10px;
  border:1px dashed color-mix(in srgb,var(--accent) 30%,var(--border) 70%);
  background:color-mix(in srgb,var(--panel) 92%,#fff 8%);
  color:var(--muted);
  font-size:.66rem;
  font-weight:800;
  line-height:1;
  box-shadow:none;
}
.schedule-hour-slot:hover,
.schedule-hour-slot:focus-visible,
.schedule-hour-slot.drag-over{
  color:var(--text);
  border-style:solid;
  border-color:color-mix(in srgb,var(--accent) 70%,var(--border) 30%);
  background:color-mix(in srgb,var(--panel) 78%,var(--accent) 22%);
}
@media(max-width:760px){
  .schedule-hour-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}


/* v442: vertical hour rail on the left side of the Manage Team drop area */
.schedule-workspace .portal-schedule-day .schedule-day-drop-layout{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:8px;
  align-items:start;
}
.schedule-workspace .portal-schedule-day .schedule-day-drop-layout .schedule-shift-list{
  min-width:0;
}
.schedule-workspace .portal-schedule-day .schedule-hour-rail{
  display:grid;
  gap:5px;
  margin:0!important;
  align-self:start;
}
.schedule-workspace .portal-schedule-day .schedule-hour-caption{
  font-size:.6rem;
  line-height:1;
  text-align:center;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:1px;
}
.schedule-workspace .portal-schedule-day .schedule-hour-list,
.schedule-workspace .portal-schedule-day .schedule-hour-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
}
.schedule-workspace .portal-schedule-day .schedule-hour-slot{
  width:100%!important;
  min-height:24px!important;
  padding:4px 3px!important;
  border-radius:8px!important;
  font-size:.61rem!important;
  line-height:1!important;
  box-shadow:none!important;
  white-space:nowrap;
}
.schedule-workspace .portal-schedule-day .schedule-hour-slot.drag-over{
  transform:translateX(2px);
}
@media(max-width:760px){
  .schedule-workspace .portal-schedule-day .schedule-day-drop-layout{
    grid-template-columns:44px minmax(0,1fr);
    gap:7px;
  }
  .schedule-workspace .portal-schedule-day .schedule-hour-slot{font-size:.58rem!important;padding-left:2px!important;padding-right:2px!important;}
}


/* v443: lined hourly rows for Manage Team scheduling */
.schedule-workspace .portal-schedule-day .schedule-hour-board{
  display:grid;
  gap:8px;
}
.schedule-workspace .portal-schedule-day .schedule-day-all-day{
  display:grid;
  gap:6px;
  margin-bottom:6px;
}
.schedule-workspace .portal-schedule-day .schedule-day-all-day-label{
  font-size:.64rem;
  font-weight:900;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.schedule-workspace .portal-schedule-day .schedule-day-all-day-cards,
.schedule-workspace .portal-schedule-day .schedule-hour-cards{
  display:grid;
  gap:8px;
}
.schedule-workspace .portal-schedule-day .schedule-hour-row{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:2px 0 4px;
  border-radius:10px;
}
.schedule-workspace .portal-schedule-day .schedule-hour-label{
  font-size:.72rem;
  font-weight:900;
  color:var(--muted);
  line-height:1.2;
  white-space:nowrap;
  padding-top:7px;
}
.schedule-workspace .portal-schedule-day .schedule-hour-track{
  position:relative;
  min-height:38px;
  padding-top:8px;
}
.schedule-workspace .portal-schedule-day .schedule-hour-track::before{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:0;
  border-top:1px solid color-mix(in srgb,var(--border) 78%,var(--accent) 22%);
}
.schedule-workspace .portal-schedule-day .schedule-hour-row.drag-over .schedule-hour-track::before,
.schedule-workspace .portal-schedule-day .schedule-hour-row:hover .schedule-hour-track::before,
.schedule-workspace .portal-schedule-day .schedule-hour-row:focus-within .schedule-hour-track::before{
  border-top-color:color-mix(in srgb,var(--accent) 72%,var(--border) 28%);
  border-top-width:2px;
}
.schedule-workspace .portal-schedule-day .schedule-hour-row.drag-over{
  background:color-mix(in srgb,var(--panel) 82%,var(--accent) 18%);
}
.schedule-workspace .portal-schedule-day .schedule-hour-empty{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  font-size:.66rem;
  font-weight:700;
  color:var(--muted);
}
.schedule-workspace .portal-schedule-day .schedule-hour-row .portal-shift{
  margin-top:2px;
}
.schedule-workspace .portal-schedule-day .schedule-hour-row .portal-shift + .portal-shift{
  margin-top:8px;
}
@media(max-width:760px){
  .schedule-workspace .portal-schedule-day .schedule-hour-row{
    grid-template-columns:52px minmax(0,1fr);
    gap:8px;
  }
  .schedule-workspace .portal-schedule-day .schedule-hour-label{
    font-size:.66rem;
    padding-top:8px;
  }
}


/* v444: cleaner schedule UX with contextual hour drop targets */
.schedule-workspace .schedule-workspace-head{
  position:relative;
}
.schedule-workspace .workspace-actions{
  align-items:center!important;
  padding-right:42px!important;
}
.schedule-workspace #closeScheduleWorkspace.modal-close{
  position:absolute!important;
  top:50%!important;
  right:12px!important;
  transform:translateY(-50%)!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  margin:0!important;
  line-height:1!important;
  z-index:5!important;
}
.schedule-workspace .portal-schedule-day .schedule-hour-board{
  gap:8px!important;
}
.schedule-workspace .portal-schedule-day .schedule-quiet-drop-hint{
  min-height:44px;
  display:grid;
  place-items:center;
  border:1px dashed color-mix(in srgb,var(--accent) 30%,var(--border) 70%);
  border-radius:14px;
  color:var(--muted);
  font-size:.74rem;
  font-weight:800;
  text-align:center;
  padding:10px;
  margin:4px 0 8px;
}
.schedule-workspace .portal-schedule-day .schedule-hour-row.is-empty-slot{
  display:none!important;
}
.schedule-workspace .portal-schedule-day.drag-over .schedule-hour-row.is-empty-slot{
  display:grid!important;
}
.schedule-workspace .portal-schedule-day.drag-over .schedule-quiet-drop-hint{
  display:none!important;
}
.schedule-workspace .portal-schedule-day .schedule-hour-row.has-shifts{
  margin-bottom:8px;
}
.schedule-workspace .portal-schedule-day .schedule-hour-row.has-shifts .schedule-hour-track::before{
  border-top-color:color-mix(in srgb,var(--accent) 54%,var(--border) 46%);
}
.schedule-workspace .portal-schedule-day .schedule-hour-row.is-empty-slot .schedule-hour-track{
  min-height:24px;
}
.schedule-workspace .portal-schedule-day .schedule-hour-row.is-empty-slot .schedule-hour-empty{
  min-height:14px;
  opacity:.82;
  font-size:.62rem;
}
.schedule-workspace .portal-schedule-day .schedule-hour-row.is-empty-slot .schedule-hour-label{
  color:color-mix(in srgb,var(--muted) 82%,var(--accent) 18%);
  font-size:.66rem;
}
.schedule-workspace .portal-schedule-day .schedule-hour-row.is-empty-slot .schedule-hour-track::before{
  border-top-style:dashed;
  opacity:.7;
}
.schedule-workspace .portal-schedule-day.drag-over .schedule-hour-row.is-empty-slot:hover,
.schedule-workspace .portal-schedule-day.drag-over .schedule-hour-row.is-empty-slot.drag-over{
  background:color-mix(in srgb,var(--panel) 78%,var(--accent) 22%);
}
.schedule-workspace .portal-schedule-day .schedule-day-all-day{
  margin-bottom:10px!important;
  padding-bottom:8px;
  border-bottom:1px solid color-mix(in srgb,var(--border) 76%,transparent);
}
.schedule-workspace .portal-schedule-day .schedule-day-all-day-label{
  color:color-mix(in srgb,var(--danger,#ef4444) 62%,var(--muted) 38%)!important;
}
@media(max-width:760px){
  .schedule-workspace .workspace-actions{padding-right:38px!important;}
  .schedule-workspace #closeScheduleWorkspace.modal-close{
    right:8px!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
  }
}


/* v445: compact grouped shift cards and roomier schedule date picker */
.schedule-workspace .portal-shift.compact-group-card,
.schedule-workspace .portal-schedule-day.is-crowded .portal-shift.compact-group-card{
  grid-template-columns:34px minmax(0,1fr)!important;
  grid-template-areas:"avatar main" "actions actions"!important;
  align-items:center!important;
  gap:0 8px!important;
  padding:8px 9px!important;
}
.schedule-workspace .portal-shift.compact-group-card .shift-avatar{
  width:34px!important;
  height:34px!important;
}
.schedule-workspace .portal-shift.compact-group-card .shift-main{
  min-width:0!important;
}
.schedule-workspace .portal-shift.compact-group-card .shift-main strong,
.schedule-workspace .portal-shift.compact-group-card .shift-main small{
  display:none!important;
}
.schedule-workspace .portal-shift.compact-group-card .shift-main .shift-time{
  display:block!important;
  margin:0!important;
  font-size:.82rem!important;
  font-weight:900!important;
  line-height:1.15!important;
}
.schedule-workspace .portal-shift.compact-group-card .shift-actions{
  margin-top:5px!important;
}
.schedule-workspace .portal-shift.compact-group-card .shift-actions .ghost-mini{
  height:20px!important;
  padding:0 8px!important;
  font-size:.58rem!important;
}
.schedule-workspace .portal-schedule-day .schedule-hour-row.has-shifts .schedule-hour-cards{
  display:grid;
  gap:8px;
}
.schedule-workspace .workspace-actions #workspaceWeek{
  min-width:176px!important;
  max-width:176px!important;
  width:176px!important;
  padding-right:34px!important;
  font-variant-numeric:tabular-nums;
}
@media(max-width:760px){
  .schedule-workspace .workspace-actions #workspaceWeek{
    min-width:164px!important;
    max-width:none!important;
    width:100%!important;
    padding-right:32px!important;
  }
}


/* v446: grouped time-slot cards, wider date input, and stable drag hover */
.schedule-workspace .shift-group-card,
.schedule-workspace .portal-schedule-day.is-crowded .shift-group-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:"avatars" "main" "actions"!important;
  gap:7px!important;
  padding:10px!important;
}
.schedule-workspace .shift-group-card .shift-group-avatars{
  grid-area:avatars!important;
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  padding-left:2px;
}
.schedule-workspace .shift-group-card .group-shift-avatar{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  border:2px solid color-mix(in srgb,var(--panel) 88%,var(--accent) 12%)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.24);
}
.schedule-workspace .shift-group-card .group-shift-avatar + .group-shift-avatar{
  margin-left:-10px;
}
.schedule-workspace .shift-group-card .group-shift-overflow{
  display:grid!important;
  place-items:center!important;
  background:color-mix(in srgb,var(--accent) 22%,var(--panel) 78%)!important;
  color:var(--text)!important;
  font-size:.68rem!important;
  font-weight:900!important;
}
.schedule-workspace .shift-group-card .shift-main{
  grid-area:main!important;
  min-width:0!important;
}
.schedule-workspace .shift-group-card .shift-main strong{
  font-size:.75rem!important;
  color:var(--muted)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.schedule-workspace .shift-group-card .shift-main .shift-time{
  font-size:.92rem!important;
  font-weight:900!important;
  line-height:1.15!important;
}
.schedule-workspace .shift-group-card .shift-actions{
  grid-area:actions!important;
  margin-top:2px!important;
}
.schedule-workspace .shift-group-card .shift-actions .ghost-mini{
  height:22px!important;
  padding:0 8px!important;
  font-size:.56rem!important;
  white-space:nowrap!important;
}
.schedule-group-dialog .schedule-group-employees{
  max-height:170px;
  overflow:auto;
  align-content:start;
}
.schedule-workspace .workspace-actions #workspaceWeek,
.schedule-workspace-compact .workspace-actions #workspaceWeek{
  min-width:214px!important;
  width:214px!important;
  max-width:214px!important;
  box-sizing:border-box!important;
  padding-left:14px!important;
  padding-right:48px!important;
  letter-spacing:.01em!important;
  font-variant-numeric:tabular-nums!important;
}
.schedule-workspace .workspace-actions #workspaceWeek::-webkit-calendar-picker-indicator{
  margin-left:8px!important;
  padding-left:6px!important;
}
.schedule-workspace .portal-schedule-day.drag-over{
  transition:none!important;
}
.schedule-workspace .portal-schedule-day .schedule-hour-row{
  transition:none!important;
}
@media(max-width:760px){
  .schedule-workspace .workspace-actions #workspaceWeek,
  .schedule-workspace-compact .workspace-actions #workspaceWeek{
    min-width:190px!important;
    width:100%!important;
    max-width:none!important;
    padding-right:46px!important;
  }
}

/* v447: clean horizontal grouped time-slot cards and tighter date field */
.schedule-workspace .shift-group-card,
.schedule-workspace .portal-schedule-day.is-crowded .shift-group-card{
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr)!important;
  grid-template-areas:"avatars main" "actions actions"!important;
  align-items:center!important;
  gap:7px 9px!important;
  padding:9px 10px!important;
  min-height:0!important;
}
.schedule-workspace .shift-group-card .shift-group-avatars{
  grid-area:avatars!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  width:78px!important;
  max-width:78px!important;
  padding-left:0!important;
  overflow:visible!important;
}
.schedule-workspace .shift-group-card .group-shift-avatar{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  border:2px solid color-mix(in srgb,var(--panel) 88%,var(--accent) 12%)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.24)!important;
}
.schedule-workspace .shift-group-card .group-shift-avatar + .group-shift-avatar{
  margin-left:-9px!important;
}
.schedule-workspace .shift-group-card .group-shift-overflow{
  display:grid!important;
  place-items:center!important;
  background:color-mix(in srgb,var(--accent) 22%,var(--panel) 78%)!important;
  color:var(--text)!important;
  font-size:.62rem!important;
  font-weight:900!important;
}
.schedule-workspace .shift-group-card .shift-main{
  grid-area:main!important;
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
  align-content:center!important;
  text-align:left!important;
}
.schedule-workspace .shift-group-card .shift-main strong{
  display:block!important;
  font-size:.66rem!important;
  line-height:1!important;
  color:var(--muted)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.schedule-workspace .shift-group-card .shift-main .shift-time{
  display:block!important;
  margin:0!important;
  font-size:.82rem!important;
  font-weight:900!important;
  line-height:1.12!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.schedule-workspace .shift-group-card .shift-actions{
  grid-area:actions!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin-top:4px!important;
  min-width:0!important;
}
.schedule-workspace .shift-group-card .shift-actions .ghost-mini{
  height:24px!important;
  min-width:0!important;
  padding:0 9px!important;
  font-size:.56rem!important;
  white-space:nowrap!important;
}
.schedule-workspace .workspace-actions #workspaceWeek,
.schedule-workspace-compact .workspace-actions #workspaceWeek{
  min-width:184px!important;
  width:184px!important;
  max-width:184px!important;
  box-sizing:border-box!important;
  padding-left:15px!important;
  padding-right:34px!important;
  letter-spacing:0!important;
  font-variant-numeric:tabular-nums!important;
}
.schedule-workspace .workspace-actions #workspaceWeek::-webkit-calendar-picker-indicator{
  margin-left:4px!important;
  padding-left:3px!important;
  width:18px!important;
}
@media(max-width:760px){
  .schedule-workspace .shift-group-card,
  .schedule-workspace .portal-schedule-day.is-crowded .shift-group-card{
    grid-template-columns:70px minmax(0,1fr)!important;
  }
  .schedule-workspace .shift-group-card .shift-group-avatars{
    width:70px!important;
    max-width:70px!important;
  }
  .schedule-workspace .workspace-actions #workspaceWeek,
  .schedule-workspace-compact .workspace-actions #workspaceWeek{
    min-width:174px!important;
    width:174px!important;
    max-width:174px!important;
    padding-right:32px!important;
  }
}


/* v448: stacked grouped slot cards and tighter workspace date field */
.schedule-workspace .shift-group-card,
.schedule-workspace .portal-schedule-day.is-crowded .shift-group-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:"avatars" "main" "actions"!important;
  align-items:start!important;
  gap:8px!important;
  padding:10px!important;
}
.schedule-workspace .shift-group-card .shift-group-avatars{
  grid-area:avatars!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:0!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  overflow:visible!important;
  padding-left:0!important;
}
.schedule-workspace .shift-group-card .group-shift-avatar{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  max-width:30px!important;
}
.schedule-workspace .shift-group-card .group-shift-avatar + .group-shift-avatar{
  margin-left:-8px!important;
}
.schedule-workspace .shift-group-card .shift-main{
  grid-area:main!important;
  display:grid!important;
  justify-items:start!important;
  align-content:start!important;
  text-align:left!important;
  gap:2px!important;
  min-width:0!important;
}
.schedule-workspace .shift-group-card .shift-main strong{
  display:none!important;
}
.schedule-workspace .shift-group-card .shift-main .shift-time{
  display:block!important;
  margin:0!important;
  font-size:.9rem!important;
  font-weight:900!important;
  line-height:1.15!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.schedule-workspace .shift-group-card .shift-actions{
  grid-area:actions!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin-top:2px!important;
  width:100%!important;
}
.schedule-workspace .shift-group-card .shift-actions .ghost-mini{
  height:22px!important;
  padding:0 9px!important;
  font-size:.56rem!important;
  white-space:nowrap!important;
}
.schedule-workspace .workspace-actions #workspaceWeek,
.schedule-workspace-compact .workspace-actions #workspaceWeek{
  min-width:168px!important;
  width:168px!important;
  max-width:168px!important;
  padding-left:13px!important;
  padding-right:28px!important;
  background-position:right 8px center!important;
}
.schedule-workspace .workspace-actions #workspaceWeek::-webkit-calendar-picker-indicator{
  margin-left:0!important;
  padding-left:0!important;
  width:16px!important;
}
@media(max-width:760px){
  .schedule-workspace .workspace-actions #workspaceWeek,
  .schedule-workspace-compact .workspace-actions #workspaceWeek{
    min-width:166px!important;
    width:166px!important;
    max-width:166px!important;
    padding-right:28px!important;
  }
}


/* v450: replace grouped schedule card with a simple purpose-built slot card */
.schedule-workspace article.schedule-slot-card,
.schedule-workspace .portal-schedule-day.is-crowded article.schedule-slot-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  min-height:0!important;
  padding:10px!important;
  border-radius:16px!important;
  box-sizing:border-box!important;
  text-align:left!important;
  position:relative!important;
  overflow:visible!important;
}
.schedule-workspace article.schedule-slot-card::before,
.schedule-workspace article.schedule-slot-card::after{
  content:none!important;
  display:none!important;
}
.schedule-workspace article.schedule-slot-card .slot-avatars{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  transform:none!important;
}
.schedule-workspace article.schedule-slot-card .slot-avatar,
.schedule-workspace article.schedule-slot-card .slot-avatar img,
.schedule-workspace article.schedule-slot-card .slot-avatar span{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  border-radius:999px!important;
  object-fit:cover!important;
  position:static!important;
  transform:none!important;
  margin:0!important;
}
.schedule-workspace article.schedule-slot-card .slot-avatar{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--border) 70%,var(--accent) 30%)!important;
  background:color-mix(in srgb,var(--panel) 82%,#fff 18%)!important;
  color:var(--text)!important;
  font-size:.65rem!important;
  font-weight:900!important;
}
.schedule-workspace article.schedule-slot-card .slot-avatar-overflow{
  background:color-mix(in srgb,var(--panel) 65%,var(--accent) 35%)!important;
}
.schedule-workspace article.schedule-slot-card .slot-time{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  color:var(--accent)!important;
  font-size:.9rem!important;
  font-weight:900!important;
  line-height:1.15!important;
  text-align:left!important;
  white-space:normal!important;
  position:static!important;
  transform:none!important;
}
.schedule-workspace article.schedule-slot-card .slot-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  width:100%!important;
  margin:2px 0 0!important;
  padding:0!important;
  position:static!important;
  transform:none!important;
}
.schedule-workspace article.schedule-slot-card .slot-actions .ghost-mini{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:22px!important;
  min-width:0!important;
  width:auto!important;
  padding:0 9px!important;
  border-radius:999px!important;
  font-size:.56rem!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
  position:static!important;
  transform:none!important;
  margin:0!important;
  box-shadow:none!important;
}
.schedule-workspace .workspace-actions #workspaceWeek,
.schedule-workspace-compact .workspace-actions #workspaceWeek{
  min-width:180px!important;
  width:180px!important;
  max-width:180px!important;
  padding-left:12px!important;
  padding-right:30px!important;
  font-size:.95rem!important;
  letter-spacing:.01em!important;
}
@media(max-width:760px){
  .schedule-workspace .workspace-actions #workspaceWeek,
  .schedule-workspace-compact .workspace-actions #workspaceWeek{
    min-width:172px!important;
    width:172px!important;
    max-width:172px!important;
  }
}

/* v451: reworked employee schedule workspace into a row-by-user weekly planner grid */
.schedule-workspace .scheduler-shell{display:grid;gap:12px}
.schedule-workspace .scheduler-inline-head{margin-bottom:0}
.schedule-workspace .scheduler-inline-head h3{margin:0}
.schedule-workspace .scheduler-inline-head p{margin:.15rem 0 0}
.schedule-workspace .scheduler-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,var(--accent) 4%),color-mix(in srgb,var(--panel) 99%,#fff 1%))}
.schedule-workspace .scheduler-toolbar-left{display:flex;align-items:end;gap:12px;flex-wrap:wrap;flex:1}
.schedule-workspace .scheduler-toolbar-left label{display:grid;gap:6px;font-size:.82rem;font-weight:700;min-width:160px}
.schedule-workspace .scheduler-toolbar-left label.wide{flex:1;min-width:260px}
.schedule-workspace .scheduler-toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.82rem}
.schedule-workspace .scheduler-toolbar-right span{border:1px solid var(--border);border-radius:999px;padding:5px 10px;background:color-mix(in srgb,var(--panel) 90%,#fff 10%)}
.schedule-workspace .scheduler-grid-wrap{position:relative;border:1px solid var(--border);border-radius:22px;overflow:auto;background:color-mix(in srgb,var(--panel) 98%,#fff 2%);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.schedule-workspace .scheduler-grid{display:grid;min-width:1480px;align-items:stretch}
.schedule-workspace .scheduler-grid-header{position:sticky;top:0;z-index:3;padding:12px 14px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 92%,var(--accent) 8%),color-mix(in srgb,var(--panel) 96%,#fff 4%));font-size:.84rem}
.schedule-workspace .scheduler-grid-header strong{display:block;font-size:.92rem}
.schedule-workspace .scheduler-sticky-col{position:sticky;left:0;z-index:2}
.schedule-workspace .scheduler-grid-header.scheduler-sticky-col{z-index:4}
.schedule-workspace .scheduler-row-head{display:flex;align-items:center;gap:10px;min-height:92px;padding:12px 14px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,var(--accent) 6%),color-mix(in srgb,var(--panel) 99%,#fff 1%))}
.schedule-workspace .scheduler-row-head[data-scheduler-employee]{cursor:grab;transition:background .15s ease,box-shadow .15s ease,border-color .15s ease}
.schedule-workspace .scheduler-row-head[data-scheduler-employee]:hover{background:color-mix(in srgb,var(--panel) 86%,var(--accent) 14%)}
.schedule-workspace .scheduler-row-head.is-selected{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--panel) 82%,var(--accent) 18%)}
.schedule-workspace .scheduler-row-head.is-dragging{opacity:.72}
.schedule-workspace .scheduler-open-row{min-height:74px;align-items:flex-start}
.schedule-workspace .scheduler-open-row small{display:block;color:var(--muted);margin-top:4px}
.schedule-workspace .scheduler-employee-meta{display:grid;gap:3px;min-width:0;flex:1}
.schedule-workspace .scheduler-employee-meta strong,.schedule-workspace .scheduler-employee-meta small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.schedule-workspace .scheduler-employee-meta small{color:var(--muted);font-size:.75rem}
.schedule-workspace .scheduler-hours{margin-left:auto;flex:0 0 auto;border:1px solid var(--border);border-radius:999px;padding:6px 10px;background:color-mix(in srgb,var(--panel) 88%,#fff 12%);font-size:.82rem;font-weight:800}
.schedule-workspace .scheduler-cell{min-height:92px;padding:10px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:color-mix(in srgb,var(--panel) 98%,#fff 2%);display:flex;flex-direction:column;gap:8px;justify-content:flex-start}
.schedule-workspace .scheduler-open-cell{min-height:74px;background:color-mix(in srgb,var(--panel) 96%,var(--accent) 4%)}
.schedule-workspace .scheduler-droppable{cursor:pointer}
.schedule-workspace .scheduler-cell.drag-over{background:color-mix(in srgb,var(--panel) 80%,var(--accent) 20%);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 60%,#fff 40%)}
.schedule-workspace .scheduler-empty{font-size:.78rem;color:var(--muted);padding:10px;border:1px dashed var(--border);border-radius:14px;text-align:center}
.schedule-workspace .scheduler-add-btn{width:100%;min-height:54px;border:1px dashed var(--border);border-radius:14px;background:transparent;color:var(--muted);font-weight:700;cursor:pointer}
.schedule-workspace .scheduler-add-btn:hover{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--panel) 86%,var(--accent) 14%)}
.schedule-workspace .scheduler-chip{border:1px solid var(--border);border-radius:14px;padding:8px 9px;background:var(--panel);display:grid;gap:6px;min-width:0}
.schedule-workspace .scheduler-chip.shift{border-color:color-mix(in srgb,var(--accent) 42%,var(--border) 58%);background:color-mix(in srgb,var(--panel) 88%,var(--accent) 12%)}
.schedule-workspace .scheduler-chip.timeoff{border-color:color-mix(in srgb,#f59e9e 44%,var(--border) 56%);background:color-mix(in srgb,var(--panel) 82%,#fda4af 18%)}
.schedule-workspace .scheduler-chip.open{border-style:dashed;background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%)}
.schedule-workspace .scheduler-chip.self{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--success) 55%,transparent)}
.schedule-workspace .scheduler-chip-main{display:grid;gap:3px;min-width:0}
.schedule-workspace .scheduler-chip-main strong,.schedule-workspace .scheduler-chip-main span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.schedule-workspace .scheduler-chip-main strong{font-size:.84rem;line-height:1.1}
.schedule-workspace .scheduler-chip-main span{font-size:.74rem;color:var(--muted)}
.schedule-workspace .scheduler-chip-actions{display:flex;gap:6px;flex-wrap:wrap}
.schedule-workspace .scheduler-chip .ghost-mini{width:auto;height:auto;min-height:24px;padding:4px 8px;border-radius:999px;font-size:.7rem;line-height:1.1}
.schedule-workspace .scheduler-no-results{padding:14px;color:var(--muted)}
@media(max-width:1100px){
  .schedule-workspace .scheduler-toolbar-left label.wide{min-width:220px}
  .schedule-workspace .scheduler-grid{min-width:1320px}
}
@media(max-width:700px){
  .schedule-workspace .scheduler-toolbar{padding:10px}
  .schedule-workspace .scheduler-toolbar-left{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .schedule-workspace .scheduler-toolbar-left label,.schedule-workspace .scheduler-toolbar-left label.wide{min-width:0}
  .schedule-workspace .scheduler-toolbar-right{width:100%}
  .schedule-workspace .scheduler-grid{min-width:1080px}
  .schedule-workspace .scheduler-row-head{min-height:84px;padding:10px}
  .schedule-workspace .scheduler-cell{min-height:84px;padding:8px}
}


/* v452: scheduler chip controls, live filter affordances, mobile polish, and red time-off state */
.schedule-workspace .scheduler-chip{
  min-height:76px;
}
.schedule-workspace .scheduler-chip-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  width:100%!important;
  margin-top:6px!important;
}
.schedule-workspace .scheduler-chip .scheduler-chip-actions .ghost-mini{
  width:auto!important;
  min-width:0!important;
  min-height:20px!important;
  height:22px!important;
  padding:2px 8px!important;
  border-radius:999px!important;
  border:1px solid var(--border)!important;
  background:color-mix(in srgb,var(--panel) 90%,#fff 10%)!important;
  color:var(--text)!important;
  box-shadow:none!important;
  font-size:.62rem!important;
  line-height:1!important;
  font-weight:800!important;
  text-transform:uppercase!important;
}
.schedule-workspace .scheduler-chip .scheduler-chip-actions .danger,
.schedule-workspace .scheduler-chip .scheduler-chip-actions .shift-remove-btn{
  margin-left:auto!important;
  border-color:color-mix(in srgb,#ef4444 60%,var(--border) 40%)!important;
  color:#fecaca!important;
  background:color-mix(in srgb,var(--panel) 86%,#ef4444 14%)!important;
}
.schedule-workspace .scheduler-chip .scheduler-chip-actions .ghost-mini:hover,
.schedule-workspace .scheduler-chip .scheduler-chip-actions .ghost-mini:focus-visible{
  border-color:color-mix(in srgb,var(--accent) 65%,var(--border) 35%)!important;
  background:color-mix(in srgb,var(--panel) 80%,var(--accent) 20%)!important;
}
.schedule-workspace .scheduler-chip.timeoff,
.schedule-workspace .scheduler-chip.timeoff.editable{
  border-color:color-mix(in srgb,#ef4444 72%,var(--border) 28%)!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 72%,#7f1d1d 28%),color-mix(in srgb,var(--panel) 84%,#ef4444 16%))!important;
  box-shadow:inset 4px 0 0 #ef4444!important;
}
.schedule-workspace .scheduler-chip.timeoff .scheduler-chip-main strong{
  color:#fecaca!important;
}
.schedule-workspace .scheduler-chip.timeoff .scheduler-chip-main span{
  color:#fecaca!important;
}
.schedule-workspace .scheduler-mobile-hint{
  border-style:dashed!important;
}
.schedule-workspace .scheduler-row-head[hidden],
.schedule-workspace .scheduler-cell[hidden]{
  display:none!important;
}
.schedule-directory-card{
  max-width:520px!important;
}
.schedule-directory-card-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin:12px 0 16px;
}
.directory-modal-avatar{
  width:64px;
  height:64px;
  border-radius:50%;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:var(--accent);
  color:#fff;
  font-weight:900;
  flex:0 0 auto;
}
.directory-modal-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.schedule-directory-card-facts{
  display:grid;
  gap:10px;
  margin:0;
}
.schedule-directory-card-facts div{
  border:1px solid var(--border);
  border-radius:14px;
  padding:10px 12px;
  background:color-mix(in srgb,var(--panel) 92%,#fff 8%);
}
.schedule-directory-card-facts dt{
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  color:var(--muted);
  letter-spacing:.05em;
}
.schedule-directory-card-facts dd{
  margin:4px 0 0;
  font-weight:800;
}
@media(max-width:760px){
  .schedule-workspace .scheduler-grid-wrap{
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
  }
  .schedule-workspace .scheduler-grid{
    min-width:980px!important;
  }
  .schedule-workspace .scheduler-row-head{
    min-height:78px;
    padding:9px;
  }
  .schedule-workspace .scheduler-cell{
    min-height:78px;
    padding:7px;
  }
  .schedule-workspace .scheduler-chip{
    min-height:68px;
    padding:7px;
  }
  .schedule-workspace .scheduler-chip .scheduler-chip-actions .ghost-mini{
    height:21px!important;
    padding:2px 7px!important;
    font-size:.58rem!important;
  }
  .schedule-workspace .scheduler-add-btn{
    min-height:46px;
  }
  .schedule-workspace .scheduler-mobile-hint{
    display:inline-flex;
  }
}

/* v453: weekly hour status colors and open shift/swap request polish */
.schedule-workspace .scheduler-hours.warning{border-color:#eab308;background:rgba(234,179,8,.18);color:#fde68a;}
.schedule-workspace .scheduler-hours.good{border-color:#22c55e;background:rgba(34,197,94,.18);color:#bbf7d0;}
.schedule-workspace .scheduler-hours.over{border-color:#ef4444;background:rgba(239,68,68,.20);color:#fecaca;}
body.light .schedule-workspace .scheduler-hours.warning{color:#854d0e;background:#fef3c7;}
body.light .schedule-workspace .scheduler-hours.good{color:#166534;background:#dcfce7;}
body.light .schedule-workspace .scheduler-hours.over{color:#991b1b;background:#fee2e2;}
.schedule-workspace .scheduler-open-cell{display:flex;flex-direction:column;gap:8px;align-items:stretch;}
.schedule-workspace .open-shift-add{border-style:dashed;font-weight:800;}
.schedule-request-list .timeoff-review-card{border-left:4px solid var(--accent);}
.schedule-workspace .scheduler-chip-actions .ghost-mini{white-space:nowrap;}
@media (max-width: 760px){
  .schedule-workspace .scheduler-hours{padding:4px 7px;font-size:.74rem;}
  .schedule-workspace .scheduler-chip-actions{gap:4px;}
  .schedule-workspace .scheduler-chip-actions .ghost-mini{font-size:.7rem;padding:4px 6px;}
}


/* v455: team schedule duplicate cleanup, long-shift warning, and instant open-shift request polish */
.schedule-workspace .scheduler-chip.shift.long-shift{
  border-color:#eab308!important;
  background:rgba(234,179,8,.18)!important;
}
.schedule-workspace .scheduler-chip.shift.long-shift .scheduler-chip-main strong,
.schedule-workspace .scheduler-chip.shift.long-shift .long-shift-label{
  color:#fde68a!important;
}
body.light .schedule-workspace .scheduler-chip.shift.long-shift{
  background:#fef3c7!important;
  border-color:#eab308!important;
}
body.light .schedule-workspace .scheduler-chip.shift.long-shift .scheduler-chip-main strong,
body.light .schedule-workspace .scheduler-chip.shift.long-shift .long-shift-label{
  color:#854d0e!important;
}
.schedule-workspace .scheduler-chip .long-shift-label{
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

/* v456: schedule validation, draft/publish, copy-week, and site-styled swap dialog */
.schedule-governance-panel{
  display:grid;
  gap:12px;
  border:1px solid var(--border);
  border-radius:22px;
  padding:14px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,var(--accent) 6%),color-mix(in srgb,var(--panel) 99%,#fff 1%));
  box-shadow:0 14px 34px rgba(0,0,0,.16);
}
.schedule-governance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.schedule-governance-head h3{margin:.15rem 0 .2rem;font-size:1.05rem;}
.schedule-governance-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.schedule-governance-actions .ghost,.schedule-governance-actions .btn{min-height:34px;padding:7px 12px;border-radius:999px;font-weight:900;}
.schedule-status{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;border:1px solid var(--border);font-size:.75rem;letter-spacing:.05em;}
.schedule-status.draft{color:#fde68a;background:rgba(234,179,8,.16);border-color:#eab308;}
.schedule-status.published{color:#bbf7d0;background:rgba(34,197,94,.16);border-color:#22c55e;}
.schedule-validation-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.schedule-validation-summary span{display:inline-flex;gap:5px;align-items:center;border:1px solid var(--border);border-radius:999px;padding:6px 10px;color:var(--muted);background:color-mix(in srgb,var(--panel) 91%,#fff 9%);font-size:.82rem;font-weight:800;}
.schedule-validation-summary span.warning{color:#fde68a;border-color:#eab308;background:rgba(234,179,8,.14);}
.schedule-validation-summary span.danger{color:#fecaca;border-color:#ef4444;background:rgba(239,68,68,.15);}
.schedule-validation-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;}
.schedule-validation-item{display:grid;gap:3px;border:1px solid var(--border);border-left-width:4px;border-radius:14px;padding:9px 11px;background:color-mix(in srgb,var(--panel) 92%,#fff 8%);}
.schedule-validation-item strong{text-transform:capitalize;font-size:.78rem;}
.schedule-validation-item span{font-size:.8rem;color:var(--muted);line-height:1.35;}
.schedule-validation-item.warning{border-left-color:#eab308;}
.schedule-validation-item.danger{border-left-color:#ef4444;}
.schedule-history{border:1px solid var(--border);border-radius:16px;padding:8px 10px;background:color-mix(in srgb,var(--panel) 94%,#fff 6%);}
.schedule-history summary{cursor:pointer;font-weight:900;color:var(--text);}
.schedule-history div{display:grid;gap:8px;margin-top:10px;}
.schedule-history article{display:grid;gap:2px;border-top:1px solid var(--border);padding-top:8px;}
.schedule-history article strong{font-size:.78rem;text-transform:capitalize;}
.schedule-history article span{font-size:.82rem;}
.schedule-history article small{font-size:.72rem;color:var(--muted);}
.schedule-dialog.schedule-copy-dialog,.schedule-dialog.schedule-swap-dialog{max-width:560px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border) 55%);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,var(--accent) 6%),var(--panel));box-shadow:0 24px 80px rgba(0,0,0,.45);}
.schedule-dialog.schedule-copy-dialog textarea,.schedule-dialog.schedule-swap-dialog textarea{min-height:92px;resize:vertical;}
.schedule-dialog .check-row{display:flex!important;align-items:center;gap:9px;margin-top:8px;font-weight:800;}
.schedule-dialog .check-row input{width:auto;min-width:0;}
body.light .schedule-validation-summary span.warning{color:#854d0e;background:#fef3c7;}
body.light .schedule-validation-summary span.danger{color:#991b1b;background:#fee2e2;}
body.light .schedule-status.draft{color:#854d0e;background:#fef3c7;}
body.light .schedule-status.published{color:#166534;background:#dcfce7;}
@media(max-width:760px){
  .schedule-governance-panel{padding:11px;border-radius:18px;}
  .schedule-governance-actions{width:100%;display:grid;grid-template-columns:1fr;}
  .schedule-validation-list{grid-template-columns:1fr;}
}

/* v457: structured shift swap workflow polish */
.schedule-workspace .swap-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start}
.schedule-workspace .swap-actions .ghost-mini{font-size:.62rem;min-height:22px;padding:3px 7px;border-radius:999px}
.schedule-swap-dialog .schedule-swap-checklist{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--panel) 90%,var(--accent) 10%);color:var(--muted);font-size:.78rem}
.schedule-swap-dialog .schedule-swap-checklist b{border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border) 62%);border-radius:999px;padding:3px 8px;color:var(--text);font-size:.72rem}
.schedule-request-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.schedule-request-columns>section{display:grid;gap:10px;min-width:0}
.schedule-request-columns h4{margin:0;color:var(--text)}
.schedule-request-card .timeoff-review-summary span{text-transform:capitalize}
.schedule-request-card .timeoff-review-actions button[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.35)}
.my-shift-request-list .timeoff-review-card{border-color:color-mix(in srgb,var(--accent) 25%,var(--border) 75%)}
@media(max-width:900px){.schedule-request-columns{grid-template-columns:1fr}.schedule-workspace .swap-actions .ghost-mini{font-size:.58rem;padding:3px 6px}}

/* v459 Time Clock */
.time-clock-card{border:1px solid rgba(245,158,11,.35);box-shadow:0 18px 40px rgba(15,23,42,.18)}
.time-clock-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.time-clock-actions button[disabled]{opacity:.45;cursor:not-allowed}.time-clock-punches{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none}.time-clock-punches li{display:flex;justify-content:space-between;gap:.5rem;border:1px solid rgba(148,163,184,.25);border-radius:14px;padding:.65rem .75rem;background:rgba(15,23,42,.04)}.exception-list{display:grid;gap:.6rem;margin-top:.75rem}.data-table.compact td,.data-table.compact th{padding:.45rem .55rem}.schedule-pane .table-wrap{max-height:45vh;overflow:auto}

/* v460: restore signed-in employee highlighting on the profile schedule landing board. */
.schedule-landing .portal-schedule-day.has-my-shift,
body[data-panopt-route="profile"] .schedule-landing .portal-schedule-day.has-my-shift{
  border-color:color-mix(in srgb,var(--success,#22c55e) 78%,var(--border) 22%)!important;
  box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--success,#22c55e) 62%,transparent),0 16px 34px rgba(34,197,94,.16)!important;
}
.schedule-landing .portal-schedule-day.has-my-shift .schedule-day-head h3::after{
  content:"You";
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:2px 7px;
  border-radius:999px;
  font-size:.66rem;
  line-height:1.2;
  color:var(--surface-bg,#041b12);
  background:color-mix(in srgb,var(--success,#22c55e) 76%,#fff 24%);
  vertical-align:middle;
}
.schedule-landing .portal-schedule-day.has-my-timeoff,
body[data-panopt-route="profile"] .schedule-landing .portal-schedule-day.has-my-timeoff{
  border-color:color-mix(in srgb,var(--danger,#ef4444) 58%,var(--success,#22c55e) 42%)!important;
  box-shadow:inset 5px 0 0 color-mix(in srgb,var(--danger,#ef4444) 86%,white 14%),0 0 0 2px color-mix(in srgb,var(--success,#22c55e) 38%,transparent),0 16px 34px rgba(239,68,68,.14)!important;
}
.schedule-landing .portal-schedule-day.has-my-shift.has-my-timeoff,
body[data-panopt-route="profile"] .schedule-landing .portal-schedule-day.has-my-shift.has-my-timeoff{
  border-color:color-mix(in srgb,var(--success,#22c55e) 66%,var(--danger,#ef4444) 34%)!important;
  box-shadow:inset 5px 0 0 color-mix(in srgb,var(--danger,#ef4444) 88%,white 12%),inset 0 0 0 2px color-mix(in srgb,var(--success,#22c55e) 62%,transparent),0 16px 34px rgba(34,197,94,.16)!important;
}
.schedule-landing .portal-shift.is-my-shift,
body[data-panopt-route="profile"] .schedule-landing .portal-shift.is-my-shift{
  border-color:color-mix(in srgb,var(--success,#22c55e) 78%,var(--border) 22%)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--success,#22c55e) 35%,transparent),0 14px 34px rgba(34,197,94,.18)!important;
}
.schedule-landing .portal-shift.timeoff-shift.is-my-shift,
body[data-panopt-route="profile"] .schedule-landing .portal-shift.timeoff-shift.is-my-shift{
  border-color:color-mix(in srgb,var(--danger,#ef4444) 58%,var(--success,#22c55e) 42%)!important;
  box-shadow:inset 4px 0 0 color-mix(in srgb,var(--danger,#ef4444) 86%,white 14%),0 0 0 2px color-mix(in srgb,var(--success,#22c55e) 45%,transparent)!important;
}

/* v461: header time clock + manager timecard controls */
.header-time-clock-btn{background:linear-gradient(135deg,#16a34a,#22c55e);color:#02130a;border:1px solid rgba(255,255,255,.16);box-shadow:0 12px 34px rgba(34,197,94,.24);white-space:nowrap;min-width:118px}
.header-time-clock-btn.complete{background:rgba(255,255,255,.045);color:var(--muted);border:1px solid var(--border);box-shadow:none}
.header-time-clock-btn[disabled]{opacity:.72;cursor:not-allowed}
.time-clock-manager-table th,.time-clock-manager-table td{vertical-align:top}
.time-clock-cell{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;min-width:132px}
.time-clock-cell>span{font-weight:900;min-width:42px}
button.mini,.ghost.mini{padding:.35rem .55rem;border-radius:999px;font-size:.76rem;line-height:1;box-shadow:none}
button.mini.danger,.ghost.mini.danger{border-color:rgba(251,113,133,.42);color:#fecdd3;background:rgba(127,29,29,.24)}
.time-clock-edit-dialog textarea{min-height:96px}
@media(max-width:900px){.header-time-clock-btn{min-width:auto}.time-clock-cell{min-width:110px}}

/* v463: make self schedule highlighting unmistakable and protect employee-owned punch records. */
.schedule-landing .portal-schedule-day.has-my-shift,
body[data-panopt-route="profile"] .schedule-landing .portal-schedule-day.has-my-shift{
  border-color:#22ff55!important;
  box-shadow:inset 0 0 0 3px #22ff55,0 0 0 1px rgba(255,255,255,.2),0 0 28px rgba(34,255,85,.35)!important;
}
.schedule-landing .portal-schedule-day.has-my-shift .portal-shift.is-my-shift,
body[data-panopt-route="profile"] .schedule-landing .portal-schedule-day.has-my-shift .portal-shift.is-my-shift{
  border-color:#22ff55!important;
  box-shadow:0 0 0 3px rgba(34,255,85,.72),0 14px 34px rgba(34,255,85,.25)!important;
}
.schedule-landing .portal-shift.is-my-shift .shift-avatar,
body[data-panopt-route="profile"] .schedule-landing .portal-shift.is-my-shift .shift-avatar,
.schedule-landing .portal-schedule-day.is-crowded .portal-shift.is-my-shift .shift-avatar,
body[data-panopt-route="profile"] .schedule-landing .portal-schedule-day.is-crowded .portal-shift.is-my-shift .shift-avatar{
  outline:4px solid #22ff55!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 2px rgba(0,0,0,.75),0 0 18px rgba(34,255,85,.75)!important;
}
.schedule-landing .portal-schedule-day.has-my-shift.has-my-timeoff,
body[data-panopt-route="profile"] .schedule-landing .portal-schedule-day.has-my-shift.has-my-timeoff{
  border-color:#22ff55!important;
  box-shadow:inset 6px 0 0 #ff4d6d,inset 0 0 0 3px #22ff55,0 0 30px rgba(34,255,85,.38)!important;
}
.schedule-landing .portal-schedule-day.has-my-shift.has-my-timeoff .portal-shift.timeoff-shift.is-my-shift,
body[data-panopt-route="profile"] .schedule-landing .portal-schedule-day.has-my-shift.has-my-timeoff .portal-shift.timeoff-shift.is-my-shift{
  border-color:#22ff55!important;
  box-shadow:inset 5px 0 0 #ff4d6d,0 0 0 3px rgba(34,255,85,.72),0 14px 34px rgba(255,77,109,.22)!important;
}
.time-clock-manager-table small{color:var(--muted)}


/* v464: brighter approved time-off visibility plus resilient self-schedule contrast. */
.schedule-landing .portal-schedule-day.has-my-timeoff,
body[data-panopt-route="profile"] .schedule-landing .portal-schedule-day.has-my-timeoff{
  border-color:#ff003d!important;
  box-shadow:inset 0 0 0 3px #ff003d,0 0 0 1px rgba(255,255,255,.24),0 0 32px rgba(255,0,61,.62)!important;
}
.schedule-landing .portal-schedule-day.has-my-timeoff .portal-shift.timeoff-shift,
body[data-panopt-route="profile"] .schedule-landing .portal-schedule-day.has-my-timeoff .portal-shift.timeoff-shift{
  border-color:#ff003d!important;
  box-shadow:inset 6px 0 0 #ff003d,0 0 0 3px rgba(255,0,61,.74),0 14px 34px rgba(255,0,61,.34)!important;
}
.schedule-landing .portal-schedule-day.has-my-shift.has-my-timeoff,
body[data-panopt-route="profile"] .schedule-landing .portal-schedule-day.has-my-shift.has-my-timeoff{
  border-color:#22ff55!important;
  box-shadow:inset 8px 0 0 #ff003d,inset 0 0 0 3px #22ff55,0 0 0 2px rgba(255,0,61,.66),0 0 34px rgba(34,255,85,.42),0 0 26px rgba(255,0,61,.42)!important;
}
.schedule-landing .portal-schedule-day.has-my-shift.has-my-timeoff .portal-shift.timeoff-shift.is-my-shift,
body[data-panopt-route="profile"] .schedule-landing .portal-schedule-day.has-my-shift.has-my-timeoff .portal-shift.timeoff-shift.is-my-shift{
  border-color:#22ff55!important;
  box-shadow:inset 7px 0 0 #ff003d,0 0 0 3px rgba(34,255,85,.82),0 0 0 6px rgba(255,0,61,.40),0 14px 34px rgba(255,0,61,.30)!important;
}
.schedule-landing .portal-shift.timeoff-shift .shift-avatar,
body[data-panopt-route="profile"] .schedule-landing .portal-shift.timeoff-shift .shift-avatar{
  outline:4px solid #ff003d!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 2px rgba(0,0,0,.75),0 0 18px rgba(255,0,61,.82)!important;
}
.schedule-landing .portal-shift.timeoff-shift.is-my-shift .shift-avatar,
body[data-panopt-route="profile"] .schedule-landing .portal-shift.timeoff-shift.is-my-shift .shift-avatar{
  outline:4px solid #22ff55!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 2px #ff003d,0 0 20px rgba(34,255,85,.82),0 0 16px rgba(255,0,61,.72)!important;
}

/* v510: fuller schedule landing cards inspired by workforce dashboard modules. */
.schedule-landing .schedule-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(220px,1fr));
  gap:16px;
  align-items:stretch;
  margin:16px 0 18px;
}
.schedule-landing .schedule-dashboard-card{
  border:1px solid var(--border);
  border-radius:18px;
  padding:16px;
  background:color-mix(in srgb,var(--panel) 96%,#fff 4%);
  box-shadow:0 18px 42px rgba(15,23,42,.14);
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.schedule-landing .schedule-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.schedule-landing .schedule-card-head h3{
  margin:.1rem 0 0;
  font-size:1.05rem;
}
.schedule-landing .schedule-status-pill{
  border:1px solid var(--border);
  border-radius:999px;
  padding:5px 9px;
  background:color-mix(in srgb,var(--panel) 88%,#fff 12%);
  color:var(--muted);
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  white-space:nowrap;
}
.schedule-landing .schedule-status-pill.published{
  color:#bbf7d0;
  border-color:rgba(34,197,94,.5);
  background:rgba(22,101,52,.24);
}
.schedule-landing .schedule-status-pill.draft{
  color:#fde68a;
  border-color:rgba(245,158,11,.45);
  background:rgba(120,53,15,.22);
}
.schedule-landing .schedule-card-stat strong{
  display:block;
  font-size:2rem;
  line-height:1;
}
.schedule-landing .schedule-card-stat span{
  display:block;
  color:var(--muted);
  margin-top:4px;
}
.schedule-landing .schedule-punch-actions{
  display:grid;
  gap:8px;
  margin-top:auto;
}
.schedule-landing .schedule-punch-actions button{
  width:100%;
  min-height:38px;
  border-radius:999px;
}
.schedule-landing .schedule-mini-list{
  display:grid;
  gap:10px;
  max-height:none;
  overflow:auto;
  padding-right:2px;
}
.schedule-landing .schedule-mini-day{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:10px;
  align-items:start;
  border:1px solid var(--border);
  border-radius:16px;
  padding:10px;
  background:color-mix(in srgb,var(--panel) 98%,#fff 2%);
}
.schedule-landing .schedule-mini-day.has-my-shift{
  border-color:#22ff55;
  box-shadow:inset 0 0 0 2px rgba(34,255,85,.62);
}
.schedule-landing .schedule-mini-day.has-my-timeoff{
  border-color:#ff003d;
  box-shadow:inset 5px 0 0 #ff003d,0 0 0 1px rgba(255,0,61,.45);
}
.schedule-landing .schedule-mini-day.has-my-shift.has-my-timeoff{
  border-color:#22ff55;
  box-shadow:inset 5px 0 0 #ff003d,inset 0 0 0 2px rgba(34,255,85,.68);
}
.schedule-landing .schedule-date-token{
  width:46px;
  min-height:54px;
  border-radius:999px;
  display:grid;
  place-items:center;
  align-content:center;
  border:1px solid var(--border);
  background:color-mix(in srgb,var(--panel) 90%,#fff 10%);
}
.schedule-landing .schedule-date-token b,
.schedule-landing .schedule-date-token span{
  display:block;
  line-height:1.05;
}
.schedule-landing .schedule-date-token b{
  font-size:.72rem;
  color:var(--muted);
}
.schedule-landing .schedule-date-token span{
  font-size:1.02rem;
  font-weight:900;
}
.schedule-landing .schedule-mini-day-body{
  min-width:0;
  display:grid;
  gap:6px;
}
.schedule-landing .schedule-mini-day-body>strong{
  font-size:.94rem;
  line-height:1.15;
}
.schedule-landing .schedule-mini-event{
  display:block;
  border-radius:10px;
  padding:6px 8px;
  font-size:.82rem;
  line-height:1.2;
  border:1px solid var(--border);
  background:color-mix(in srgb,var(--panel) 94%,#fff 6%);
}
.schedule-landing .schedule-mini-event small{
  display:block;
  color:var(--muted);
  margin-top:2px;
}
.schedule-landing .schedule-mini-event.shift{
  border-color:#22ff55;
  background:rgba(34,197,94,.13);
}
.schedule-landing .schedule-mini-event.timeoff{
  border-color:#ff003d;
  background:rgba(239,68,68,.14);
}
.schedule-landing .schedule-mini-event.empty{
  border-style:dashed;
  color:var(--muted);
}
.schedule-landing .schedule-action-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:4px;
}
.schedule-landing .schedule-action-grid button{
  min-height:54px;
  border:1px solid var(--border);
  border-radius:14px;
  background:color-mix(in srgb,var(--panel) 94%,var(--accent) 6%);
  color:var(--text);
  font-weight:900;
  cursor:pointer;
}
.schedule-landing .schedule-action-grid button:hover,
.schedule-landing .schedule-action-grid button:focus-visible{
  border-color:var(--accent);
  background:color-mix(in srgb,var(--panel) 84%,var(--accent) 16%);
}
.schedule-landing .schedule-action-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.schedule-landing .schedule-action-summary span{
  border:1px solid var(--border);
  border-radius:12px;
  padding:9px 10px;
  background:color-mix(in srgb,var(--panel) 94%,#fff 6%);
}
.schedule-landing .schedule-action-summary b,
.schedule-landing .schedule-action-summary small{
  display:block;
}
.schedule-landing .schedule-action-summary b{
  font-size:1.15rem;
  line-height:1;
}
.schedule-landing .schedule-action-summary small,
.schedule-landing .schedule-action-note{
  color:var(--muted);
}
.schedule-pto-table td small{
  display:block;
  color:var(--muted);
  margin-top:2px;
}
.schedule-pto-adjust-form{
  display:grid;
  grid-template-columns:minmax(130px,1fr) 92px minmax(150px,1.2fr) auto;
  gap:8px;
  align-items:center;
  min-width:520px;
}
.schedule-pto-adjust-form select,
.schedule-pto-adjust-form input{
  min-height:34px;
}
.schedule-pto-adjust-form [data-pto-adjust-status]{
  grid-column:1/-1;
  color:var(--muted);
  font-size:.82rem;
}
.schedule-landing .schedule-notice-list{
  display:grid;
  gap:9px;
}
.schedule-landing .schedule-notice-list span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid var(--border);
  padding:4px 0 9px;
  color:var(--muted);
}
.schedule-landing .schedule-notice-list b{
  color:var(--text);
}
@media(max-width:1180px){
  .schedule-landing .schedule-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px){
  .schedule-landing .schedule-dashboard-grid{grid-template-columns:1fr;}
  .schedule-landing .schedule-dashboard-card{padding:13px;border-radius:16px;}
  .schedule-landing .schedule-action-grid{grid-template-columns:1fr 1fr;}
  .schedule-landing .schedule-action-grid button{min-height:52px;}
  .schedule-pto-adjust-form{grid-template-columns:1fr;min-width:260px;}
}

.time-clock-open-exceptions{margin-top:.75rem}.time-clock-open-exceptions>summary{padding:.55rem .75rem}.time-clock-open-exceptions .table-wrap.compact-scroll{max-height:260px;overflow:auto;margin-top:.5rem}.time-clock-exceptions-table td,.time-clock-exceptions-table th{font-size:.86rem;line-height:1.25}.time-clock-exceptions-table td:nth-child(3){max-width:520px;white-space:normal}.panel.compact-panel{padding:.15rem}

/* v466 PTO balance and VTO/PTO schedule polish */
.pto-balance-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 16px;}
.pto-balance-card>div{border:1px solid rgba(125,211,252,.35);background:rgba(2,132,199,.12);border-radius:16px;padding:14px;box-shadow:0 0 18px rgba(14,165,233,.12) inset;}
.pto-balance-card strong{display:block;font-size:1.35rem;color:#fff;}
.pto-balance-card span{display:block;color:#e0f2fe;margin-top:4px;}
.pto-balance-card small{display:block;color:#bae6fd;margin-top:4px;}
.pto-request-note{margin:8px 0 12px;}
.team-pto-balances{border:1px solid rgba(125,211,252,.25);background:rgba(2,6,23,.45);border-radius:14px;margin:0 0 14px;padding:10px 12px;}
.team-pto-balances summary{cursor:pointer;font-weight:800;color:#e0f2fe;}
@media(max-width:800px){.pto-balance-card{grid-template-columns:1fr;}}

/* v468 scheduling workflow panels */
.schedule-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-top:.75rem}
.schedule-template-card{border:1px solid rgba(148,163,184,.28);border-radius:14px;padding:.8rem;background:rgba(15,23,42,.45);box-shadow:0 12px 28px rgba(15,23,42,.18)}
.schedule-template-card strong,.schedule-template-card span,.schedule-template-card small{display:block}
.schedule-template-card small{opacity:.75;margin-top:.25rem}
.time-clock-punches button.mini{margin-left:.5rem}

/* v470: authenticated employee portal shortcuts in the global header. */
body.portal-authenticated .header-actions{
  flex:1 1 auto;
  justify-content:flex-end;
  min-width:0;
}
.header-profile-nav{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  max-width:min(680px,52vw);
  overflow-x:auto;
  scrollbar-width:thin;
  padding:2px;
}
.header-profile-nav-btn{
  flex:0 0 auto;
  min-height:34px;
  padding:8px 11px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.045);
  color:var(--text);
  box-shadow:none;
  font-size:.82rem;
  line-height:1;
  white-space:nowrap;
}
.header-profile-nav-btn:hover,
.header-profile-nav-btn:focus-visible,
.header-profile-nav-btn.active{
  background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 88%,#fff 12%),var(--brand2));
  color:#150900;
  border-color:color-mix(in srgb,var(--brand) 70%,var(--border) 30%);
  box-shadow:0 10px 24px rgba(245,130,32,.18);
}
body[data-panopt-route="profile"] .portal-tabs-secondary{
  margin-top:10px!important;
}
@media(max-width:1180px){
  .header-profile-nav{max-width:46vw;}
  .header-profile-nav-btn{font-size:.78rem;padding:8px 10px;}
}
@media(max-width:900px){
  body.portal-authenticated .header-actions{flex-basis:100%;justify-content:flex-start;}
  .header-profile-nav{order:3;flex-basis:100%;max-width:100%;width:100%;padding-bottom:5px;}
  .header-profile-nav-btn{min-height:36px;}
}
@media(max-width:560px){
  .header-profile-nav-btn{font-size:.76rem;padding:7px 9px;}
}

/* v471: center profile shortcuts to the left of Admin/Time Clock without header scrolling. */
body.portal-authenticated .site-header{
  justify-content:flex-start;
  gap:clamp(10px,1.6vw,20px);
}
body.portal-authenticated .brand{
  margin-right:0!important;
  flex:0 0 auto;
}
body.portal-authenticated .header-actions{
  flex:1 1 auto;
  min-width:0;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:nowrap;
}
body.portal-authenticated .header-profile-nav{
  order:0;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:0;
  max-width:none;
  overflow:visible;
  scrollbar-width:none;
  padding:2px clamp(8px,1.2vw,18px);
}
body.portal-authenticated .header-profile-nav::-webkit-scrollbar{display:none;}
body.portal-authenticated .header-profile-nav-btn{
  flex:0 1 auto;
  min-width:0;
  padding:8px clamp(8px,0.8vw,12px);
  font-size:clamp(.72rem,.74vw,.84rem);
  white-space:nowrap;
}
body.portal-authenticated .header-actions .admin-btn{order:1;}
body.portal-authenticated .header-time-clock-btn{order:2;}
body.portal-authenticated .user-chip{order:3;}
body.portal-authenticated .header-actions .btn.ghost{order:4;}
@media(max-width:1120px){
  body.portal-authenticated .brand small{display:none;}
  body.portal-authenticated .brand strong{font-size:.98rem;}
  body.portal-authenticated .header-profile-nav{gap:4px;padding-inline:6px;}
  body.portal-authenticated .header-profile-nav-btn{padding:7px 8px;font-size:.72rem;}
  body.portal-authenticated .header-time-clock-btn{min-width:auto;padding-inline:10px;}
  body.portal-authenticated .user-chip span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
}
@media(max-width:900px){
  body.portal-authenticated .site-header{align-items:center;}
  body.portal-authenticated .header-actions{flex-basis:0;justify-content:flex-end;flex-wrap:wrap;}
  body.portal-authenticated .header-profile-nav{order:0;flex:1 1 100%;width:100%;max-width:100%;justify-content:center;flex-wrap:wrap;padding-bottom:2px;}
  body.portal-authenticated .header-profile-nav-btn{min-height:32px;}
}
@media(max-width:620px){
  body.portal-authenticated .header-profile-nav-btn{padding:6px 7px;font-size:.68rem;}
  body.portal-authenticated .user-chip span{display:none;}
}

/* v530: overflow profile actions live in a compact hamburger menu beside the user chip. */
.header-profile-menu-wrap{
  order:3;
  position:relative;
  flex:0 0 auto;
}
body.portal-authenticated .user-chip{order:4;}
body.portal-authenticated .header-actions .btn.ghost{order:5;}
.header-profile-menu-button{
  width:38px;
  height:38px;
  display:grid;
  place-content:center;
  gap:4px;
  padding:0;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.045);
  color:var(--text);
  cursor:pointer;
}
.header-profile-menu-button span{
  display:block;
  width:17px;
  height:2px;
  border-radius:999px;
  background:currentColor;
}
.header-profile-menu-button:hover,
.header-profile-menu-button:focus-visible{
  border-color:rgba(56,189,248,.55);
  background:rgba(56,189,248,.13);
}
.header-profile-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:60;
  display:grid;
  gap:6px;
  min-width:220px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:14px;
  background:color-mix(in srgb,var(--panel) 96%,#000 4%);
  box-shadow:0 18px 46px rgba(0,0,0,.36);
}
.header-profile-menu[hidden]{display:none;}
.header-profile-menu-admin{
  display:grid;
  gap:6px;
  margin-top:4px;
  padding-top:8px;
  border-top:1px solid rgba(148,163,184,.22);
}
.header-profile-menu .header-profile-nav-btn{
  width:100%;
  justify-content:flex-start;
  text-align:left;
  border-radius:10px;
}
.header-profile-nav-btn.admin-danger{
  border-color:rgba(248,113,113,.52)!important;
  background:rgba(127,29,29,.34)!important;
  color:#fecaca!important;
}
.header-profile-nav-btn.admin-danger:hover,
.header-profile-nav-btn.admin-danger:focus-visible{
  background:linear-gradient(135deg,#ef4444,#991b1b)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(239,68,68,.24)!important;
}
.profile-tabs-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
@media(max-width:760px){
  .header-profile-menu{right:-70px;max-width:calc(100vw - 24px);}
}

/* v477 schedule validation drill-down */
.schedule-validation-item{appearance:none;text-align:left;color:inherit;cursor:pointer;}
.schedule-validation-item small{font-size:.72rem;color:var(--muted);font-weight:800;}
.schedule-validation-extra{display:none;}
.schedule-validation-list.is-expanded .schedule-validation-extra{display:grid;}
.schedule-validation-more{cursor:pointer;align-content:start;}
.schedule-conflict-blink{animation:scheduleConflictBlink .65s ease-in-out 3; outline:3px solid #ffb000; outline-offset:3px;}
@keyframes scheduleConflictBlink{
  0%,100%{box-shadow:0 0 0 0 rgba(250,204,21,0);outline:0 solid rgba(250,204,21,0);}
  50%{box-shadow:0 0 0 5px rgba(250,204,21,.42);outline:3px solid rgba(250,204,21,.95);}
}

.scheduler-chip.holiday{border-color:rgba(255,193,7,.7);}
.scheduler-chip.holiday .scheduler-chip-main strong{color:#ffd36a;}

/* Stage 7 scheduling workspace refinements */
.schedule-workspace .workspace-range-label{
  display:grid;
  gap:4px;
  font-size:.72rem;
  font-weight:800;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.schedule-workspace .workspace-range-label select{
  min-width:104px;
  height:38px;
  text-transform:none;
  letter-spacing:0;
  font-size:.9rem;
}
.schedule-workspace .scheduler-grid{
  align-items:stretch;
}
.schedule-workspace .scheduler-grid-header,
.schedule-workspace .scheduler-row-head,
.schedule-workspace .scheduler-cell{
  min-width:0;
}
.schedule-workspace .scheduler-cell{
  overflow:hidden;
}
.schedule-workspace .scheduler-chip{
  max-width:100%;
  overflow:hidden;
}
.schedule-workspace .scheduler-chip-main strong,
.schedule-workspace .scheduler-chip-main span{
  min-width:0;
}
.schedule-workspace .scheduler-chip-main span{
  white-space:normal;
  overflow-wrap:anywhere;
}
.schedule-workspace .scheduler-toolbar select,
.schedule-workspace .scheduler-toolbar input{
  min-height:38px;
}
@media(max-width:760px){
  .schedule-workspace .workspace-actions{
    align-items:stretch;
  }
  .schedule-workspace .workspace-range-label,
  .schedule-workspace .workspace-actions input,
  .schedule-workspace .workspace-actions button:not(.modal-close){
    width:100%;
  }
}


/* v485 Employee timecard popup */
.employee-timecard-dialog{width:min(1480px,96vw);max-height:92vh;overflow:auto;}
.timecard-table-wrap{max-height:58vh;overflow:auto;border:1px solid rgba(148,163,184,.24);border-radius:18px;}
.employee-timecard-table{min-width:1280px;}
.employee-timecard-table input{width:100%;min-width:74px;background:rgba(2,8,23,.62);color:#e5eefb;border:1px solid rgba(148,163,184,.28);border-radius:10px;padding:.45rem .5rem;}
.employee-timecard-table input[name="notes"],.employee-timecard-table input[name="project_code"],.employee-timecard-table input[name="cost_center"],.employee-timecard-table input[name="location"]{min-width:120px;}
.employee-timecard-table tfoot th{position:sticky;bottom:0;background:rgba(2,8,23,.94);z-index:2;}
.timecard-dialog-backdrop .check-row{display:flex;gap:.6rem;align-items:flex-start;margin:.75rem 0;color:#e5eefb;}

/* v511: UKG-style compact timecard matrix and approval cards. */
.employee-timecard-dialog-v511,.employee-timecard-dialog-v512{width:min(1500px,97vw);background:#10151d;color:#f8fafc;border-color:#384255}
.employee-timecard-dialog-v512{padding-top:18px}
.employee-timecard-dialog-v511 .timecard-hero,.employee-timecard-dialog-v512 .timecard-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin:0 46px 8px 0}
.employee-timecard-dialog-v511 .timecard-hero h3,.employee-timecard-dialog-v512 .timecard-hero h3{margin:.15rem 0;font-size:1.28rem}
.employee-timecard-dialog-v512 .modal-close{top:12px;right:12px;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;font-size:24px}
.timecard-status-stack{display:grid;justify-items:end;gap:3px;min-width:110px}
.timecard-status-stack strong{font-size:1.65rem;line-height:1}
.timecard-status-stack small{color:#aeb8c6;font-size:.78rem}
.timecard-toolbar{display:flex;align-items:end;gap:10px;justify-content:flex-start;flex-wrap:wrap;margin:8px 0 10px;padding:8px 10px;border:1px solid #2b3342;border-radius:8px;background:#171d28}
.timecard-toolbar label{display:grid;gap:3px;color:#cbd5e1;font-size:.78rem;font-weight:800}
.timecard-toolbar input{min-height:34px;border:1px solid #344057;border-radius:5px;background:#05070b;color:#f8fafc;padding:5px 7px}
.employee-timecard-dialog-v511 .timecard-table-wrap,.employee-timecard-dialog-v512 .timecard-table-wrap{max-height:58vh;overflow:auto;border:1px solid #364052;border-radius:6px;background:#080b10}
.employee-timecard-matrix{min-width:1080px;border-collapse:collapse}
.employee-timecard-matrix th,.employee-timecard-matrix td{border-color:#2f3746!important;padding:7px 8px!important;white-space:nowrap}
.employee-timecard-matrix thead th{position:sticky;top:0;z-index:3;background:#070a0f!important;color:#fff}
.employee-timecard-matrix tfoot th{position:sticky;bottom:0;z-index:3;background:#080b10!important;color:#fff}
.employee-timecard-matrix tbody tr:nth-child(odd){background:#07090e}
.employee-timecard-matrix tbody tr:nth-child(even){background:#151a22}
.employee-timecard-matrix input,.employee-timecard-matrix select{width:100%;min-width:72px;border:1px solid #344057;border-radius:4px;background:#05070b;color:#f8fafc;padding:6px 7px}
.employee-timecard-matrix select{min-width:190px}
.employee-timecard-matrix select[name="project_code"],.employee-timecard-matrix input[name="notes"]{min-width:180px}
.employee-timecard-matrix input[name="day_hours"]{text-align:right;min-width:58px}
.employee-timecard-matrix input[type="number"]::-webkit-outer-spin-button,
.employee-timecard-matrix input[type="number"]::-webkit-inner-spin-button{appearance:none;-webkit-appearance:none;margin:0}
.employee-timecard-matrix input[type="number"]{appearance:textfield;-moz-appearance:textfield}
.employee-timecard-matrix .timecard-day-head{text-align:center;min-width:70px}
.employee-timecard-matrix .timecard-day-head span{display:block;color:#c9d3e3;font-size:.74rem;font-weight:800}
.employee-timecard-matrix .timecard-day-head b{display:block;color:#fff;font-size:.9rem}
.timecard-summary-strip{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.timecard-summary-strip span{border:1px solid #30394a;background:#151b25;border-radius:999px;padding:6px 10px;color:#cbd5e1;font-size:.82rem}
.timecard-summary-strip b{color:#fff;margin-left:4px}
.timecard-approval-grid{display:grid;grid-template-columns:1fr;gap:8px}
.timecard-approval-card{border:1px solid var(--border);border-left:5px solid #f59e0b;border-radius:8px;padding:11px 12px;background:color-mix(in srgb,var(--panel) 92%,var(--bg));display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(132px,.7fr) minmax(220px,1fr) auto;gap:10px;align-items:center}
.timecard-approval-card.approved{border-left-color:#22c55e}
.timecard-approval-card.warn{border-left-color:#f97316}
.timecard-approval-main{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.timecard-approval-main.linkish{appearance:none;border:0;background:transparent;color:inherit;text-align:left;padding:0;width:100%;cursor:pointer}
.timecard-approval-main strong,.timecard-approval-main span{display:block}
.timecard-approval-main span{color:var(--muted);font-size:.82rem}
.timecard-approval-status{border:1px solid var(--border);border-radius:7px;padding:8px 10px;min-height:52px;display:grid;align-content:center;text-transform:capitalize}
.timecard-approval-status b,.timecard-approval-status small{display:block}
.timecard-approval-status b{font-size:.95rem;color:#fff}
.timecard-approval-status small{font-size:.68rem;color:inherit;text-transform:uppercase;letter-spacing:.04em}
.timecard-approval-status.missing{border-color:#ef4444;background:rgba(239,68,68,.17);color:#fecaca}
.timecard-approval-status.draft{border-color:#eab308;background:rgba(234,179,8,.17);color:#fde68a}
.timecard-approval-status.ready{border-color:#22c55e;background:rgba(34,197,94,.17);color:#bbf7d0}
.timecard-approval-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.timecard-approval-stats span{border:1px solid var(--border);border-radius:6px;padding:8px;background:rgba(255,255,255,.035)}
.timecard-approval-stats b,.timecard-approval-stats small{display:block}
.timecard-approval-stats small{color:var(--muted);font-size:.74rem;text-transform:uppercase}
.timecard-approval-actions,.timecard-approval-period{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.timecard-approval-collapse{grid-column:1/-1;border-top:1px solid var(--border);padding-top:10px}
.timecard-approval-collapse[hidden]{display:none}
.timecard-approval-detail .timecard-table-wrap.readonly{max-height:280px;overflow:auto}
.timecard-approval-detail .employee-timecard-matrix td{text-align:center}
.timecard-approval-detail .employee-timecard-matrix td:first-child,.timecard-approval-detail .employee-timecard-matrix td:nth-child(2){text-align:left}
.timecard-approval-actions .btn:disabled{opacity:.45;cursor:not-allowed}
@keyframes scheduleFocusPulse{0%{outline-color:#38bdf8;box-shadow:0 0 0 0 rgba(56,189,248,.55)}100%{outline-color:transparent;box-shadow:0 0 0 16px rgba(56,189,248,0)}}
.schedule-focus-pulse{outline:3px solid #38bdf8;outline-offset:3px;animation:scheduleFocusPulse 1.4s ease-out 1}
.profile-personnel-file{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:rgba(255,255,255,.025);margin:12px 0}
.profile-personnel-file>summary{cursor:pointer;font-weight:800}
.profile-personnel-file>summary small{display:block;color:var(--muted);font-weight:600}
.profile-personnel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}
.profile-personnel-grid>div{border:1px solid var(--border);border-radius:7px;padding:8px;background:rgba(255,255,255,.03)}
.profile-personnel-grid strong,.profile-personnel-grid span{display:block}
.profile-personnel-grid span{color:var(--muted)}
.personnel-file-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:10px 0 12px}
.personnel-file-topline h3{margin:0 0 3px;font-size:1.05rem}
.personnel-file-topline p{margin:0}
.personnel-file-scopes{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin:12px 0}
.personnel-file-scope{border:1px solid var(--border);border-radius:8px;padding:9px 10px;background:rgba(255,255,255,.025);min-height:58px}
.personnel-file-scope.has-docs{border-color:rgba(77,195,255,.45);background:rgba(77,195,255,.08)}
.personnel-file-scope strong,.personnel-file-scope span{display:block}
.personnel-file-scope strong{font-size:1.15rem}
.personnel-file-scope span{color:var(--muted);font-size:.82rem}
.personnel-upload-box,.personnel-document-register{border:1px solid var(--border);border-radius:8px;padding:10px;margin:12px 0;background:rgba(255,255,255,.02)}
.personnel-upload-box>summary,.personnel-document-register>summary{cursor:pointer;font-weight:800}
.personnel-category-chip{display:inline-flex;align-items:center;border:1px solid rgba(255,161,22,.45);border-radius:999px;padding:2px 8px;background:rgba(255,161,22,.08);font-size:.78rem;font-weight:800;color:var(--text)}
.personnel-document-register td small{display:block;color:var(--muted);margin-top:3px;line-height:1.25}
.personnel-document-register td.actions{white-space:normal;min-width:250px}
.personnel-document-register td.actions .btn{margin:2px}
@media(max-width:780px){.profile-personnel-grid{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.personnel-file-topline{display:block}.personnel-document-register td.actions{min-width:0}}
.schedule-admin-employee-tools{display:grid;grid-template-columns:minmax(190px,.45fr) minmax(0,1fr);gap:12px;align-items:end;border:1px solid rgba(125,211,252,.28);background:linear-gradient(135deg,rgba(14,165,233,.12),rgba(15,23,42,.34));border-radius:14px;margin:0 0 14px;padding:12px}
.schedule-admin-employee-tools h4{margin:3px 0 0;font-size:1rem}
.schedule-pto-adjust-form-quick{grid-template-columns:minmax(220px,1.3fr) minmax(150px,.8fr) 92px minmax(150px,1fr) auto;min-width:0}
@media(max-width:980px){.timecard-approval-card{grid-template-columns:1fr}.timecard-approval-actions{justify-content:flex-start}.schedule-admin-employee-tools{grid-template-columns:1fr}.schedule-pto-adjust-form-quick{grid-template-columns:1fr}}
@media(max-width:780px){.employee-timecard-dialog-v511 .timecard-hero,.employee-timecard-dialog-v512 .timecard-hero,.timecard-toolbar{display:grid}.timecard-status-stack{justify-items:start}.timecard-approval-stats{grid-template-columns:1fr 1fr}}

/* v493 profile payroll flow cleanup */
.profile-payroll-workspace{gap:14px;}
.profile-payroll-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid var(--border);border-radius:22px;padding:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 82%,var(--bg)),color-mix(in srgb,var(--panel) 58%,var(--accent, #3b82f6)));}
.profile-payroll-hero h2{margin:4px 0 6px;}
.profile-payroll-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);}
.profile-payroll-flow span{border:1px solid var(--border);border-radius:999px;padding:7px 10px;background:color-mix(in srgb,var(--panel) 84%,var(--bg));}
.profile-payroll-flow i{width:22px;height:1px;background:var(--border);display:inline-block;}
.profile-payroll-overview{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));}
.profile-payroll-subnav{position:sticky;top:8px;z-index:4;display:flex;gap:8px;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--panel) 92%,var(--bg));box-shadow:0 8px 20px rgba(0,0,0,.08);}
.profile-payroll-subnav button{border:1px solid transparent;background:transparent;color:var(--text);border-radius:999px;padding:9px 13px;font-weight:800;white-space:nowrap;cursor:pointer;}
.profile-payroll-subnav button.active{background:var(--accent,#3b82f6);border-color:var(--accent,#3b82f6);color:#fff;}
.profile-payroll-panels{display:block;}
.profile-payroll-panel{display:none;margin:0;}
.profile-payroll-panel.active{display:block;animation:payrollPanelIn .16s ease-out;}
@keyframes payrollPanelIn{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}
.profile-payroll-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;align-items:end;}
.profile-payroll-form-grid .profile-payroll-wide{grid-column:1/-1;}
.profile-payroll-run-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;}
.profile-payroll-run-list{max-height:220px;}
.payroll-self-grid{align-items:start;}
.payroll-self-card{min-height:100%;}
.payroll-self-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.payroll-request-list .activity-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;}
.payroll-request-list .profile-payroll-pill{justify-self:end;}
@media(max-width:820px){.profile-payroll-hero{grid-template-columns:1fr}.profile-payroll-flow{justify-content:flex-start}.profile-payroll-flow i{display:none}.profile-payroll-subnav{top:0;border-radius:12px}.profile-payroll-run-row{grid-template-columns:1fr}.profile-payroll-run-row .btn{width:100%;}.payroll-request-list .activity-list div{grid-template-columns:1fr}.payroll-request-list .profile-payroll-pill{justify-self:start}}

.profile-payroll-report-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:12px 0;}
.profile-payroll-report-kpis .warn{border-color:rgba(245,158,11,.38);background:rgba(245,158,11,.08);}
.profile-payroll-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:14px 0;}
.profile-payroll-report-card{border:1px solid var(--border);border-radius:16px;padding:14px;background:color-mix(in srgb,var(--panel) 92%,var(--bg));min-height:220px;}
.profile-payroll-report-card h4{margin:0 0 10px;font-size:1rem;}
.profile-payroll-chart-bars{display:grid;gap:10px;}
.profile-payroll-chart-row{display:grid;gap:5px;}
.profile-payroll-chart-label{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:.84rem;}
.profile-payroll-chart-label b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.profile-payroll-chart-label span{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;}
.profile-payroll-chart-track{height:12px;border-radius:999px;background:color-mix(in srgb,var(--border) 55%,transparent);overflow:hidden;}
.profile-payroll-chart-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent,#0ea5e9),color-mix(in srgb,var(--accent,#0ea5e9) 55%,#f97316));}
.profile-payroll-table.compact table{min-width:720px;}
.profile-payroll-table.compact th,.profile-payroll-table.compact td{font-size:.82rem;padding:8px 9px;}
.profile-payroll-table.compact td small{display:block;color:var(--muted);margin-top:3px;}
@media(max-width:820px){.profile-payroll-report-grid{grid-template-columns:1fr}.profile-payroll-report-card{min-height:0}.profile-payroll-chart-label{display:grid}}

/* v499: payroll reporting charts, input pagination, and clickable input details */
.profile-payroll-input-tools{display:grid;grid-template-columns:minmax(260px,1fr) 170px auto;gap:12px;align-items:end;margin:12px 0 14px}
.profile-payroll-input-tools label{display:flex;flex-direction:column;gap:6px;font-weight:700}
.profile-payroll-pager{display:flex;gap:10px;align-items:center;justify-content:flex-end;white-space:nowrap}
.profile-payroll-pager span{color:var(--muted,#9bb0c9);font-weight:700}
.profile-payroll-input-toggle{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;color:inherit;background:transparent;border:0;padding:0;cursor:pointer;font:inherit}
.profile-payroll-input-toggle:hover b{text-decoration:underline}
.profile-payroll-input-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:12px;border:1px solid rgba(120,180,220,.25);border-radius:16px;background:rgba(10,30,45,.55)}
.profile-payroll-input-card div{display:flex;flex-direction:column;gap:3px}
.profile-payroll-input-card b{color:#fff}
.profile-payroll-input-card span{color:#b9d6ed;font-size:.92rem}
.profile-payroll-pie-wrap{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center}
.profile-payroll-pie{width:150px;height:150px;border-radius:50%;box-shadow:inset 0 0 0 10px rgba(0,0,0,.18),0 12px 30px rgba(0,0,0,.22)}
.profile-payroll-pie-legend{display:grid;gap:8px}
.profile-payroll-pie-legend div{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:8px;align-items:center;color:#c8dcee;font-size:.9rem}
.profile-payroll-pie-legend i{width:12px;height:12px;border-radius:999px;display:inline-block}
.profile-payroll-pie-legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-payroll-pie-legend b{color:#fff;font-weight:800;white-space:nowrap}
@media(max-width:760px){.profile-payroll-input-tools{grid-template-columns:1fr}.profile-payroll-pager{justify-content:flex-start}.profile-payroll-pie-wrap{grid-template-columns:1fr}.profile-payroll-pie{margin:auto}}

/* v500: split My Payroll/Admin, improve payroll admin reports and compensation search */
.profile-payroll-report-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;overflow:hidden;}
.profile-payroll-report-card{min-width:0;overflow:hidden;}
.profile-payroll-report-card .profile-payroll-chart-label{min-width:0;}
.profile-payroll-report-card .profile-payroll-chart-label span{max-width:55%;overflow:hidden;text-overflow:ellipsis;}
.profile-payroll-pie-wrap{grid-template-columns:minmax(120px,150px) minmax(0,1fr);min-width:0;}
.profile-payroll-pie-legend{min-width:0;}
.profile-payroll-pie-legend div{grid-template-columns:12px minmax(0,1fr);grid-template-areas:"dot label" "dot value";align-items:start;}
.profile-payroll-pie-legend i{grid-area:dot;margin-top:3px;}
.profile-payroll-pie-legend span{grid-area:label;min-width:0;}
.profile-payroll-pie-legend b{grid-area:value;white-space:normal;overflow-wrap:anywhere;font-size:.82rem;}
.profile-payroll-assignment-list{max-height:620px;overflow:auto;padding-right:4px;}
.profile-payroll-assignment-row{grid-template-columns:minmax(0,1fr);}
.profile-payroll-assignment-toggle{display:grid;text-align:left;background:transparent;border:0;color:inherit;font:inherit;padding:0;cursor:pointer;}
.profile-payroll-assignment-toggle b{font-weight:900;}
.profile-payroll-assignment-toggle small{color:var(--muted);font-size:.8rem;}
.profile-payroll-assignment-toggle:hover b{text-decoration:underline;}
.profile-payroll-assignment-detail{margin:8px 0 14px;padding:14px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--panel) 86%,var(--bg));}
@media(max-width:980px){.profile-payroll-report-grid{grid-template-columns:1fr}.profile-payroll-pie-wrap{grid-template-columns:1fr}.profile-payroll-pie{margin:auto}}

/* v505: bounded payroll tools, editable job catalog, and two-person approvals. */
.profile-payroll-panel,.profile-payroll-panels,.profile-payroll-input-tools label{min-width:0}
.profile-payroll-input-tools input,.profile-payroll-input-tools select{min-width:0;max-width:100%;width:100%}
.profile-payroll-list [hidden],.profile-payroll-row[hidden],.profile-payroll-assignment-detail[hidden]{display:none!important}
.profile-payroll-job-list{max-height:none;overflow:visible}
.profile-payroll-job-row{grid-template-columns:minmax(0,1fr)}
.profile-payroll-job-toggle{display:grid;text-align:left;background:transparent;border:0;color:inherit;font:inherit;padding:0;cursor:pointer;box-shadow:none}
.profile-payroll-job-toggle b{font-weight:900}
.profile-payroll-job-toggle small{color:var(--muted);font-size:.8rem}
.profile-payroll-job-toggle:hover b{text-decoration:underline}
.profile-payroll-approval-card{margin:0 0 14px;padding:14px;border:1px solid color-mix(in srgb,var(--accent,#3b82f6) 42%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--panel) 86%,var(--accent,#3b82f6))}
.profile-payroll-approval-card h4{margin:0 0 5px}
.profile-payroll-approval-wrap{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;align-items:start;border-top:1px solid var(--border);padding:10px 0}
.profile-payroll-approval-wrap .profile-payroll-approval{border-top:0;padding:0}
.profile-payroll-bulk-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0;padding:10px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--panel) 88%,var(--accent,#3b82f6))}
.profile-payroll-bulk-actions input[type="text"]{min-width:240px;flex:1}
@media(max-width:880px){.profile-payroll-approval-wrap{grid-template-columns:1fr}.profile-payroll-bulk-actions{align-items:stretch}.profile-payroll-bulk-actions input[type="text"],.profile-payroll-bulk-actions button{width:100%}}
.profile-payroll-approval{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,260px) auto;gap:10px;align-items:end;padding:11px 0;border-top:1px solid var(--border)}
.profile-payroll-approval div:first-child{display:grid;gap:3px}
.profile-payroll-approval span,.profile-payroll-approval small{font-size:.82rem;color:var(--muted)}
.profile-payroll-approval .actions{margin:0;align-items:end;flex-wrap:nowrap}
.profile-payroll-assignment-toggle .profile-payroll-person{width:100%}
@media(max-width:880px){.profile-payroll-approval{grid-template-columns:1fr}.profile-payroll-approval .actions{justify-content:flex-start}}


/* v501: cached payroll admin, denser reporting layout, and payroll input avatars */
.profile-payroll-report-dashboard{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;align-items:start;overflow:visible;}
.profile-payroll-report-dashboard .profile-payroll-report-card{min-height:0;height:auto;}
.profile-payroll-report-dashboard .chart-bar-card{grid-column:span 4;}
.profile-payroll-report-dashboard .chart-pie-card{grid-column:span 4;}
.profile-payroll-report-dashboard .dept-chart,.profile-payroll-report-dashboard .dept-pie{grid-column:span 6;}
.profile-payroll-report-dashboard .profile-payroll-chart-bars{gap:8px;}
.profile-payroll-report-dashboard .profile-payroll-chart-row{gap:4px;}
.profile-payroll-report-dashboard .profile-payroll-pie-wrap{grid-template-columns:120px minmax(0,1fr);gap:12px;}
.profile-payroll-report-dashboard .profile-payroll-pie{width:120px;height:120px;}
.profile-payroll-report-dashboard .large-pie .profile-payroll-pie-wrap{grid-template-columns:minmax(190px,220px) minmax(0,1fr);}
.profile-payroll-report-dashboard .large-pie .profile-payroll-pie{width:220px;height:220px;}
.profile-payroll-report-dashboard .profile-payroll-pie-legend{gap:6px;}
.profile-payroll-report-dashboard .profile-payroll-pie-legend div{font-size:.82rem;}
.profile-payroll-report-dashboard .profile-payroll-pie-legend b{font-size:.76rem;}
.profile-payroll-chart-svg,.profile-payroll-pie-svg{display:block;width:100%;height:auto;color:#dceeff;}
.profile-payroll-pie-svg{max-width:220px;}
.profile-payroll-person{display:flex;align-items:center;gap:10px;min-width:0;}
.profile-payroll-person>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0;}
.profile-payroll-avatar{width:38px;height:38px;border-radius:999px;object-fit:cover;display:grid;place-items:center;flex:0 0 38px;border:1px solid rgba(145,199,255,.3);background:rgba(14,35,52,.9);font-weight:900;color:#dceeff;}
.profile-payroll-person b,.profile-payroll-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.profile-payroll-profile-btn{white-space:nowrap;}
.profile-payroll-profile-dialog{width:min(1120px,96vw);}
.profile-payroll-profile-head{display:flex;gap:16px;align-items:center;margin:0 0 18px;}
.profile-payroll-profile-head h2{margin:2px 0 4px;font-size:1.75rem;}
.profile-payroll-profile-head p{margin:0;color:#b9d6ed;}
.profile-payroll-profile-avatar{width:72px;height:72px;border-radius:999px;object-fit:cover;display:grid;place-items:center;flex:0 0 72px;border:2px solid rgba(56,189,248,.55);background:rgba(14,35,52,.9);font-weight:900;color:#dceeff;font-size:1.4rem;}
.profile-payroll-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px;}
.profile-payroll-profile-grid article,.profile-payroll-profile-tables details{border:1px solid rgba(120,180,220,.22);border-radius:16px;background:rgba(7,23,34,.72);padding:14px;}
.profile-payroll-profile-grid h3,.profile-payroll-profile-tables summary{margin:0 0 10px;color:#fff;font-weight:900;}
.profile-payroll-profile-tables{display:grid;gap:12px;}
.profile-payroll-profile-tables summary{cursor:pointer;}
.profile-payroll-profile-tables .profile-payroll-table{margin-top:10px;}
@media(max-width:820px){.profile-payroll-profile-grid{grid-template-columns:1fr}.profile-payroll-profile-head{align-items:flex-start}.profile-payroll-profile-avatar{width:58px;height:58px;flex-basis:58px}}
@media(max-width:1250px){.profile-payroll-report-dashboard .chart-bar-card,.profile-payroll-report-dashboard .chart-pie-card,.profile-payroll-report-dashboard .dept-pie{grid-column:span 6;}}
@media(max-width:820px){.profile-payroll-report-dashboard{grid-template-columns:1fr}.profile-payroll-report-dashboard .chart-bar-card,.profile-payroll-report-dashboard .chart-pie-card,.profile-payroll-report-dashboard .dept-pie{grid-column:1}.profile-payroll-report-dashboard .profile-payroll-pie-wrap,.profile-payroll-report-dashboard .large-pie .profile-payroll-pie-wrap{grid-template-columns:1fr}.profile-payroll-report-dashboard .profile-payroll-pie,.profile-payroll-report-dashboard .large-pie .profile-payroll-pie{margin:auto}}

/* v502: payroll admin input pagination and inline compensation edits */
.payroll-input-admin-tools{display:grid;grid-template-columns:minmax(260px,1fr) 170px auto;gap:12px;align-items:end;margin:14px 0;}
.payroll-input-admin-tools label{font-weight:700;display:flex;flex-direction:column;gap:6px;}
.payroll-input-admin-tools input,.payroll-input-admin-tools select{width:100%;}
.payroll-admin-pager{display:flex;gap:10px;align-items:center;justify-content:flex-end;white-space:nowrap;}
.payroll-admin-pager button{border-radius:999px;border:1px solid rgba(255,150,40,.45);background:#ff9518;color:#07121c;font-weight:800;padding:8px 14px;}
.payroll-admin-pager button:disabled{opacity:.45;cursor:not-allowed;}
.payroll-input-person{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;}
.payroll-input-detail-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:8px 0 14px;padding:14px;border:1px solid rgba(96,165,250,.28);border-radius:16px;background:rgba(7,18,29,.72);}
.payroll-input-detail-card div{display:flex;flex-direction:column;gap:4px;}
.payroll-input-detail-card .wide{grid-column:1/-1;}
.payroll-input-assignment-form{margin:0 0 10px;padding:14px;border:1px solid rgba(255,150,40,.25);border-radius:16px;background:rgba(255,150,40,.06);}
.profile-payroll-assignment-list .profile-payroll-row{cursor:pointer;}
.profile-payroll-assignment-list .profile-payroll-row:hover,.profile-payroll-input-row:hover{background:rgba(56,189,248,.08);}
@media(max-width:900px){.payroll-input-admin-tools{grid-template-columns:1fr}.payroll-admin-pager{justify-content:flex-start;}}

/* v518 profile Scheduling Admin workflow */
.profile-schedule-admin-workspace .profile-payroll-table .profile-payroll-person{display:flex;align-items:center;gap:10px;text-align:left;color:inherit;width:100%;}
.profile-schedule-admin-workspace .profile-payroll-table .profile-payroll-person b{display:block;}
.profile-schedule-admin-workspace .profile-payroll-table .profile-payroll-person small{display:block;color:var(--muted);}
.profile-schedule-admin-detail{display:grid;gap:14px;}
.profile-schedule-admin-person{display:flex;align-items:center;gap:12px;}
.profile-schedule-admin-person h3{margin:0 0 3px;}
.profile-schedule-admin-form{margin-top:12px;}
.profile-schedule-admin-pto{margin-top:12px;}
.profile-schedule-admin-detail details{border:1px solid var(--border);border-radius:16px;padding:12px;background:color-mix(in srgb,var(--panel) 92%,var(--bg));}
.profile-schedule-admin-detail details summary{cursor:pointer;font-weight:800;}
.profile-schedule-admin-detail [data-profile-schedule-status]{font-weight:800;color:var(--muted);align-self:center;}
@media(max-width:820px){.profile-schedule-admin-workspace .profile-payroll-input-tools{grid-template-columns:1fr}.profile-schedule-admin-person{align-items:flex-start}.profile-schedule-admin-detail .section-head{display:grid}}

/* v519: Scheduling Admin profile row and PTO correction layout polish */
.profile-schedule-admin-workspace .profile-payroll-table button.profile-payroll-person{
  background:transparent;
  background-image:none;
  box-shadow:none;
  border:1px solid transparent;
  border-radius:14px;
  color:var(--text);
  padding:8px 10px;
  justify-content:flex-start;
}
.profile-schedule-admin-workspace .profile-payroll-table button.profile-payroll-person:hover,
.profile-schedule-admin-workspace .profile-payroll-table button.profile-payroll-person:focus-visible{
  background:color-mix(in srgb,var(--accent,#3b82f6) 12%,transparent);
  border-color:color-mix(in srgb,var(--accent,#3b82f6) 32%,transparent);
  transform:none;
}
.profile-schedule-admin-workspace .profile-payroll-table button.profile-payroll-person small{
  color:var(--muted);
}
.profile-schedule-admin-detail .profile-schedule-admin-pto.schedule-pto-adjust-form-quick{
  grid-template-columns:180px 112px minmax(260px,1fr) minmax(190px,280px);
  align-items:center;
}
.profile-schedule-admin-detail .profile-schedule-admin-pto select[name="adjustment_type"],
.profile-schedule-admin-detail .profile-schedule-admin-pto input[name="hours"]{
  min-width:0;
}
.profile-schedule-admin-detail .profile-schedule-admin-pto input[name="note"]{
  min-width:260px;
}
.profile-schedule-admin-detail .profile-schedule-admin-pto button{
  width:100%;
  justify-content:center;
}
@media(max-width:980px){
  .profile-schedule-admin-detail .profile-schedule-admin-pto.schedule-pto-adjust-form-quick{grid-template-columns:1fr;}
  .profile-schedule-admin-detail .profile-schedule-admin-pto input[name="note"]{min-width:0;}
}


/* v524: Scheduling Admin employee details expand inline below the selected search row */
.profile-schedule-admin-workspace .profile-payroll-table tr.profile-schedule-admin-row-selected > td{
  background:color-mix(in srgb,var(--accent,#3b82f6) 10%,transparent);
  border-bottom-color:color-mix(in srgb,var(--accent,#3b82f6) 35%,var(--border));
}
.profile-schedule-admin-inline-detail > td{
  padding:0 12px 18px;
  background:color-mix(in srgb,var(--panel) 88%,var(--bg));
  border-top:0;
}
.profile-schedule-admin-inline-detail .profile-schedule-admin-detail{
  margin:0;
  border-radius:0 0 18px 18px;
  border-top:0;
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--accent,#3b82f6) 18%,transparent);
}
.profile-schedule-admin-hint{
  margin:10px 4px 0;
}
@media(max-width:820px){
  .profile-schedule-admin-inline-detail > td{padding:0 6px 14px;}
}
.profile-payroll-select-pill{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;border:1px solid var(--border);border-radius:14px;background:rgba(7,27,40,.72);color:var(--text);font-weight:800;white-space:nowrap;cursor:pointer}
.profile-payroll-select-pill input[type="checkbox"]{position:static;width:18px;height:18px;accent-color:var(--accent,#f58220);flex:0 0 auto}
.profile-payroll-bulk-actions .notice{margin:0;padding:7px 10px}

/* v562 profile finance polish: operational workspace buttons, forms, and reporting visuals */
.profile-finance-shell{--finance-accent:#ff9417;--finance-surface:rgba(5,18,30,.72);--finance-border:rgba(148,184,214,.22);--finance-chart-1:#5dd6ff;--finance-chart-2:#8be28b;--finance-chart-3:#ffd166;--finance-chart-4:#ff8a8a;--finance-chart-5:#b79cff;--finance-chart-6:#7bdff2;color:#f4f8ff;}
.profile-finance-shell .profile-finance-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:.35rem 0 1rem;align-items:center;}
.profile-finance-shell .btn,.profile-finance-shell button,.profile-finance-shell a.btn{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#f7fbff;border-radius:999px;font-weight:800;transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease,box-shadow .18s ease;text-decoration:none;}
.profile-finance-shell .btn:hover,.profile-finance-shell button:hover,.profile-finance-shell a.btn:hover{background:rgba(93,214,255,.16);border-color:rgba(93,214,255,.55);transform:translateY(-1px);box-shadow:0 10px 26px rgba(0,0,0,.22);}
.profile-finance-shell .btn.active,.profile-finance-shell .primary,.profile-finance-shell .finance-primary-action,.profile-finance-shell .finance-save-button{background:linear-gradient(135deg,#123c64,#1c5f93);border-color:rgba(93,214,255,.65);color:#fff;}
.profile-finance-shell .btn.active:hover,.profile-finance-shell .primary:hover,.profile-finance-shell .finance-primary-action:hover,.profile-finance-shell .finance-save-button:hover{background:linear-gradient(135deg,#ff9417,#ffb04c);border-color:rgba(255,190,92,.9);color:#081523;}
.profile-finance-shell .danger{background:rgba(122,31,31,.35);border-color:rgba(255,138,138,.5);color:#fff;}
.profile-finance-shell .danger:hover{background:rgba(170,45,45,.75);border-color:rgba(255,180,180,.85);color:#fff;}
.profile-finance-shell .finance-panel,.profile-finance-shell .finance-drawer,.profile-finance-shell .profile-finance-workspace{background:linear-gradient(180deg,rgba(3,16,28,.82),rgba(1,12,20,.72));border:1px solid var(--finance-border);box-shadow:0 18px 50px rgba(0,0,0,.28);}
.profile-finance-shell .finance-filter-bar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,260px) auto;gap:.55rem;align-items:center;margin:.8rem 0 1rem;}
.profile-finance-shell input,.profile-finance-shell select,.profile-finance-shell textarea{background:rgba(2,13,24,.92);border:1px solid rgba(148,184,214,.28);color:#f8fbff;border-radius:12px;}
.profile-finance-shell input:focus,.profile-finance-shell select:focus,.profile-finance-shell textarea:focus{border-color:rgba(93,214,255,.8);box-shadow:0 0 0 3px rgba(93,214,255,.12);outline:none;}
.profile-finance-shell input:disabled,.profile-finance-shell textarea:disabled,.profile-finance-shell select:disabled{opacity:.82;background:rgba(20,31,42,.72);cursor:not-allowed;}
.profile-finance-shell .finance-invoice-form{grid-template-columns:repeat(4,minmax(180px,1fr));gap:1rem;align-items:end;}
.profile-finance-shell .finance-invoice-form label.wide,.profile-finance-shell .finance-invoice-form .wide{grid-column:span 2;}
.profile-finance-shell .finance-invoice-form button{align-self:end;min-height:44px;}
.finance-form-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;}
.finance-form-heading h2{margin:.15rem 0 .25rem;}
.finance-lock-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:.45rem .75rem;border-radius:999px;background:rgba(93,214,255,.16);border:1px solid rgba(93,214,255,.5);font-weight:900;color:#dff8ff;}
.finance-lock-badge.draft{background:rgba(139,226,139,.13);border-color:rgba(139,226,139,.45);color:#e6ffe6;}
.finance-integrity-note{padding:.85rem;border-radius:14px;border:1px solid rgba(93,214,255,.22);background:rgba(255,255,255,.05);display:flex;flex-direction:column;gap:.35rem;word-break:break-all;}
.finance-dashboard-visuals{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:1rem;margin-bottom:1.2rem;}
.finance-visual-card{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:1rem;min-height:220px;}
.finance-visual-card.wide{grid-column:span 2;}
.finance-visual-card h3{margin:.1rem 0 .85rem;}
.finance-bar-chart{display:flex;flex-direction:column;gap:.55rem;}
.finance-bar-row{display:grid;grid-template-columns:minmax(120px,1.1fr) minmax(140px,2fr) minmax(90px,.7fr);gap:.65rem;align-items:center;font-size:.9rem;}
.finance-bar-row>span{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.finance-bar-row>div{height:12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid rgba(255,255,255,.08);}
.finance-bar-row i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--finance-chart-1),var(--finance-chart-2));}
.finance-bar-row strong{text-align:right;font-size:.85rem;color:#dcecff;}
.finance-donut-card{display:grid;grid-template-columns:150px 1fr;gap:1rem;align-items:center;}
.finance-donut{width:140px;height:140px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 16px rgba(0,0,0,.22),0 10px 30px rgba(0,0,0,.28);}
.finance-donut span{width:88px;height:88px;border-radius:50%;background:#061524;display:grid;place-items:center;text-align:center;font-weight:900;font-size:.86rem;padding:.25rem;}
.finance-donut-card p{display:grid;grid-template-columns:16px 1fr auto;gap:.45rem;align-items:center;margin:.35rem 0;font-size:.88rem;}
.finance-donut-card p b{width:11px;height:11px;border-radius:50%;background:var(--swatch);display:inline-block;}
.finance-donut-card p strong{font-size:.82rem;color:#dcecff;}
.finance-queue-grid{margin-top:1rem;}
@media (max-width:900px){.profile-finance-shell .finance-filter-bar,.profile-finance-shell .finance-invoice-form,.finance-dashboard-visuals{grid-template-columns:1fr}.profile-finance-shell .finance-invoice-form label.wide,.profile-finance-shell .finance-invoice-form .wide,.finance-visual-card.wide{grid-column:auto}.finance-donut-card{grid-template-columns:1fr}.finance-bar-row{grid-template-columns:1fr}.finance-bar-row strong{text-align:left}}

/* v566: app-styled dialog shell replacing browser-native prompt/confirm/alert surfaces */
.app-dialog-backdrop{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:24px;background:rgba(0,8,15,.72);backdrop-filter:blur(10px)}
.app-dialog-card{width:min(560px,94vw);border:1px solid rgba(93,214,255,.32);border-radius:24px;background:linear-gradient(145deg,rgba(3,18,31,.98),rgba(8,36,58,.96));box-shadow:0 28px 90px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04) inset;color:#f6fbff;padding:26px;position:relative}
.app-dialog-card h2{margin:.25rem 0 .45rem;font-size:1.45rem;color:#fff}.app-dialog-card .muted{color:#c9d6e7;line-height:1.5}.app-dialog-x{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font-size:0;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.app-dialog-x::before{content:'×';font-size:30px;line-height:1;display:block;transform:translateY(-1px)}.app-dialog-x:hover{background:rgba(93,214,255,.18);border-color:rgba(93,214,255,.6)}
.app-dialog-form{display:grid;gap:14px;margin-top:18px}.app-dialog-form label{display:grid;gap:7px;font-weight:800;color:#fff}.app-dialog-form input,.app-dialog-form textarea{width:100%;background:rgba(2,13,24,.94);border:1px solid rgba(148,184,214,.34);border-radius:13px;color:#fff;padding:11px 12px;font:inherit}.app-dialog-form input:focus,.app-dialog-form textarea:focus{outline:none;border-color:rgba(93,214,255,.9);box-shadow:0 0 0 3px rgba(93,214,255,.14)}
.app-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.app-dialog-actions .btn{border-radius:999px;border:1px solid rgba(255,255,255,.18);padding:10px 18px;font-weight:800;cursor:pointer}.app-dialog-actions .ghost{background:rgba(255,255,255,.08);color:#fff}.app-dialog-actions .primary{background:linear-gradient(135deg,#123c64,#1c5f93);border-color:rgba(93,214,255,.65);color:#fff}.app-dialog-actions .primary:hover{background:linear-gradient(135deg,#ff9417,#ffb04c);border-color:rgba(255,190,92,.9);color:#081523}.app-dialog-actions .danger{background:linear-gradient(135deg,#7a1f1f,#b94343);border-color:rgba(255,138,138,.75);color:#fff}.app-dialog-actions .danger:hover{filter:brightness(1.1)}
@media(max-width:640px){.app-dialog-card{padding:22px}.app-dialog-actions{flex-direction:column-reverse}.app-dialog-actions .btn{width:100%}}
/* v567 finance AP/AR PDF attachment controls */
.profile-finance-shell .finance-file-label{border:1px dashed rgba(93,214,255,.38);background:rgba(93,214,255,.055);border-radius:16px;padding:.8rem;display:flex;flex-direction:column;gap:.45rem;}
.profile-finance-shell .finance-file-label input[type=file]{padding:.65rem;background:rgba(2,13,24,.78);border-style:solid;}
.profile-finance-shell .finance-file-label span{font-size:.84rem;color:#b9c9d8;font-weight:600;line-height:1.35;}
.profile-finance-shell .finance-doc-list{display:grid;gap:.55rem;margin:.5rem 0 1rem;}
.profile-finance-shell .finance-doc-list>div{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:.8rem;align-items:center;border:1px solid rgba(148,184,214,.18);background:rgba(255,255,255,.045);border-radius:14px;padding:.7rem .8rem;}
.profile-finance-shell .finance-doc-list strong{color:#f7fbff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.profile-finance-shell .finance-doc-list span{color:#b9c9d8;font-size:.86rem;}
.profile-finance-shell .finance-subpanel{margin-top:1rem;padding:1rem;border:1px solid rgba(148,184,214,.18);border-radius:18px;background:rgba(255,255,255,.035);}
@media (max-width:700px){.profile-finance-shell .finance-doc-list>div{grid-template-columns:1fr}.profile-finance-shell .finance-doc-list strong{white-space:normal}}

/* Finance controls and exceptions v573 */
.finance-exceptions{margin-top:1rem;padding:1rem;border:1px solid rgba(125,211,252,.22);border-radius:18px;background:rgba(2,8,23,.42)}
.finance-exceptions h3{margin:.1rem 0 .7rem;color:#eaf6ff}
.finance-exception{display:grid;gap:.2rem;margin:.45rem 0;padding:.75rem .9rem;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045)}
.finance-exception strong{color:#fff;font-size:.95rem}.finance-exception span{color:#cbd5e1;font-size:.86rem}.finance-exception.warning{border-color:rgba(251,191,36,.38);box-shadow:inset 3px 0 0 rgba(251,191,36,.75)}.finance-exception.danger{border-color:rgba(248,113,113,.42);box-shadow:inset 3px 0 0 rgba(248,113,113,.85)}
.finance-subpanel h3{margin-top:1rem}.finance-table td pre,.finance-table td code{white-space:pre-wrap;word-break:break-word}

/* v574: Finance dashboard KPI card redesign */
.profile-finance-shell .finance-operations-dashboard{display:grid;gap:1rem;}
.profile-finance-shell .finance-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin-top:.15rem;}
.profile-finance-shell .finance-kpi-card{position:relative;overflow:hidden;border:1px solid rgba(148,184,214,.20);border-radius:20px;padding:1rem;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 14px 34px rgba(0,0,0,.18);min-height:150px;display:grid;gap:.55rem;align-content:space-between;}
.profile-finance-shell .finance-kpi-card::before{content:"";position:absolute;inset:-60% -25% auto auto;width:150px;height:150px;border-radius:999px;background:rgba(93,214,255,.13);filter:blur(2px);}
.profile-finance-shell .finance-kpi-card.good{border-color:rgba(139,226,139,.28);}
.profile-finance-shell .finance-kpi-card.good::before{background:rgba(139,226,139,.14);}
.profile-finance-shell .finance-kpi-card.warn{border-color:rgba(251,191,36,.36);}
.profile-finance-shell .finance-kpi-card.warn::before{background:rgba(251,191,36,.16);}
.profile-finance-shell .finance-kpi-card.danger{border-color:rgba(248,113,113,.42);}
.profile-finance-shell .finance-kpi-card.danger::before{background:rgba(248,113,113,.17);}
.profile-finance-shell .finance-kpi-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:.75rem;}
.profile-finance-shell .finance-kpi-icon{display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 .45rem;border-radius:14px;background:rgba(93,214,255,.13);border:1px solid rgba(93,214,255,.26);font-size:.8rem;font-weight:950;color:#e9f9ff;letter-spacing:.02em;}
.profile-finance-shell .finance-kpi-label{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#b9d0e7;text-align:right;}
.profile-finance-shell .finance-kpi-card>strong{position:relative;z-index:1;font-size:clamp(1.35rem,2.2vw,2.05rem);line-height:1.05;color:#fff;letter-spacing:-.035em;}
.profile-finance-shell .finance-kpi-meter{position:relative;z-index:1;height:10px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden;border:1px solid rgba(255,255,255,.09);}
.profile-finance-shell .finance-kpi-meter i{display:block;height:100%;width:var(--kpi-pct,0%);min-width:4px;border-radius:999px;background:linear-gradient(90deg,#5dd6ff,#8be28b);}
.profile-finance-shell .finance-kpi-card.warn .finance-kpi-meter i{background:linear-gradient(90deg,#ffd166,#ff9417);}
.profile-finance-shell .finance-kpi-card.danger .finance-kpi-meter i{background:linear-gradient(90deg,#ff8a8a,#ff4d4d);}
.profile-finance-shell .finance-kpi-foot{position:relative;z-index:1;display:flex;justify-content:space-between;gap:.7rem;align-items:flex-end;color:#c9d7e6;font-size:.84rem;line-height:1.25;}
.profile-finance-shell .finance-kpi-foot span{font-weight:800;}
.profile-finance-shell .finance-kpi-foot em{font-style:normal;color:#92a9bd;text-align:right;}
@media(max-width:640px){.profile-finance-shell .finance-kpi-foot{display:grid}.profile-finance-shell .finance-kpi-foot em{text-align:left}}

/* Finance reporting v575 */
.profile-finance-shell .finance-kpi-card.clickable{cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;}
.profile-finance-shell .finance-kpi-card.clickable:hover,.profile-finance-shell .finance-kpi-card.clickable:focus{transform:translateY(-2px);border-color:rgba(93,214,255,.55);box-shadow:0 18px 42px rgba(0,0,0,.28),0 0 0 3px rgba(93,214,255,.10);outline:none;background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035));}
.profile-finance-shell .finance-kpi-click{position:relative;z-index:1;color:#8fc7e8;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.profile-finance-shell .finance-dashboard-report-strip{margin-top:1rem;padding:1rem;border:1px solid rgba(148,184,214,.20);border-radius:20px;background:rgba(6,18,32,.38);}
.profile-finance-shell .finance-dashboard-report-strip h3{margin:.1rem 0 .75rem;color:#fff;}
.profile-finance-shell .finance-report-builder{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:.75rem;align-items:end;margin:.85rem 0 1rem;padding:.9rem;border:1px solid rgba(148,184,214,.18);border-radius:18px;background:rgba(255,255,255,.04);}
.profile-finance-shell .finance-report-builder label{display:grid;gap:.35rem;color:#bfd2e5;font-size:.82rem;font-weight:800;}
.profile-finance-shell .finance-report-builder input,.profile-finance-shell .finance-report-builder select{width:100%;min-height:38px;border-radius:12px;border:1px solid rgba(148,184,214,.28);background:rgba(5,15,28,.82);color:#fff;padding:.45rem .65rem;}
.profile-finance-shell .finance-report-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:end;}
.profile-finance-shell .finance-report-actions .btn{white-space:nowrap;}
@media(max-width:980px){.profile-finance-shell .finance-report-builder{grid-template-columns:repeat(2,minmax(150px,1fr));}.profile-finance-shell .finance-report-actions{grid-column:1/-1}}
@media(max-width:640px){.profile-finance-shell .finance-report-builder{grid-template-columns:1fr}}

/* v579 finance vendor form polish */
.profile-finance-workspace .finance-vendor-form .finance-form-section,
.profile-finance-shell .finance-vendor-form .finance-form-section{
  margin: .45rem 0 .15rem;
  padding: .65rem .8rem;
  border: 1px solid rgba(59,130,246,.28);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(30,64,175,.16), rgba(14,165,233,.08));
}
.profile-finance-workspace .finance-vendor-form .finance-form-section h3,
.profile-finance-shell .finance-vendor-form .finance-form-section h3{
  margin: 0;
  font-size: .95rem;
  letter-spacing: .02em;
  color: #dbeafe;
}
.profile-finance-workspace .finance-form-actions,
.profile-finance-shell .finance-form-actions{
  display: flex;
  gap: .65rem;
  align-items: center;
  flex-wrap: wrap;
  margin-top: .25rem;
}

/* v580 finance vendor form layout fix */
.profile-finance-shell .finance-vendor-form-clean,
.profile-finance-workspace .finance-vendor-form-clean{
  display:block;
  max-width:100%;
}
.profile-finance-shell .finance-vendor-form-clean .finance-vendor-section,
.profile-finance-workspace .finance-vendor-form-clean .finance-vendor-section{
  margin:1rem 0;
  padding:1rem;
  border:1px solid rgba(93,214,255,.20);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(7,22,37,.82),rgba(4,13,24,.74));
  box-shadow:0 12px 28px rgba(0,0,0,.20);
  overflow:hidden;
}
.profile-finance-shell .finance-vendor-form-clean .finance-vendor-section header,
.profile-finance-workspace .finance-vendor-form-clean .finance-vendor-section header{
  display:flex;
  gap:1rem;
  align-items:flex-end;
  justify-content:space-between;
  margin:0 0 .9rem;
  padding-bottom:.7rem;
  border-bottom:1px solid rgba(148,184,214,.14);
}
.profile-finance-shell .finance-vendor-form-clean .finance-vendor-section h3,
.profile-finance-workspace .finance-vendor-form-clean .finance-vendor-section h3{
  margin:0;
  color:#dff7ff;
  font-size:1rem;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.profile-finance-shell .finance-vendor-form-clean .finance-vendor-section p,
.profile-finance-workspace .finance-vendor-form-clean .finance-vendor-section p{
  margin:.15rem 0 0;
  color:#9fb8ca;
  font-size:.82rem;
}
.profile-finance-shell .finance-vendor-form-clean .finance-vendor-grid,
.profile-finance-workspace .finance-vendor-form-clean .finance-vendor-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(210px,1fr));
  gap:.85rem;
  align-items:start;
}
.profile-finance-shell .finance-vendor-form-clean label,
.profile-finance-workspace .finance-vendor-form-clean label{
  min-width:0;
}
.profile-finance-shell .finance-vendor-form-clean .wide,
.profile-finance-workspace .finance-vendor-form-clean .wide{
  grid-column:1/-1;
}
.profile-finance-shell .finance-vendor-form-clean .checkline,
.profile-finance-workspace .finance-vendor-form-clean .checkline{
  min-height:44px;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:.6rem;
  padding:.65rem .75rem;
  border:1px solid rgba(148,184,214,.22);
  border-radius:14px;
  background:rgba(5,15,28,.55);
  color:#eaf6ff;
  font-weight:800;
}
.profile-finance-shell .finance-vendor-form-clean .checkline input,
.profile-finance-workspace .finance-vendor-form-clean .checkline input{
  width:auto;
  min-height:auto;
}
.profile-finance-shell .finance-vendor-form-clean input::placeholder,
.profile-finance-shell .finance-vendor-form-clean textarea::placeholder,
.profile-finance-workspace .finance-vendor-form-clean input::placeholder,
.profile-finance-workspace .finance-vendor-form-clean textarea::placeholder{
  color:rgba(191,210,229,.50);
}
.profile-finance-shell .finance-vendor-form-clean .finance-form-actions,
.profile-finance-workspace .finance-vendor-form-clean .finance-form-actions{
  display:flex;
  gap:.75rem;
  align-items:center;
  flex-wrap:wrap;
  margin:1rem 0 0;
}
@media(max-width:1180px){
  .profile-finance-shell .finance-vendor-form-clean .finance-vendor-grid,
  .profile-finance-workspace .finance-vendor-form-clean .finance-vendor-grid{grid-template-columns:repeat(2,minmax(220px,1fr));}
}
@media(max-width:720px){
  .profile-finance-shell .finance-vendor-form-clean .finance-vendor-grid,
  .profile-finance-workspace .finance-vendor-form-clean .finance-vendor-grid{grid-template-columns:1fr;}
  .profile-finance-shell .finance-vendor-form-clean .finance-vendor-section,
  .profile-finance-workspace .finance-vendor-form-clean .finance-vendor-section{padding:.8rem;}
}

/* v587 messenger participants and automatic presence */
.messenger-thread-direct{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;width:100%;}
.messenger-thread-direct .messenger-thread-person{min-width:0;flex:1;}
.messenger-add-people{border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--text);font-weight:900;font-size:12px;padding:7px 10px;white-space:nowrap;cursor:pointer;}
.messenger-add-people:hover{background:color-mix(in srgb,var(--brand) 34%,transparent);}
.messenger-thread-group-actions .messenger-add-people{margin-left:6px;}
@media(max-width:760px){.messenger-thread-direct{align-items:flex-start}.messenger-add-people{padding:6px 8px;font-size:11px}.messenger-thread-group-actions{flex-wrap:wrap}}

/* v588 messenger compact add-people picker */
.profile-messenger .messenger-thread-head{position:relative;overflow:visible;}
.messenger-add-people-popover{position:absolute;top:calc(100% + 8px);right:58px;width:min(390px,calc(100vw - 36px));z-index:80;display:grid;gap:9px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--panel) 94%,var(--bg));color:var(--text);box-shadow:0 18px 42px rgba(0,0,0,.28);padding:10px;text-align:left;}
.messenger-add-people-head{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.messenger-add-people-head b{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.messenger-add-people-head button{width:30px;height:30px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text);display:grid;place-items:center;line-height:1;font-size:18px;font-weight:900;cursor:pointer;padding:0;}
.messenger-add-people-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;}
.messenger-add-people-search input{width:100%;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 74%,transparent);color:var(--text);padding:9px 10px;}
.messenger-add-people-submit{border:0;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#150900;font-weight:900;padding:10px 12px;white-space:nowrap;cursor:pointer;}
.messenger-add-people-submit:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4);}
.messenger-add-people-selected{display:flex;flex-wrap:wrap;gap:6px;}
.messenger-add-people-selected button{display:flex;align-items:center;gap:6px;max-width:100%;border:1px solid color-mix(in srgb,var(--brand) 38%,transparent);background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--text);border-radius:999px;padding:4px 7px 4px 4px;cursor:pointer;}
.messenger-add-people-selected .avatar{width:24px;height:24px;min-width:24px;min-height:24px;}
.messenger-add-people-selected span{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:800;}
.messenger-add-people-selected b{font-size:16px;line-height:1;color:var(--muted);}
.messenger-add-people-results{display:grid;gap:2px;max-height:250px;overflow:auto;}
.messenger-add-people-results .messenger-contact{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;margin:0;padding:8px;border-radius:12px;width:100%;text-align:left;}
.messenger-add-people-results .messenger-contact .avatar{width:30px;height:30px;min-width:30px;min-height:30px;}
@media(max-width:760px){.messenger-add-people-popover{left:8px;right:8px;width:auto;top:calc(100% + 6px);}.messenger-add-people-search{grid-template-columns:1fr}.messenger-add-people-submit{width:100%;}.messenger-add-people-results{max-height:220px;}}

/* v589 messenger participant system events */
.messenger-system-message{align-self:center;max-width:min(92%,620px);margin:9px auto;padding:6px 11px;border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:999px;background:color-mix(in srgb,var(--panel2) 86%,transparent);color:var(--muted);font-size:12px;font-weight:800;text-align:center;box-shadow:0 6px 18px rgba(0,0,0,.1);}
.messenger-system-message span{display:inline;line-height:1.35;}
.messenger-system-message time{display:inline;margin-left:7px;font-size:11px;font-weight:700;opacity:.72;white-space:nowrap;}
@media(max-width:760px){.messenger-system-message{border-radius:14px;font-size:11px}.messenger-system-message time{display:block;margin:2px 0 0;white-space:normal}}

/* v590 messenger do-not-disturb status */
.messenger-status-select option[value="dnd"]{font-weight:800;}

/* v591 messenger compact group participant row */
.profile-messenger .messenger-thread-group.compact{
  align-content:flex-start!important;
}
.profile-messenger .messenger-thread-members-wrap{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:8px!important;
  min-width:0!important;
  flex:1 1 100%!important;
  max-width:100%!important;
}
.profile-messenger .messenger-thread-members-wrap .messenger-thread-members{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  padding:0!important;
}
.profile-messenger .messenger-thread-members-wrap.collapsed .messenger-thread-members{
  max-height:38px!important;
}
.profile-messenger .messenger-thread-members-wrap.expanded .messenger-thread-members{
  max-height:120px!important;
  overflow:auto!important;
  scrollbar-width:thin!important;
  padding-right:2px!important;
}
.profile-messenger .messenger-thread-members-toggle{
  border:1px solid color-mix(in srgb,var(--text) 16%,transparent)!important;
  background:color-mix(in srgb,var(--text) 7%,transparent)!important;
  color:var(--text)!important;
  border-radius:999px!important;
  min-height:30px!important;
  padding:5px 9px!important;
  font-size:11px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
.profile-messenger .messenger-thread-members-toggle:hover{
  border-color:color-mix(in srgb,var(--brand) 45%,transparent)!important;
  background:color-mix(in srgb,var(--brand) 14%,transparent)!important;
}
@media(max-width:760px){
  .profile-messenger .messenger-thread-members-wrap{grid-template-columns:1fr!important;gap:5px!important;}
  .profile-messenger .messenger-thread-members-toggle{justify-self:start!important;}
  .profile-messenger .messenger-thread-members-wrap.collapsed .messenger-thread-members{max-height:36px!important;}
}

/* v592 messenger participant bar spacing and sticky close placement */
.profile-messenger .messenger-thread-head{
  position:relative!important;
  align-items:flex-start!important;
  gap:10px!important;
  min-height:104px!important;
  padding:10px 92px 10px 12px!important;
  overflow:visible!important;
}
.profile-messenger .messenger-close-chat{
  position:absolute!important;
  top:9px!important;
  right:12px!important;
  z-index:12!important;
  margin-left:0!important;
  min-height:34px!important;
  padding:7px 14px!important;
  box-shadow:0 8px 18px rgba(0,0,0,.16)!important;
}
.profile-messenger .messenger-thread-group.compact{
  display:grid!important;
  grid-template-rows:auto auto!important;
  row-gap:8px!important;
  width:100%!important;
  min-width:0!important;
  padding-right:4px!important;
}
.profile-messenger .messenger-thread-group-actions{
  min-height:38px!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
}
.profile-messenger .messenger-thread-members-wrap{
  align-items:center!important;
  gap:10px!important;
  min-height:48px!important;
}
.profile-messenger .messenger-thread-members-wrap .messenger-thread-members{
  align-items:center!important;
  gap:9px!important;
  padding:3px 0 5px 0!important;
}
.profile-messenger .messenger-thread-members-wrap.collapsed .messenger-thread-members{
  max-height:48px!important;
}
.profile-messenger .messenger-thread-members-wrap.expanded .messenger-thread-members{
  max-height:146px!important;
  padding:3px 4px 6px 0!important;
}
.profile-messenger .messenger-thread-chip{
  min-height:36px!important;
  padding:5px 11px 5px 6px!important;
  line-height:1.1!important;
}
.profile-messenger .messenger-thread-chip .messenger-avatar-photo,
.profile-messenger .messenger-thread-chip .avatar{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
}
.profile-messenger .messenger-thread-members-toggle{
  align-self:center!important;
  min-height:32px!important;
  padding:6px 10px!important;
}
.profile-messenger .messenger-add-people-popover{
  z-index:20!important;
}
@media(max-width:760px){
  .profile-messenger .messenger-thread-head{
    min-height:112px!important;
    padding:9px 74px 9px 10px!important;
  }
  .profile-messenger .messenger-close-chat{
    top:8px!important;
    right:9px!important;
    min-height:32px!important;
    padding:6px 10px!important;
  }
  .profile-messenger .messenger-thread-group.compact{row-gap:7px!important;}
  .profile-messenger .messenger-thread-members-wrap{min-height:46px!important;}
  .profile-messenger .messenger-thread-members-wrap.collapsed .messenger-thread-members{max-height:46px!important;}
  .profile-messenger .messenger-thread-chip{min-height:34px!important;max-width:170px!important;}
  .profile-messenger .messenger-thread-chip .messenger-avatar-photo,
  .profile-messenger .messenger-thread-chip .avatar{width:24px!important;height:24px!important;min-width:24px!important;}
}

/* v595: profile directory pagination */
.profile-directory-controls{align-items:end;gap:12px}
.directory-size-picker{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--muted,#52637a);font-weight:800}
.directory-size-picker select{min-width:80px}
.profile-directory-pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(148,163,184,.25)}
.profile-directory-pager button:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:720px){.profile-directory-pager{justify-content:center}.profile-directory-controls{align-items:stretch}.directory-size-picker{width:100%;justify-content:space-between}}


/* v596-rippling-inspired-workflows */
.profile-payroll-workspace{--payroll-accent:var(--motif-accent,#651047);--payroll-accent-2:var(--motif-accent-2,#8c2b63);--payroll-soft:rgba(101,16,71,.08)}
.profile-payroll-workspace .profile-payroll-hero{border:1px solid rgba(101,16,71,.16);background:linear-gradient(135deg,rgba(101,16,71,.11),rgba(255,255,255,.92));box-shadow:0 14px 34px rgba(50,18,38,.08)}
.profile-payroll-workspace .profile-payroll-flow span{background:#fff;border-color:rgba(101,16,71,.18);color:var(--payroll-accent)}
.profile-payroll-subnav{position:sticky;top:74px;z-index:4;display:flex;gap:8px;align-items:center;padding:10px;border:1px solid rgba(101,16,71,.14);background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-radius:18px;margin:14px 0;box-shadow:0 10px 26px rgba(35,20,30,.05);overflow:auto}
.profile-payroll-subnav button{border:1px solid transparent;background:transparent;color:#342333;border-radius:999px;padding:9px 13px;font-weight:800;white-space:nowrap}
.profile-payroll-subnav button.active{background:var(--payroll-accent);color:#fff;box-shadow:0 8px 18px rgba(101,16,71,.24)}
.payroll-report-titlebar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;border-bottom:1px solid rgba(101,16,71,.13);background:#fff}
.payroll-report-titlebar>div:first-child{display:flex;align-items:center;gap:12px}.payroll-report-titlebar h3{font-size:28px;margin:0}.payroll-report-titlebar p{margin:2px 0 0}.payroll-report-titlebar .actions{display:flex;gap:9px;flex-wrap:wrap}
.v596-report-builder{border:1px solid rgba(101,16,71,.14);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 18px 45px rgba(31,20,31,.08)}
.payroll-report-top-filter{margin:0;padding:14px 20px;border-bottom:1px solid rgba(101,16,71,.1);background:linear-gradient(90deg,rgba(101,16,71,.04),rgba(255,255,255,.8))}
.payroll-report-builder-shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:620px}.payroll-report-builder-rail{background:#f7f2f5;border-right:1px solid rgba(101,16,71,.12);padding:0 14px 18px;display:flex;flex-direction:column;gap:14px}.payroll-report-rail-tabs{display:grid;grid-template-columns:1fr 1fr;margin:0 -14px 10px}.payroll-report-rail-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:16px 8px;font-weight:800}.payroll-report-rail-tabs button.active{border-bottom-color:var(--payroll-accent);color:var(--payroll-accent);background:#fff}.payroll-report-builder-rail label{display:grid;gap:6px;font-weight:800;color:#3e2a3a}.payroll-report-builder-rail label span,.payroll-report-chipset>span{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#6e5866}.payroll-report-builder-rail select{width:100%;border:1px solid rgba(101,16,71,.19);border-radius:10px;padding:9px 10px;background:#fff;color:#231421}.payroll-report-chipset{display:flex;flex-direction:column;gap:7px}.payroll-report-chipset i{font-style:normal;display:flex;justify-content:space-between;align-items:center;background:#eadde5;border:1px solid rgba(101,16,71,.09);border-radius:8px;padding:8px 10px;color:#3a2434;font-weight:700}.payroll-report-chipset i:after{content:'×';color:#9f8295}
.payroll-report-canvas{padding:18px 22px;background:#fbfaf8;min-width:0}.payroll-report-ai-card{max-width:930px;margin:0 auto 16px;background:#fff;border:1px solid rgba(101,16,71,.12);border-radius:18px;padding:18px 20px;box-shadow:0 12px 30px rgba(40,20,32,.06)}.payroll-report-prompt{margin-left:auto;max-width:720px;background:#f0ebe9;border-radius:14px;padding:14px 16px;font-size:16px;line-height:1.4}.payroll-report-thinking{display:flex;gap:10px;align-items:center;margin:18px 0 10px}.spinner-dot{width:15px;height:15px;border-radius:50%;border:2px solid rgba(101,16,71,.22);border-top-color:var(--payroll-accent);display:inline-block}.payroll-report-ai-card ul{margin:8px 0 0 21px;color:#473642}.payroll-report-primary-chart{margin-bottom:14px}.profile-payroll-report-card{border-color:rgba(101,16,71,.13)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 10px 28px rgba(45,20,35,.045)}.profile-payroll-report-card h4{margin-top:0}.profile-payroll-report-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0 0 14px}.profile-payroll-report-dashboard{align-items:stretch}.profile-payroll-table.compact table{background:#fff}.profile-payroll-table.compact th{background:#f4eef2;color:#5b4654}.profile-payroll-table.compact td{vertical-align:middle}.profile-payroll-rpt-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:8px}.dot-1{background:#651047}.dot-2{background:#cf6d2e}.dot-3{background:#168f85}.dot-4{background:#516fa8}.dot-5{background:#e0b13b}.dot-6{background:#a6caca}.dot-7{background:#7a3f84}.dot-8{background:#d6565f}.payroll-report-stacked-bars{display:grid;gap:12px}.payroll-report-stacked-bars>div{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:8px;align-items:center}.payroll-report-stacked-bars span{font-weight:800}.payroll-report-stacked-bars b{font-weight:700}.payroll-report-stacked-bars i{grid-column:1/-1;height:22px;background:#eee8ec;border-radius:999px;overflow:hidden}.payroll-report-stacked-bars em{display:block;height:100%;border-radius:999px}.profile-payroll-pie-svg,.profile-payroll-chart-svg{max-width:100%}.profile-payroll-pie-legend div{border-bottom:1px solid rgba(101,16,71,.1);padding:7px 0}.payroll-report-export-source{margin-top:14px}.payroll-report-page .btn.motif-cta,.payroll-report-page .btn{min-height:36px}
@media(max-width:980px){.payroll-report-builder-shell{grid-template-columns:1fr}.payroll-report-builder-rail{border-right:0;border-bottom:1px solid rgba(101,16,71,.12)}.payroll-report-titlebar{align-items:flex-start;flex-direction:column}.payroll-report-titlebar .actions{width:100%}.payroll-report-titlebar .actions .btn{flex:1}.profile-payroll-subnav{top:62px}.payroll-report-canvas{padding:14px}}


/* v597: keep the inspired report layout, but inherit the active Panopt theme instead of forcing Rippling/plum colors. */
.profile-payroll-workspace{
  --payroll-accent:var(--accent,#0f7fb3);
  --payroll-accent-2:var(--brand,#f58220);
  --payroll-soft:color-mix(in srgb,var(--surface-bg-2,var(--panel2)) 84%,var(--accent) 16%);
}
body[data-panopt-route="profile"] .profile-payroll-workspace .profile-payroll-hero,
body[data-panopt-route="profile"] .v596-report-builder,
body[data-panopt-route="profile"] .payroll-report-titlebar,
body[data-panopt-route="profile"] .payroll-report-builder-rail,
body[data-panopt-route="profile"] .payroll-report-canvas,
body[data-panopt-route="profile"] .payroll-report-ai-card,
body[data-panopt-route="profile"] .profile-payroll-report-card{
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface-bg) 94%,var(--accent) 6%),color-mix(in srgb,var(--surface-bg-2) 96%,transparent))!important;
  border-color:var(--border)!important;
  color:var(--surface-text)!important;
  box-shadow:none!important;
}
body[data-panopt-route="profile"] .v596-report-builder{overflow:hidden;border-radius:22px;}
body[data-panopt-route="profile"] .payroll-report-titlebar{border-bottom:1px solid var(--border)!important;}
body[data-panopt-route="profile"] .payroll-report-top-filter{
  background:color-mix(in srgb,var(--surface-bg-2) 92%,var(--accent) 8%)!important;
  border-bottom:1px solid var(--border)!important;
}
body[data-panopt-route="profile"] .payroll-report-builder-rail{border-right:1px solid var(--border)!important;}
body[data-panopt-route="profile"] .payroll-report-rail-tabs button{color:var(--surface-muted)!important;box-shadow:none;}
body[data-panopt-route="profile"] .payroll-report-rail-tabs button.active{
  color:var(--surface-text)!important;
  border-bottom-color:var(--brand)!important;
  background:color-mix(in srgb,var(--surface-bg) 88%,var(--brand) 12%)!important;
}
body[data-panopt-route="profile"] .profile-payroll-subnav{
  background:color-mix(in srgb,var(--surface-bg) 92%,var(--bg) 8%)!important;
  border-color:var(--border)!important;
}
body[data-panopt-route="profile"] .profile-payroll-subnav button{color:var(--surface-text)!important;box-shadow:none;}
body[data-panopt-route="profile"] .profile-payroll-subnav button.active{
  background:linear-gradient(135deg,var(--brand),var(--brand2,var(--brand)))!important;
  border-color:color-mix(in srgb,var(--brand) 60%,var(--border) 40%)!important;
  color:#130901!important;
}
body[data-panopt-route="profile"] .payroll-report-prompt,
body[data-panopt-route="profile"] .payroll-report-chipset i,
body[data-panopt-route="profile"] .profile-payroll-table.compact th{
  background:color-mix(in srgb,var(--surface-bg-2) 88%,var(--accent) 12%)!important;
  color:var(--surface-text)!important;
  border-color:var(--border)!important;
}
body[data-panopt-route="profile"] .payroll-report-builder-rail label,
body[data-panopt-route="profile"] .payroll-report-builder-rail label span,
body[data-panopt-route="profile"] .payroll-report-chipset>span,
body[data-panopt-route="profile"] .payroll-report-titlebar h3,
body[data-panopt-route="profile"] .profile-payroll-report-card h4,
body[data-panopt-route="profile"] .payroll-report-thinking b,
body[data-panopt-route="profile"] .profile-payroll-table.compact td,
body[data-panopt-route="profile"] .profile-payroll-table.compact td b{
  color:var(--surface-text)!important;
}
body[data-panopt-route="profile"] .payroll-report-titlebar p,
body[data-panopt-route="profile"] .payroll-report-ai-card p,
body[data-panopt-route="profile"] .payroll-report-ai-card li,
body[data-panopt-route="profile"] .payroll-report-builder-rail small,
body[data-panopt-route="profile"] .profile-payroll-table.compact td small,
body[data-panopt-route="profile"] .profile-payroll-chart-label span,
body[data-panopt-route="profile"] .profile-payroll-pie-legend div{
  color:var(--surface-muted)!important;
}
body[data-panopt-route="profile"] .payroll-report-builder-rail select,
body[data-panopt-route="profile"] .payroll-report-top-filter input,
body[data-panopt-route="profile"] .payroll-report-top-filter select{
  background:var(--field-bg)!important;
  color:var(--field-text)!important;
  border-color:var(--field-border)!important;
}
body[data-panopt-route="profile"] .profile-payroll-table.compact table{background:transparent!important;}
body[data-panopt-route="profile"] .profile-payroll-table.compact th,
body[data-panopt-route="profile"] .profile-payroll-table.compact td{border-bottom-color:var(--border)!important;}
body[data-panopt-route="profile"] .spinner-dot{border-color:color-mix(in srgb,var(--accent) 28%,transparent);border-top-color:var(--brand);}
body[data-panopt-route="profile"] .profile-payroll-pie-legend div{border-bottom-color:var(--border)!important;}
body[data-panopt-route="profile"] .profile-payroll-pie-legend b{color:var(--surface-text)!important;}
body[data-panopt-route="profile"] .payroll-report-rail-panel{display:none;}
body[data-panopt-route="profile"] .payroll-report-rail-panel.active{display:grid;gap:12px;}
body[data-panopt-route="profile"] .profile-payroll-report-grid{grid-template-columns:repeat(auto-fit,minmax(0,1fr));}
body[data-panopt-route="profile"] .profile-payroll-report-card{overflow:visible;}
body[data-panopt-route="profile"] .profile-payroll-chart-svg{max-width:100%;overflow:visible;}
body[data-panopt-route="profile"] .profile-payroll-report-action-row,
body[data-panopt-route="profile"] .profile-payroll-report-action-row button{cursor:pointer;}
body[data-panopt-route="profile"] .payroll-report-stacked-bars i,
body[data-panopt-route="profile"] .profile-payroll-chart-track{background:color-mix(in srgb,var(--surface-bg-2) 72%,var(--border) 28%)!important;}
body[data-panopt-route="profile"] .payroll-report-stacked-bars em,
body[data-panopt-route="profile"] .profile-payroll-chart-track i{background:linear-gradient(90deg,var(--accent),var(--brand))!important;}
body[data-panopt-route="profile"] .profile-payroll-rpt-dot.dot-1,
body[data-panopt-route="profile"] .dot-1{background:var(--brand)!important;}
body[data-panopt-route="profile"] .profile-payroll-rpt-dot.dot-2,
body[data-panopt-route="profile"] .dot-2{background:var(--accent)!important;}
body[data-panopt-route="profile"] .profile-payroll-rpt-dot.dot-3,
body[data-panopt-route="profile"] .dot-3{background:color-mix(in srgb,var(--brand) 55%,var(--accent) 45%)!important;}
body[data-panopt-route="profile"] .profile-payroll-rpt-dot.dot-4,
body[data-panopt-route="profile"] .dot-4{background:color-mix(in srgb,var(--accent) 70%,var(--surface-text) 30%)!important;}
body[data-panopt-route="profile"] .profile-payroll-rpt-dot.dot-5,
body[data-panopt-route="profile"] .dot-5{background:color-mix(in srgb,var(--brand2,var(--brand)) 70%,var(--surface-text) 30%)!important;}
body[data-panopt-route="profile"] .profile-payroll-rpt-dot.dot-6,
body[data-panopt-route="profile"] .dot-6{background:color-mix(in srgb,var(--accent2,var(--accent)) 65%,var(--brand) 35%)!important;}
body[data-panopt-route="profile"] .profile-payroll-rpt-dot.dot-7,
body[data-panopt-route="profile"] .dot-7{background:color-mix(in srgb,var(--brand) 70%,var(--surface-muted) 30%)!important;}
body[data-panopt-route="profile"] .profile-payroll-rpt-dot.dot-8,
body[data-panopt-route="profile"] .dot-8{background:color-mix(in srgb,var(--danger) 70%,var(--brand) 30%)!important;}
@media(max-width:980px){body[data-panopt-route="profile"] .payroll-report-builder-rail{border-right:0!important;border-bottom:1px solid var(--border)!important;}}

/* v598: payroll/finance command centers using Panopt theme variables, not vendor colors */
.payroll-command-grid,.finance-command-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.45fr);gap:1rem;align-items:stretch;margin:1rem 0;}
.payroll-command-card,.finance-command-card{border:1px solid var(--border);border-radius:var(--radius-lg,18px);background:var(--panel);box-shadow:var(--shadow-sm,0 10px 28px rgba(0,0,0,.18));padding:1rem;min-width:0;}
.payroll-command-grid .payroll-apps-card,.finance-command-grid .finance-apps-card{grid-column:auto;}
.finance-command-grid .finance-readiness-card{grid-column:1/-1;}
.payroll-task-list,.finance-task-list{display:grid;gap:.65rem;}
.payroll-task-item,.finance-task-item{width:100%;text-align:left;display:grid;gap:.2rem;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--panel) 92%,var(--bg));color:var(--text);padding:.75rem .85rem;cursor:pointer;}
.payroll-task-item:hover,.finance-task-item:hover,.payroll-app-tile:hover,.finance-app-tile:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 20%,transparent);}
.payroll-task-item b,.finance-task-item b{color:var(--text);font-size:.96rem;}
.payroll-task-item span,.finance-task-item span{color:var(--muted);font-size:.86rem;line-height:1.35;}
.payroll-task-item.warn,.finance-task-item.warn{border-color:color-mix(in srgb,#f59e0b 45%,var(--border));}
.payroll-task-item.danger,.finance-task-item.danger{border-color:color-mix(in srgb,#ef4444 48%,var(--border));}
.payroll-task-item.good,.finance-task-item.good{border-color:color-mix(in srgb,#22c55e 45%,var(--border));}
.payroll-app-grid,.finance-app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;}
.payroll-app-tile,.finance-app-tile{display:grid;gap:.35rem;align-content:start;text-align:left;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--panel) 88%,var(--bg));color:var(--text);padding:.85rem;min-height:120px;cursor:pointer;}
.payroll-app-tile>span,.finance-app-tile>span{width:38px;height:38px;display:inline-grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--accent) 18%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 36%,var(--border));color:var(--text);font-weight:900;font-size:.78rem;}
.payroll-app-tile b,.finance-app-tile b{font-size:.96rem;color:var(--text);}
.payroll-app-tile small,.finance-app-tile small{color:var(--muted);line-height:1.35;font-size:.82rem;}
.finance-readiness-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem;margin-top:.7rem;}
.finance-readiness-list>div{border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--panel) 90%,var(--bg));padding:.7rem;display:grid;gap:.15rem;}
.finance-readiness-list>div.ok{border-color:color-mix(in srgb,#22c55e 40%,var(--border));}
.finance-readiness-list>div.warn{border-color:color-mix(in srgb,#f59e0b 45%,var(--border));}
.finance-readiness-list b{color:var(--text);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;}
.finance-readiness-list span{font-weight:800;color:var(--text);}
.finance-readiness-list small{color:var(--muted);}
.profile-finance-shell{--finance-accent:var(--accent);--finance-surface:var(--panel);--finance-border:var(--border);color:var(--text);}
.profile-finance-shell .btn,.profile-finance-shell button,.profile-finance-shell a.btn{color:var(--text);border-color:var(--border);background:color-mix(in srgb,var(--panel) 90%,var(--bg));}
.profile-finance-shell .btn.active,.profile-finance-shell .primary,.profile-finance-shell .finance-primary-action,.profile-finance-shell .finance-save-button{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast,#fff);}
.profile-finance-shell .finance-panel,.profile-finance-shell .finance-drawer,.profile-finance-shell .profile-finance-workspace{background:var(--panel);border-color:var(--border);box-shadow:var(--shadow-sm,0 10px 28px rgba(0,0,0,.18));}
.profile-finance-shell input,.profile-finance-shell select,.profile-finance-shell textarea{background:var(--input-bg,var(--bg));border-color:var(--border);color:var(--text);}
.profile-finance-shell .finance-kpi-card,.profile-finance-shell .finance-visual-card,.profile-finance-shell .finance-dashboard-report-strip{background:color-mix(in srgb,var(--panel) 92%,var(--bg));border-color:var(--border);}
.profile-finance-shell .finance-kpi-card>strong,.profile-finance-shell .finance-dashboard-report-strip h3,.profile-finance-shell .finance-doc-list strong{color:var(--text);}
.profile-finance-shell .finance-kpi-label,.profile-finance-shell .finance-kpi-foot,.profile-finance-shell .finance-doc-list span{color:var(--muted);}
@media(max-width:980px){.payroll-command-grid,.finance-command-grid{grid-template-columns:1fr}.finance-command-grid .finance-readiness-card{grid-column:auto}}

/* v599 payroll admin polish */
.profile-payroll-blocker-actions{border:1px solid var(--border, rgba(0,0,0,.12));border-radius:18px;padding:14px;margin:14px 0;background:var(--panel, var(--card-bg, rgba(255,255,255,.04)))}
.profile-payroll-blocker-actions h4{margin:0 0 10px 0}
.profile-payroll-fix-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border, rgba(0,0,0,.1))}
.profile-payroll-fix-row:first-of-type{border-top:0}
.profile-payroll-fix-row b{display:block}
.profile-payroll-fix-row span{display:block;color:var(--muted, #64748b);font-size:.9rem;line-height:1.35}
.profile-payroll-fix-row.warn b{color:var(--danger, var(--warning, inherit))}
.profile-payroll-form-grid small[data-profile-payroll-pto-search-status]{display:block;margin-top:4px;line-height:1.3}
.payroll-command-grid{margin-top:18px}
.profile-payroll-panel[data-profile-payroll-panel="reports"].active{display:block}

/* v600: Payroll PTO Balance Control selection detail */
.profile-payroll-pto-selected-card{
  border:1px solid var(--border, rgba(148,163,184,.28));
  border-radius:16px;
  background:var(--panel, rgba(15,23,42,.48));
  padding:14px;
  margin:12px 0 16px;
}
.profile-payroll-pto-selected-head{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.profile-payroll-pto-selected-head>div{
  min-width:220px;
  flex:1 1 320px;
}
.profile-payroll-pto-selected-head b,
.profile-payroll-pto-selected-head small{
  display:block;
}
.profile-payroll-pto-selected-head small{
  color:var(--muted, #94a3b8);
}

/* v601: Payroll PTO directory picker uses clickable avatar results instead of datalist text values */
.profile-payroll-pto-lookup-label{position:relative;}
.profile-payroll-pto-results{
  position:absolute;
  z-index:40;
  left:0;
  right:0;
  top:calc(100% - 18px);
  border:1px solid var(--border, rgba(144,188,214,.28));
  border-radius:14px;
  background:linear-gradient(180deg,var(--panel2,#0e2230),var(--panel,#091721));
  color:var(--text,#f3f8fb);
  box-shadow:0 18px 45px rgba(0,0,0,.45);
  padding:6px;
  max-height:280px;
  overflow:auto;
}
.profile-payroll-pto-result{
  width:100%;
  border:1px solid transparent;
  background:rgba(255,255,255,.035);
  color:var(--text,#f3f8fb);
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:10px;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
}
.profile-payroll-pto-result:hover,
.profile-payroll-pto-result:focus{
  background:rgba(245,130,32,.14);
  border-color:rgba(245,130,32,.45);
  outline:none;
}
.profile-payroll-pto-result span{
  color:var(--text,#f3f8fb);
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}


/* v603: align PTO correction controls and keep AJAX balance refresh visually stable */
form[data-profile-payroll-pto-adjust-form]{
  align-items:start;
  grid-template-columns:minmax(200px,240px) minmax(190px,200px) minmax(190px,200px) 1fr;
}
form[data-profile-payroll-pto-adjust-form] label{
  align-self:start;
}
form[data-profile-payroll-pto-adjust-form] label>input,
form[data-profile-payroll-pto-adjust-form] label>select{
  min-height:44px;
}
form[data-profile-payroll-pto-adjust-form] [data-profile-payroll-status]{
  align-self:center;
}
@media(max-width:900px){
  form[data-profile-payroll-pto-adjust-form]{grid-template-columns:1fr;}
}

/* v605: payroll no-reload search and actionable blocker modal */
.profile-payroll-blocker-dialog{width:min(1120px,96vw);max-height:92vh;overflow:auto;background:var(--panel);color:var(--text);border:1px solid var(--border)}
.profile-payroll-blocker-dialog header{padding-right:48px;margin-bottom:16px}
.profile-payroll-blocker-list{display:grid;gap:14px;margin:16px 0}
.profile-payroll-blocker-employee{border:1px solid var(--border);border-radius:18px;padding:14px;background:color-mix(in srgb,var(--panel) 94%,var(--accent) 6%)}
.profile-payroll-blocker-employee>header{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:0}
.profile-payroll-blocker-employee>header>div{flex:1;min-width:0}.profile-payroll-blocker-employee>header b,.profile-payroll-blocker-employee>header small,.profile-payroll-blocker-employee>header span{display:block}.profile-payroll-blocker-employee>header small{color:var(--muted)}.profile-payroll-blocker-employee>header span{color:var(--warning,#f59e0b);font-size:.9rem;margin-top:3px}
.profile-payroll-blocker-time-form,.profile-payroll-blocker-labor-form{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
.profile-payroll-blocker-dialog footer.actions{position:sticky;bottom:0;margin:18px -4px -4px;padding:12px 4px;background:linear-gradient(to top,var(--panel) 80%,transparent);border-top:1px solid var(--border)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.profile-payroll-blocker-employee.is-resolved{border-color:color-mix(in srgb,var(--success,#22c55e) 55%,var(--border));background:color-mix(in srgb,var(--panel) 88%,var(--success,#22c55e) 12%)}
.profile-payroll-blocker-employee.is-resolved>header span::after{content:' • saved';color:var(--success,#22c55e);font-weight:700}
/* v610: role-based profile command center and reusable action modal shell */
.profile-command-center{display:grid;gap:16px;margin-bottom:20px}
.profile-command-center .section-head{margin:0}
.profile-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.profile-task-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--border);border-radius:16px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));box-shadow:var(--shadow)}
.profile-task-card h3{margin:6px 0 4px;font-size:1rem}
.profile-task-card p{margin:0;color:var(--muted);font-size:.92rem}
.profile-task-card .btn{white-space:nowrap}
.profile-task-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;border:1px solid var(--border);font-size:.78rem;font-weight:800;color:var(--muted);background:rgba(255,255,255,.045)}
.profile-task-card.priority-high{border-color:color-mix(in srgb,var(--warning,#f59e0b) 50%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--warning,#f59e0b) 10%,transparent),rgba(255,255,255,.025))}
.profile-task-card.priority-high .profile-task-status{color:var(--warning,#f59e0b);border-color:color-mix(in srgb,var(--warning,#f59e0b) 55%,var(--border))}
.profile-task-card.priority-medium .profile-task-status{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 55%,var(--border))}
.profile-app-head{margin-top:4px}
.profile-app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.profile-app-tile{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:96px;padding:14px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.022));color:var(--text);text-align:left;cursor:pointer;box-shadow:none}
.profile-app-tile:hover,.profile-app-tile:focus-visible{background:color-mix(in srgb,var(--brand) 12%,var(--panel));border-color:color-mix(in srgb,var(--brand) 55%,var(--border));outline:none}
.profile-app-tile .motif-icon{width:42px;height:42px}
.profile-app-tile b,.profile-app-tile small{display:block}
.profile-app-tile small{margin-top:3px;color:var(--muted);line-height:1.25}
.profile-app-tile em{align-self:start;min-width:28px;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--border);font-style:normal;font-size:.78rem;font-weight:800;color:var(--brand);text-align:center}
.panopt-action-modal.wide{width:min(1120px,96vw)}
.panopt-action-modal-body{margin-top:12px}
.panopt-action-modal-footer{position:sticky;bottom:-28px;margin:18px -28px -28px;padding:12px 28px;display:flex;justify-content:flex-end;gap:10px;background:linear-gradient(to top,var(--panel) 84%,transparent);border-top:1px solid var(--border)}
@media(max-width:720px){
  .profile-task-card{display:grid}
  .profile-task-card .btn{justify-self:start}
  .profile-app-tile{grid-template-columns:36px minmax(0,1fr);min-height:88px}
  .profile-app-tile em{grid-column:2;justify-self:start}
}

/* v611: command center tile fit and mobile messenger composer repair */
.profile-task-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.profile-task-card{display:grid;grid-template-columns:minmax(0,1fr);align-content:space-between;min-height:156px}
.profile-task-card .btn{justify-self:start;max-width:100%;white-space:normal;text-align:center;line-height:1.2}
.profile-task-card h3,.profile-task-card p{overflow-wrap:anywhere}
.profile-app-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.profile-app-tile{grid-template-columns:40px minmax(0,1fr) auto;min-height:132px;align-items:start}
.profile-app-tile .motif-icon{width:40px;height:40px;align-self:center}
.profile-app-tile b{font-size:1rem;line-height:1.12}
.profile-app-tile small{font-size:.86rem;line-height:1.28;overflow-wrap:anywhere}
.profile-app-tile em{max-width:86px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){
  .profile-command-center{gap:14px}
  .profile-task-grid,.profile-app-grid{grid-template-columns:1fr}
  .profile-task-card{min-height:0}
  .profile-app-tile{grid-template-columns:36px minmax(0,1fr) auto;min-height:112px}
  .profile-messenger:not(.collapsed) .messenger-panel{height:100dvh!important;max-height:100dvh!important;inset:0!important;padding-bottom:env(safe-area-inset-bottom)!important}
  .profile-messenger .messenger-layout{height:100%!important;min-height:0!important;grid-template-rows:auto minmax(0,1fr)!important}
  .profile-messenger .messenger-thread{display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important}
  .profile-messenger .messenger-messages{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow:auto!important}
  .profile-messenger .messenger-composer-tray,.profile-messenger .messenger-pending-attachment{flex:0 0 auto!important}
  .profile-messenger .messenger-form{position:sticky!important;bottom:0!important;z-index:2!important;display:grid!important;grid-template-columns:40px 44px 40px minmax(0,1fr) auto!important;gap:6px!important;align-items:center!important;background:color-mix(in srgb,var(--panel) 96%,transparent)!important;padding:8px 8px max(10px,env(safe-area-inset-bottom))!important;border-top:1px solid var(--border)!important}
  .profile-messenger .messenger-form input#messengerInput{min-width:0!important;width:100%!important}
.profile-messenger .messenger-form button[type="submit"]{min-width:58px!important;padding:0 10px!important}
}

/* v612: Payroll blocker record browser and input edit modal */
.profile-payroll-blocker-tools{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:10px;align-items:center;margin:14px 0}
.profile-payroll-blocker-tools input,.profile-payroll-blocker-tools select{min-height:40px}
.profile-payroll-blocker-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:8px 0 14px;color:var(--muted)}
.profile-payroll-input-modal-head{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--panel2) 68%,transparent)}
.profile-payroll-input-modal-head b,.profile-payroll-input-modal-head small,.profile-payroll-input-modal-head span{display:block}
.profile-payroll-input-modal-head small{color:var(--muted);margin:3px 0}
@media(max-width:760px){
  .profile-payroll-blocker-tools{grid-template-columns:1fr}
  .profile-payroll-blocker-pager{justify-content:flex-start;flex-wrap:wrap}
}

/* v623: permission-aware profile workspace shell */
.profile-workspace-tabs{position:sticky;top:0;z-index:4;display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px;padding:10px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(10px)}
.profile-workspace-tabs button{display:inline-flex;align-items:center;gap:7px;min-height:38px;max-width:100%;padding:8px 12px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);font-weight:800;line-height:1.1;white-space:normal}
.profile-workspace-tabs button.active,.profile-workspace-tabs button:hover,.profile-workspace-tabs button:focus-visible{background:color-mix(in srgb,var(--brand) 16%,var(--panel));border-color:color-mix(in srgb,var(--brand) 55%,var(--border));color:var(--text);outline:none}
.profile-workspace-tabs button small{padding:2px 6px;border-radius:999px;border:1px solid var(--border);font-size:.68rem;color:var(--brand)}
.profile-app-tile.admin-workspace{border-color:color-mix(in srgb,var(--brand) 45%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 9%,transparent),rgba(255,255,255,.02))}
.profile-home-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:18px;align-items:start}.profile-home-sidebar{position:sticky;top:92px;display:grid;gap:14px}.profile-app-grid.compact{grid-template-columns:1fr;gap:10px}.profile-app-grid.compact .profile-app-tile{min-height:88px;grid-template-columns:34px minmax(0,1fr) auto;padding:12px}.profile-app-grid.compact .profile-app-tile .motif-icon{width:34px;height:34px}.profile-request-head{margin-top:6px}.profile-request-row{display:grid;gap:10px}.profile-request-row button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;text-align:left;color:var(--text);border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.022));padding:12px;cursor:pointer}.profile-request-row button:hover,.profile-request-row button:focus-visible{outline:none;border-color:color-mix(in srgb,var(--brand) 55%,var(--border));background:color-mix(in srgb,var(--brand) 10%,var(--panel))}.profile-request-row .motif-icon{width:34px;height:34px}.profile-request-row b,.profile-request-row small{display:block}.profile-request-row small{color:var(--muted);line-height:1.25;margin-top:2px}.profile-dashboards{margin-top:0}.profile-dashboard-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:12px}.profile-dashboard-picker button{min-height:70px;text-align:left;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.035);color:var(--text);padding:11px;cursor:pointer}.profile-dashboard-picker button.active{border-color:color-mix(in srgb,var(--brand) 62%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 22%,transparent),color-mix(in srgb,var(--accent) 12%,transparent))}.profile-dashboard-picker b,.profile-dashboard-picker span{display:block}.profile-dashboard-picker span{margin-top:4px;color:var(--muted);font-size:.82rem}.profile-dashboard-panel{border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));padding:16px}.profile-dashboard-warning{align-self:start;border:1px solid rgba(245,158,11,.45);border-radius:999px;padding:4px 9px;color:#fde68a;background:rgba(245,158,11,.10);font-size:.8rem;font-weight:800}.profile-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.profile-dashboard-card{min-height:220px;border:1px solid rgba(148,163,184,.20);border-radius:16px;background:rgba(2,12,22,.48);padding:14px}.profile-dashboard-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.profile-dashboard-card header span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;font-weight:800}.profile-dashboard-card header strong{display:block;color:#ffae4d;font-size:1.55rem;line-height:1.1}.profile-dashboard-card h3{margin:12px 0 6px;font-size:1rem}.profile-dashboard-card p{font-size:.87rem;line-height:1.35}.profile-dashboard-bars{display:grid;gap:8px;margin-top:12px}.profile-dashboard-bars div{display:grid;grid-template-columns:minmax(80px,1fr) minmax(70px,1.4fr) auto;gap:8px;align-items:center;color:var(--muted);font-size:.82rem}.profile-dashboard-bars i{height:8px;width:var(--w);min-width:4px;max-width:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--accent))}.profile-dashboard-bars b{color:var(--text);font-size:.78rem}.profile-dashboard-card.is-empty{border-style:dashed}
@media(max-width:720px){
  .profile-workspace-tabs{position:relative;top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-workspace-tabs button{justify-content:center;text-align:center}
}
@media(max-width:1120px){.profile-home-layout{grid-template-columns:1fr}.profile-home-sidebar{position:static}.profile-app-grid.compact{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.profile-request-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
@media(max-width:720px){.profile-dashboard-panel{padding:12px}.profile-dashboard-grid,.profile-dashboard-picker{grid-template-columns:1fr}.profile-dashboard-bars div{grid-template-columns:1fr auto}.profile-dashboard-bars i{grid-column:1/-1;width:var(--w)}}

/* v624: shared reporting workspace */
.profile-report-shell{display:grid;gap:14px}
.profile-report-shell .section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.profile-report-shell .section-head select{min-width:min(100%,280px)}
.profile-report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.035)}
.profile-report-filters label{display:grid;gap:5px;color:var(--muted);font-size:.86rem;font-weight:800}
.profile-report-filters input,.profile-report-filters select{min-height:40px}
.profile-report-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;color:var(--muted);font-size:.9rem}
.profile-report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.profile-report-summary .portal-kpi{min-height:92px}
.profile-report-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.profile-report-chart{border:1px solid var(--border);border-radius:16px;padding:14px;background:rgba(255,255,255,.035)}
.profile-report-chart h3{font-size:1rem;margin:0 0 12px}
.profile-report-bar{display:grid;grid-template-columns:minmax(90px,1fr) minmax(90px,2fr) auto;gap:8px;align-items:center;margin:8px 0;color:var(--muted);font-size:.86rem}
.profile-report-bar i{height:9px;width:var(--w);min-width:4px;max-width:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--accent))}
.profile-report-bar b{color:var(--text);font-size:.82rem}
.profile-report-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:16px}
.profile-report-table{width:100%;border-collapse:collapse;min-width:720px}
.profile-report-table th,.profile-report-table td{padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:top;font-size:.9rem}
.profile-report-table th{position:sticky;top:0;background:color-mix(in srgb,var(--panel) 96%,transparent);color:var(--muted);text-transform:capitalize}
.profile-report-table td{max-width:280px;overflow-wrap:anywhere}
.it-assets-workspace{display:grid;gap:16px}.it-assets-workspace .section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.it-search{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) auto;gap:10px;min-width:min(100%,520px)}.it-kpi-grid .portal-kpi{min-height:96px}.it-subtabs{margin:0}.it-panel{display:grid;gap:12px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.03);padding:16px}.it-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px}.it-table{min-width:880px}.it-status{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.06);font-size:.78rem;font-weight:800;text-transform:capitalize;color:var(--text)}.it-status-assigned,.it-status-in-review,.it-status-in-progress{border-color:rgba(59,130,246,.42);background:rgba(59,130,246,.12);color:#bfdbfe}.it-status-available,.it-status-approved,.it-status-completed{border-color:rgba(34,197,94,.42);background:rgba(34,197,94,.12);color:#bbf7d0}.it-status-missing,.it-status-changes-requested{border-color:rgba(239,68,68,.45);background:rgba(239,68,68,.12);color:#fecaca}.it-status-repair,.it-status-not-started{border-color:rgba(245,158,11,.45);background:rgba(245,158,11,.12);color:#fde68a}.it-asset-form,.it-inline-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:rgba(0,0,0,.12)}.it-asset-form button,.it-inline-form button{align-self:end}.it-report-links .actions{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:720px){
  .profile-report-shell .section-head{display:grid}
  .profile-report-filters{grid-template-columns:1fr}
  .profile-report-bar{grid-template-columns:1fr auto}
  .profile-report-bar i{grid-column:1/-1;width:var(--w)}
  .it-assets-workspace .section-head,.it-search{display:grid;grid-template-columns:1fr}
}

/* v625: scalable employee directory filters */
.profile-directory-controls{grid-template-columns:minmax(220px,2fr) repeat(4,minmax(140px,1fr)) auto}
.profile-directory-controls input,.profile-directory-controls select{min-height:40px}
@media(max-width:1100px){.profile-directory-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.profile-directory-controls{grid-template-columns:1fr}}

/* v630: Messenger module shell polish */
.profile-messenger .messenger-thread-head{align-items:flex-start!important;gap:10px!important}
.profile-messenger .messenger-thread-group.compact{width:100%;min-width:0}
.profile-messenger .messenger-thread-group-actions{gap:8px!important;flex-wrap:wrap!important}
.profile-messenger .messenger-rename-group{min-height:32px;max-width:min(280px,100%)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-messenger .messenger-add-people,
.profile-messenger .messenger-leave-group,
.profile-messenger .messenger-thread-members-toggle{min-height:32px;display:inline-flex;align-items:center;justify-content:center;line-height:1.1}
.profile-messenger .messenger-thread-members-wrap{width:100%;min-width:0}
.profile-messenger .messenger-thread-chip{max-width:190px!important;min-width:0!important}
.profile-messenger .messenger-thread-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-messenger .messenger-empty-state{padding:12px;border:1px dashed var(--border);border-radius:12px;background:rgba(255,255,255,.035)}
.profile-messenger .messenger-conversation-copy small{overflow-wrap:anywhere}
@media(max-width:760px){
  .profile-messenger .messenger-thread-group-actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;width:100%}
  .profile-messenger .messenger-rename-group{max-width:100%!important;justify-content:flex-start}
  .profile-messenger .messenger-thread-chip{max-width:100%!important}
}

/* v636: premium profile dashboard suite */
.chat-bubble-icon{position:relative;display:inline-block;width:18px;height:16px;border:2px solid currentColor;border-radius:8px;color:inherit}
.chat-bubble-icon:after{content:"";position:absolute;right:1px;bottom:-6px;width:7px;height:7px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;border-bottom-left-radius:8px;transform:skewY(-28deg);background:transparent}
.header-chat-btn{position:relative;display:inline-flex!important;align-items:center;gap:8px}
.header-chat-btn b,#dashMessengerUnread{position:absolute;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:.68rem;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--panel)}
.header-chat-btn b{top:-7px;right:-7px}
#dashMessengerUnread{top:6px;right:8px}
.profile-workspace-tabs{align-items:stretch}
.profile-workspace-tabs button{gap:9px;min-height:44px;border-radius:12px}
.profile-workspace-tabs button .motif-icon,.profile-workspace-tabs button .chat-bubble-icon{flex:0 0 auto;width:20px;height:20px}
.profile-workspace-tabs button .chat-bubble-icon{height:18px}
.profile-workspace-tabs button span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.profile-dashboard-suite{display:grid;grid-template-columns:196px minmax(0,1fr);gap:18px;align-items:start;margin:0 0 18px;color:var(--text)}
.dash-rail{position:sticky;top:86px;display:grid;gap:8px;padding:10px;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:linear-gradient(180deg,rgba(15,23,42,.88),rgba(2,6,23,.74));box-shadow:0 18px 52px rgba(0,0,0,.26);backdrop-filter:blur(14px)}
.dash-rail button{position:relative;display:flex;align-items:center;gap:10px;min-height:42px;padding:9px 11px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted);font-weight:850;text-align:left;cursor:pointer}
.dash-rail button:hover,.dash-rail button:focus-visible,.dash-rail button.active{outline:none;color:var(--text);border-color:color-mix(in srgb,var(--brand) 48%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 20%,transparent),rgba(255,255,255,.035))}
.dash-rail .motif-icon,.dash-rail .chat-bubble-icon{width:22px;height:22px;flex:0 0 auto}
.dash-rail .chat-bubble-icon{height:19px}
.dash-rail-toggle{justify-content:center!important;min-height:36px!important}
.dash-rail-toggle span{display:block;width:16px;height:2px;border-radius:99px;background:currentColor}
.dash-rail.is-collapsed{width:62px}
.dash-rail.is-collapsed button span:not(.motif-icon):not(.chat-bubble-icon),.dash-rail.is-collapsed #dashMessengerUnread{display:none}
.dash-main{display:grid;gap:16px;min-width:0}
.dash-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:4px 2px}
.dash-page-head h1{margin:4px 0 4px;font-size:clamp(1.65rem,2.3vw,2.35rem);letter-spacing:0}
.dash-page-head p{margin:0;color:var(--muted);max-width:720px}
.dash-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.dash-search-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:center}
.dash-search-row input{min-height:44px;border-radius:14px;background:rgba(15,23,42,.72);border:1px solid rgba(148,163,184,.24);color:var(--text);padding:0 14px}
.dash-search-row button{display:inline-flex;align-items:center;gap:8px;min-height:44px;border-radius:14px;border:1px solid color-mix(in srgb,var(--brand) 40%,var(--border));background:color-mix(in srgb,var(--brand) 13%,var(--panel));color:var(--text);font-weight:850;padding:0 14px;cursor:pointer}
.dash-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px}
.dash-kpi{display:flex;justify-content:space-between;gap:12px;min-height:116px;padding:16px;border:1px solid rgba(148,163,184,.22);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));box-shadow:0 14px 42px rgba(0,0,0,.18);cursor:default}
.dash-kpi[role="button"]{cursor:pointer}
.dash-kpi[role="button"]:hover,.dash-card[role="button"]:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 50%,var(--border))}
.dash-kpi span,.dash-kpi small,.dash-card small{display:block;color:var(--muted)}
.dash-kpi strong{display:block;margin:8px 0 5px;font-size:1.55rem;line-height:1.05}
.dash-kpi i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--brand) 14%,transparent);font-style:normal;color:var(--brand)}
.dash-kpi i .motif-icon{width:24px;height:24px}
.dash-kpi.tone-success i{color:#22c55e;background:rgba(34,197,94,.12)}.dash-kpi.tone-warning i{color:#f97316;background:rgba(249,115,22,.12)}.dash-kpi.tone-danger i{color:#ef4444;background:rgba(239,68,68,.12)}
.dash-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dash-card,.dash-table-card{min-width:0;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:linear-gradient(180deg,rgba(15,23,42,.80),rgba(2,6,23,.58));box-shadow:0 18px 50px rgba(0,0,0,.22);overflow:hidden}
.dash-card{display:grid;grid-template-rows:auto minmax(128px,1fr) auto;padding:0;cursor:default}
.dash-card header,.dash-table-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid rgba(148,163,184,.16)}
.dash-card h3,.dash-table-card h3{margin:0;font-size:1rem}
.dash-card header>div{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}
.dash-card-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;padding:12px 16px;border-top:1px solid rgba(148,163,184,.14)}
.dash-card-stats span{display:grid;gap:2px;min-width:0}
.dash-card-stats b{font-size:1rem}
.dash-empty{display:grid;place-items:center;min-height:128px;margin:14px;color:var(--muted);border:1px dashed rgba(148,163,184,.28);border-radius:14px;background:rgba(255,255,255,.025);text-align:center}
.dash-donut-wrap{display:grid;grid-template-columns:minmax(116px,150px) minmax(0,1fr);gap:16px;align-items:center;padding:18px}
.dash-donut{display:grid;place-items:center;align-content:center;aspect-ratio:1;border-radius:999px;position:relative}
.dash-donut:after{content:"";position:absolute;inset:22%;border-radius:999px;background:var(--panel)}
.dash-donut span,.dash-donut small{position:relative;z-index:1}
.dash-donut span{font-size:1.35rem;font-weight:900}.dash-donut small{color:var(--muted)}
.dash-legend{display:grid;gap:8px}.dash-legend div{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:8px;align-items:center;color:var(--muted);font-size:.86rem}.dash-legend i{width:10px;height:10px;border-radius:999px;background:var(--swatch)}.dash-legend b{color:var(--text)}
.dash-bars{display:grid;gap:10px;padding:18px}.dash-bars div{display:grid;grid-template-columns:minmax(86px,1fr) minmax(90px,2fr) auto;gap:10px;align-items:center;color:var(--muted);font-size:.86rem}.dash-bars i{height:9px;width:var(--w);min-width:6px;max-width:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand),#38bdf8)}.dash-bars b{color:var(--text)}
.dash-spark{display:flex;align-items:end;gap:8px;height:152px;padding:20px}.dash-spark i{flex:1;min-width:10px;border-radius:999px;background:linear-gradient(180deg,var(--brand),#22c55e)}
.dash-table-grid{display:grid;gap:14px}.dash-table-card{padding:0}.dash-table-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.dash-table-tools input{min-height:38px;border-radius:12px}.dash-table-tools label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:800}.dash-table-tools select{min-height:34px;border-radius:10px}.dash-table tr[data-dashboard-target]{cursor:pointer}.dash-table tr[data-dashboard-target]:hover td{background:rgba(124,58,237,.08)}
.dash-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 14px;color:var(--muted)}.dash-pager button{min-height:34px;border-radius:10px}
.dash-loading{display:grid;place-items:center;min-height:260px;color:var(--muted);border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.035)}
@media(max-width:1180px){.profile-dashboard-suite{grid-template-columns:1fr}.dash-rail{position:relative;top:auto;display:flex;overflow:auto}.dash-rail button{white-space:nowrap}.dash-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dash-page-head,.dash-search-row,.dash-table-head{display:grid;grid-template-columns:1fr}.dash-actions,.dash-table-tools{justify-content:flex-start}.dash-kpi-grid,.dash-card-grid{grid-template-columns:1fr}.dash-donut-wrap{grid-template-columns:1fr}.dash-bars div{grid-template-columns:1fr auto}.dash-bars i{grid-column:1/-1;width:var(--w)}.profile-workspace-tabs{grid-template-columns:1fr 1fr}.profile-workspace-tabs button{justify-content:flex-start;text-align:left}}

/* v637: standalone HRIS product UI for /profile */
html[data-product-ui="profile"]{
  --profile-bg:#f8fafc;
  --profile-surface:#ffffff;
  --profile-soft:#f9fbff;
  --profile-text:#0f172a;
  --profile-muted:#64748b;
  --profile-line:#e2e8f0;
  --profile-line-strong:#cbd5e1;
  --profile-primary:#4c1d95;
  --profile-primary-2:#5b21b6;
  --profile-blue:#2563eb;
  --profile-green:#16a34a;
  --profile-orange:#f97316;
  --profile-red:#ef4444;
  --profile-shadow:0 8px 22px rgba(15,23,42,.07);
  --bg:var(--profile-bg);
  --bg2:var(--profile-bg);
  --panel:var(--profile-surface);
  --panel2:var(--profile-soft);
  --text:var(--profile-text);
  --muted:var(--profile-muted);
  --border:var(--profile-line);
  --brand:var(--profile-primary);
  --accent:var(--profile-primary-2);
  color-scheme:light;
}
html[data-product-ui="profile"][data-profile-mode="dark"]{
  --profile-bg:#0f172a;
  --profile-surface:#111827;
  --profile-soft:#172033;
  --profile-text:#eef2ff;
  --profile-muted:#a7b2c7;
  --profile-line:#253149;
  --profile-line-strong:#334155;
  --profile-primary:#8b5cf6;
  --profile-primary-2:#a78bfa;
  --profile-shadow:0 18px 44px rgba(0,0,0,.32);
  color-scheme:dark;
}

html[data-product-ui="profile"][data-profile-palette="slate-sync"]{--profile-primary:#2563eb;--profile-primary-2:#0f172a;--brand:#2563eb;--accent:#0f172a}
html[data-product-ui="profile"][data-profile-palette="evergreen-ops"]{--profile-primary:#0f766e;--profile-primary-2:#16a34a;--brand:#0f766e;--accent:#16a34a}
html[data-product-ui="profile"][data-profile-palette="sunrise-talent"]{--profile-primary:#ea580c;--profile-primary-2:#e11d48;--brand:#ea580c;--accent:#e11d48}
html[data-product-ui="profile"][data-profile-palette="coastal-clarity"]{--profile-primary:#0891b2;--profile-primary-2:#4f46e5;--brand:#0891b2;--accent:#4f46e5}
html[data-product-ui="profile"][data-profile-mode="light"][data-profile-palette="slate-sync"]{--profile-bg:#f8fafc;--profile-surface:#ffffff;--profile-soft:#eef2ff;--profile-line:#dbe3ef;--profile-line-strong:#b6c4d8}
html[data-product-ui="profile"][data-profile-mode="light"][data-profile-palette="evergreen-ops"]{--profile-bg:#f6fbf8;--profile-surface:#ffffff;--profile-soft:#ecfdf5;--profile-line:#d7eadf;--profile-line-strong:#b8d8c6}
html[data-product-ui="profile"][data-profile-mode="light"][data-profile-palette="sunrise-talent"]{--profile-bg:#fffaf5;--profile-surface:#ffffff;--profile-soft:#fff1e7;--profile-line:#f3dccb;--profile-line-strong:#e9c1a7}
html[data-product-ui="profile"][data-profile-mode="light"][data-profile-palette="coastal-clarity"]{--profile-bg:#f5fbff;--profile-surface:#ffffff;--profile-soft:#eaf8ff;--profile-line:#d0e7f4;--profile-line-strong:#aad0e6}
html[data-product-ui="profile"][data-profile-mode="dark"][data-profile-palette="slate-sync"]{--profile-bg:#0b1220;--profile-surface:#111827;--profile-soft:#172033;--profile-primary:#60a5fa;--profile-primary-2:#93c5fd;--brand:#60a5fa;--accent:#93c5fd}
html[data-product-ui="profile"][data-profile-mode="dark"][data-profile-palette="evergreen-ops"]{--profile-bg:#071a17;--profile-surface:#0f2420;--profile-soft:#13332e;--profile-primary:#2dd4bf;--profile-primary-2:#86efac;--brand:#2dd4bf;--accent:#86efac}
html[data-product-ui="profile"][data-profile-mode="dark"][data-profile-palette="sunrise-talent"]{--profile-bg:#1f120d;--profile-surface:#2a1812;--profile-soft:#3a2118;--profile-primary:#fb923c;--profile-primary-2:#fb7185;--brand:#fb923c;--accent:#fb7185}
html[data-product-ui="profile"][data-profile-mode="dark"][data-profile-palette="coastal-clarity"]{--profile-bg:#071922;--profile-surface:#0e2230;--profile-soft:#132d3f;--profile-primary:#22d3ee;--profile-primary-2:#818cf8;--brand:#22d3ee;--accent:#818cf8}
body.profile-product-route{margin:0;background:var(--profile-bg)!important;color:var(--profile-text)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.profile-product-route:before,body.profile-product-route:after{display:none!important}
body.profile-product-route .app-shell{min-height:100vh;background:var(--profile-bg)!important;color:var(--profile-text)!important}
body.profile-product-route .site-footer{display:none}
body.profile-product-route .view{max-width:none;margin:0;padding:0;background:var(--profile-bg)!important}
body.profile-product-route{--profile-rail-width:clamp(204px,15vw,236px)}
body.profile-product-route .site-header{
  position:sticky;top:0;z-index:90;height:64px;display:grid;grid-template-columns:var(--profile-rail-width) minmax(0,1fr);
  gap:0;align-items:center;padding:0;border:0;border-bottom:1px solid var(--profile-line);
  background:color-mix(in srgb,var(--profile-surface) 94%,transparent)!important;box-shadow:none;backdrop-filter:blur(14px)
}
body.profile-product-route .brand{width:var(--profile-rail-width);height:64px;display:flex;align-items:center;gap:10px;padding:0 22px;border-right:1px solid var(--profile-line);color:var(--profile-text);text-decoration:none}
body.profile-product-route .brand img{width:28px;height:28px;object-fit:contain}
body.profile-product-route .brand small{display:none}
body.profile-product-route .brand strong{font-size:.95rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.profile-product-route .site-nav{display:none!important}
body.profile-product-route .nav-toggle{position:absolute;left:16px;top:18px;width:34px;height:34px;overflow:hidden;text-indent:-999px;border:0;background:transparent}
body.profile-product-route .nav-toggle:before,body.profile-product-route .nav-toggle:after{content:"";position:absolute;left:8px;right:8px;height:2px;border-radius:99px;background:#64748b}
body.profile-product-route .nav-toggle:before{top:11px;box-shadow:0 7px 0 #64748b}
body.profile-product-route .nav-toggle:after{top:25px}
body.profile-product-route .header-actions{height:64px;display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto auto;gap:12px;align-items:center;justify-content:end;padding:0 24px;color:var(--profile-text)}
body.profile-product-route .profile-top-search{justify-self:center;width:min(720px,52vw);height:42px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:0 10px 0 14px;border:1px solid var(--profile-line-strong);border-radius:10px;background:var(--profile-surface);box-shadow:0 1px 2px rgba(15,23,42,.04)}
body.profile-product-route .profile-top-search span{width:16px;height:16px;overflow:hidden;text-indent:-999px;border:2px solid var(--profile-muted);border-radius:999px;position:relative}
body.profile-product-route .profile-top-search span:after{content:"";position:absolute;width:7px;height:2px;right:-5px;bottom:-3px;background:var(--profile-muted);transform:rotate(45deg);border-radius:99px}
body.profile-product-route .profile-top-search input{width:100%;height:38px;padding:0;border:0;background:transparent;color:var(--profile-text);box-shadow:none}
body.profile-product-route .profile-top-search input:focus{outline:none}
body.profile-product-route .profile-top-search kbd{padding:3px 6px;border:1px solid var(--profile-line);border-radius:6px;background:var(--profile-soft);color:var(--profile-muted);font-size:.72rem}
body.profile-product-route .header-actions .btn,body.profile-product-route .user-chip{height:38px;border:1px solid var(--profile-line);border-radius:9px;background:var(--profile-surface);color:var(--profile-text);box-shadow:none}
body.profile-product-route .header-chat-btn{border-color:transparent;background:transparent}
body.profile-product-route .header-chat-btn span:not(.chat-bubble-icon){display:none}
body.profile-product-route .header-time-clock-btn{display:none!important}
body.profile-product-route .admin-btn{color:var(--profile-primary)!important}
body.profile-product-route .user-chip{display:flex;gap:10px;padding:4px 8px;text-decoration:none}
body.profile-product-route .user-chip .avatar{width:32px;height:32px}
body.profile-product-route .profile-product-shell{min-height:calc(100vh - 64px);padding:0 0 0 var(--profile-rail-width);background:var(--profile-bg)}
body.profile-product-route #profileMount{min-height:calc(100vh - 64px);background:var(--profile-bg);color:var(--profile-text)}
body.profile-product-route .profile-product-loading{padding:32px}
body.profile-product-route .profile-head.enterprise-head{display:none}
body.profile-product-route .profile-workspace-tabs{
  position:fixed;left:0;top:64px;bottom:0;z-index:80;width:var(--profile-rail-width);display:flex;flex-direction:column;gap:7px;
  margin:0;padding:16px 14px;border:0;border-right:1px solid var(--profile-line);border-radius:0;background:var(--profile-surface);
  box-shadow:none;backdrop-filter:none;overflow:auto
}
body.profile-product-route .profile-workspace-tabs button{
  width:100%;min-height:42px;display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid transparent;border-radius:10px;
  background:transparent;color:#475569;font-size:.93rem;font-weight:700;text-align:left;line-height:1.1;box-shadow:none
}
body.profile-product-route .profile-workspace-tabs button:hover,body.profile-product-route .profile-workspace-tabs button:focus-visible,body.profile-product-route .profile-workspace-tabs button.active{
  outline:none;background:#f3e8ff;color:var(--profile-primary);border-color:#f3e8ff
}
html[data-profile-mode="dark"] body.profile-product-route .profile-workspace-tabs button:hover,
html[data-profile-mode="dark"] body.profile-product-route .profile-workspace-tabs button:focus-visible,
html[data-profile-mode="dark"] body.profile-product-route .profile-workspace-tabs button.active{background:rgba(124,58,237,.18);border-color:rgba(124,58,237,.20);color:#c4b5fd}
body.profile-product-route .profile-workspace-tabs .motif-icon,body.profile-product-route .profile-workspace-tabs .chat-bubble-icon{width:21px;height:21px;flex:0 0 auto;color:currentColor}
body.profile-product-route .profile-workspace-tabs .motif-img{filter:none!important}
body.profile-product-route .profile-workspace-tabs small{margin-left:auto;padding:2px 7px;border:0;border-radius:999px;background:#eef2ff;color:var(--profile-primary);font-size:.66rem}
body.profile-product-route .profile-rail-spacer{flex:1 1 auto;min-height:18px}
body.profile-product-route .profile-rail-footer{display:grid;gap:7px;padding-top:12px;border-top:1px solid var(--profile-line)}
body.profile-product-route .profile-settings-button small{display:block;margin-left:auto;background:transparent;color:var(--profile-muted)}
body.profile-product-route #portalTabMount{width:100%;max-width:none;padding:clamp(18px,2vw,30px) clamp(20px,2.8vw,44px) 40px;background:var(--profile-bg);overflow-x:hidden}
body.profile-product-route .profile-dashboard-suite{display:block;margin:0;color:var(--profile-text)}
body.profile-product-route .profile-dashboard-suite>.dash-rail{display:none}
body.profile-product-route .dash-main{display:grid;gap:16px;width:100%;min-width:0}
body.profile-product-route .dash-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:0}
body.profile-product-route .dash-page-head h1{margin:0 0 6px;color:var(--profile-text);font-size:1.82rem;font-weight:850;letter-spacing:0}
body.profile-product-route .dash-page-head p{margin:0;color:var(--profile-muted);font-size:.98rem}
body.profile-product-route .dash-actions{display:flex;gap:10px;justify-content:flex-end}
body.profile-product-route .dash-actions .btn,body.profile-product-route .dash-search-row button,.profile-product-login .btn{min-height:40px;border-radius:9px;border:1px solid var(--profile-line);background:var(--profile-surface);color:var(--profile-text);box-shadow:0 1px 2px rgba(15,23,42,.04);font-weight:750}
body.profile-product-route .dash-actions .motif-cta,body.profile-product-route .dash-search-row button:first-of-type{border-color:var(--profile-primary);background:linear-gradient(180deg,var(--profile-primary-2),var(--profile-primary));color:#fff}
body.profile-product-route .dash-search-row{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px}
body.profile-product-route .dash-search-row input{height:42px;border:1px solid var(--profile-line);border-radius:10px;background:var(--profile-surface);color:var(--profile-text);box-shadow:0 1px 2px rgba(15,23,42,.04)}
body.profile-product-route .dash-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:12px}
body.profile-product-route .dash-kpi,body.profile-product-route .portal-kpi{
  min-height:104px;padding:16px;border:1px solid var(--profile-line);border-radius:10px;background:var(--profile-surface);box-shadow:var(--profile-shadow);color:var(--profile-text)
}
body.profile-product-route .dash-kpi strong,body.profile-product-route .portal-kpi strong{font-size:1.55rem;color:var(--profile-text)}
body.profile-product-route .dash-kpi span,body.profile-product-route .dash-kpi small{color:var(--profile-muted)}
body.profile-product-route .dash-kpi i{width:38px;height:38px;border-radius:10px;background:#f3e8ff;color:var(--profile-primary)}
body.profile-product-route .dash-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px}
body.profile-product-route .dash-card,body.profile-product-route .dash-table-card,body.profile-product-route .portal-section,body.profile-product-route .it-panel{
  border:1px solid var(--profile-line);border-radius:10px;background:var(--profile-surface);box-shadow:var(--profile-shadow);color:var(--profile-text);overflow:hidden
}
body.profile-product-route .dash-card{min-height:256px;display:grid;grid-template-rows:auto minmax(140px,1fr) auto}
body.profile-product-route .dash-card header,body.profile-product-route .dash-table-head{padding:14px 16px;border-bottom:1px solid var(--profile-line);background:var(--profile-surface)}
body.profile-product-route .dash-card h3,body.profile-product-route .dash-table-card h3{color:var(--profile-text);font-size:1rem}
body.profile-product-route .dash-card-stats{border-top:1px solid var(--profile-line)}
body.profile-product-route .dash-donut:after{background:var(--profile-surface)}
body.profile-product-route .dash-bars div,body.profile-product-route .dash-legend div,body.profile-product-route .dash-empty{color:var(--profile-muted)}
body.profile-product-route .dash-empty{border-color:var(--profile-line);background:var(--profile-soft)}
body.profile-product-route .profile-report-table-wrap{border-color:var(--profile-line);border-radius:0;border-left:0;border-right:0}
body.profile-product-route .profile-report-table th{background:var(--profile-soft);color:var(--profile-muted)}
body.profile-product-route .profile-report-table td{background:var(--profile-surface);color:var(--profile-text);border-bottom-color:var(--profile-line)}
body.profile-product-route .dash-pager{background:var(--profile-surface);color:var(--profile-muted)}
body.profile-product-route input,body.profile-product-route select,body.profile-product-route textarea{border-color:var(--profile-line);background:var(--profile-surface);color:var(--profile-text)}
body.profile-product-route .btn,body.profile-product-route button{font-family:inherit}
body.profile-product-route .profile-messenger{--panel:var(--profile-surface);--panel2:var(--profile-soft);--text:var(--profile-text);--muted:var(--profile-muted);--border:var(--profile-line);--brand:var(--profile-primary)}
body.profile-rail-collapsed .profile-product-shell{padding-left:76px}
body.profile-rail-collapsed .site-header{grid-template-columns:76px minmax(0,1fr)}
body.profile-rail-collapsed .brand{width:76px;padding:0 18px}
body.profile-rail-collapsed .brand span{display:none}
body.profile-rail-collapsed .profile-workspace-tabs{width:76px;padding-inline:10px}
body.profile-rail-collapsed .profile-workspace-tabs button{justify-content:center;padding-inline:8px}
body.profile-rail-collapsed .profile-workspace-tabs button span,body.profile-rail-collapsed .profile-workspace-tabs button small{display:none}
.profile-product-login{max-width:520px;margin:12vh auto;padding:28px;border:1px solid var(--profile-line);border-radius:14px;background:var(--profile-surface);box-shadow:var(--profile-shadow)}
@media(max-width:1180px){
  body.profile-product-route .site-header{grid-template-columns:80px minmax(0,1fr)}
  body.profile-product-route .brand{width:80px;padding:0 18px}
  body.profile-product-route .brand span{display:none}
  body.profile-product-route .profile-product-shell{padding-left:80px}
  body.profile-product-route .profile-workspace-tabs{width:80px;padding-inline:10px}
  body.profile-product-route .profile-workspace-tabs button{justify-content:center;padding-inline:8px}
  body.profile-product-route .profile-workspace-tabs button span,body.profile-product-route .profile-workspace-tabs button small{display:none}
  body.profile-product-route .dash-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:780px){
  body.profile-product-route .site-header{height:auto;min-height:64px;grid-template-columns:1fr;padding:8px 12px}
  body.profile-product-route .brand{display:none}
  body.profile-product-route .header-actions{height:auto;grid-template-columns:1fr auto auto;gap:8px;padding:0}
  body.profile-product-route .profile-top-search{grid-column:1/-1;width:100%}
  body.profile-product-route .header-actions .admin-btn,body.profile-product-route .header-actions .ghost,body.profile-product-route .user-chip span{display:none}
  body.profile-product-route .profile-product-shell{padding-left:0;padding-bottom:76px}
  body.profile-product-route .profile-workspace-tabs{top:auto;right:0;bottom:0;width:auto;height:70px;display:flex;flex-direction:row;gap:4px;padding:8px;border-top:1px solid var(--profile-line);border-right:0;overflow:auto}
  body.profile-product-route .profile-workspace-tabs button{min-width:58px;width:auto;min-height:52px;display:grid;place-items:center;gap:3px;padding:6px}
  body.profile-product-route .profile-workspace-tabs button span{display:block;font-size:.66rem;max-width:64px;white-space:nowrap}
  body.profile-product-route .profile-workspace-tabs button small,.profile-rail-spacer,.profile-collapse-button{display:none!important}
  body.profile-product-route #portalTabMount{padding:18px 14px}
  body.profile-product-route .dash-page-head,body.profile-product-route .dash-search-row,body.profile-product-route .dash-table-head{display:grid;grid-template-columns:1fr}
  body.profile-product-route .dash-actions,body.profile-product-route .dash-table-tools{justify-content:flex-start}
  body.profile-product-route .dash-card-grid,body.profile-product-route .dash-kpi-grid{grid-template-columns:1fr}
}

/* v638: mockup-matched dense dashboard system */
body.profile-product-route .profile-dashboard-command-center{padding:0;background:transparent;border:0;box-shadow:none}
body.profile-product-route .mockup-dashboard-suite>.dash-rail{display:none}
body.profile-product-route .dash-main{gap:16px;max-width:1720px;margin:0 auto}
body.profile-product-route .dash-kpi-strip{display:grid;gap:12px}
body.profile-product-route .dash-kpi-strip.five{grid-template-columns:repeat(5,minmax(0,1fr))}
body.profile-product-route .dash-kpi-strip.six{grid-template-columns:repeat(6,minmax(0,1fr))}
body.profile-product-route .dash-kpi-strip.seven{grid-template-columns:repeat(7,minmax(0,1fr))}
body.profile-product-route .dash-kpi{min-height:88px;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:14px}
body.profile-product-route .dash-kpi i{display:grid;place-items:center}
body.profile-product-route .dash-kpi i .motif-icon{width:22px;height:22px}
body.profile-product-route .dash-kpi strong{display:block;margin-top:4px;font-size:1.45rem;line-height:1}
body.profile-product-route .dash-overview-grid,body.profile-product-route .dash-directory-grid,body.profile-product-route .dash-hr-grid,body.profile-product-route .dash-it-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
body.profile-product-route .dash-three-grid,.dash-bottom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
body.profile-product-route .dash-top-card-grid.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
body.profile-product-route .dash-finance-grid{display:grid;grid-template-columns:1.2fr 1fr 1.1fr;gap:14px}
body.profile-product-route .dash-table-split{display:grid;grid-template-columns:1fr 1fr;gap:14px}
body.profile-product-route .dash-panel{min-height:220px;border:1px solid var(--profile-line);border-radius:10px;background:var(--profile-surface);box-shadow:var(--profile-shadow);overflow:hidden;color:var(--profile-text)}
body.profile-product-route .dash-panel>header{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--profile-line)}
body.profile-product-route .dash-panel>header>div{display:flex;align-items:center;gap:9px;min-width:0}
body.profile-product-route .dash-panel h3{margin:0;font-size:1rem;line-height:1.2;color:var(--profile-text)}
body.profile-product-route .dash-panel h4{margin:0 0 10px;color:var(--profile-text)}
body.profile-product-route .dash-panel>.dash-donut-wrap,
body.profile-product-route .dash-panel>.dash-bars,
body.profile-product-route .dash-panel>.dash-list,
body.profile-product-route .dash-panel>.dash-empty,
body.profile-product-route .dash-panel>.dash-org-chart,
body.profile-product-route .dash-panel>.dash-two-charts,
body.profile-product-route .dash-panel>.dash-metric-row,
body.profile-product-route .dash-panel>.dash-health-bars,
body.profile-product-route .dash-panel>.dash-aging{margin:16px}
body.profile-product-route .dash-module-card{display:grid;grid-template-rows:auto auto 1fr auto;min-height:294px}
body.profile-product-route .dash-module-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid var(--profile-line)}
body.profile-product-route .dash-module-stats span{padding:12px 14px;border-right:1px solid var(--profile-line)}
body.profile-product-route .dash-module-stats span:last-child{border-right:0}
body.profile-product-route .dash-module-stats small{display:block;color:var(--profile-muted);font-weight:750}
body.profile-product-route .dash-module-stats b{display:block;margin-top:4px;font-size:1.12rem}
body.profile-product-route .dash-module-body{padding:14px 16px;min-height:150px}
body.profile-product-route .dash-panel footer{padding:12px 16px;border-top:1px solid var(--profile-line);text-align:center}
body.profile-product-route .dash-link,.dash-dots{border:0;background:transparent;color:var(--profile-primary);font-weight:800;cursor:pointer}
body.profile-product-route .dash-dots{color:var(--profile-muted);font-size:1rem}
body.profile-product-route .dash-filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
body.profile-product-route .dash-filter-row input{flex:1 1 360px;min-height:42px;border-radius:10px;padding:0 14px}
body.profile-product-route .dash-filter-row button,.dash-segment{min-height:42px;border:1px solid var(--profile-line);border-radius:10px;background:var(--profile-surface);color:var(--profile-text);padding:0 14px;font-weight:800}
body.profile-product-route .dash-filter-row span:last-child{margin-left:auto;color:var(--profile-muted)}
body.profile-product-route .dash-segment{display:inline-flex;padding:0;overflow:hidden}
body.profile-product-route .dash-segment button{border:0;border-radius:0;background:transparent}
body.profile-product-route .dash-segment button.active{background:#ede9fe;color:var(--profile-primary)}
body.profile-product-route .dash-list{display:grid;gap:0}
body.profile-product-route .dash-list button{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px 16px;border:0;border-bottom:1px solid var(--profile-line);background:transparent;color:var(--profile-text);text-align:left}
body.profile-product-route .dash-list.static button{cursor:default}
body.profile-product-route .dash-list button:last-child{border-bottom:0}
body.profile-product-route .dash-list b{display:block;color:var(--profile-text)}
body.profile-product-route .dash-list small{display:block;color:var(--profile-muted)}
body.profile-product-route .dash-status{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 8px;border-radius:7px;font-size:.74rem;font-weight:850}
body.profile-product-route .dash-status.tone-success{background:#dcfce7;color:#15803d}
body.profile-product-route .dash-status.tone-warning{background:#ffedd5;color:#c2410c}
body.profile-product-route .dash-status.tone-danger{background:#fee2e2;color:#dc2626}
body.profile-product-route .dash-status.tone-info{background:#dbeafe;color:#2563eb}
body.profile-product-route .dash-person-cell{display:flex;align-items:center;gap:10px}
body.profile-product-route .dash-person-cell .avatar{width:30px;height:30px}
body.profile-product-route .dash-person-cell small{display:block;color:var(--profile-muted)}
body.profile-product-route .dash-big{display:block;margin:16px;font-size:1.65rem;color:var(--profile-text)}
body.profile-product-route .dash-panel p{margin:0 16px 12px;color:var(--profile-muted)}
body.profile-product-route .dash-progress{height:8px;margin:12px 16px;border-radius:999px;background:var(--profile-line);overflow:hidden}
body.profile-product-route .dash-progress.tall{height:10px}
body.profile-product-route .dash-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--profile-green),var(--profile-primary-2))}
body.profile-product-route .dash-workflow{display:flex;align-items:center;gap:8px;margin:18px 16px}
body.profile-product-route .dash-workflow span{font-size:.78rem;font-weight:850;color:var(--profile-text)}
body.profile-product-route .dash-workflow i{height:2px;flex:1;background:linear-gradient(90deg,var(--profile-green),var(--profile-primary-2))}
body.profile-product-route .dash-alert-bar{min-height:68px;display:grid;grid-template-columns:auto 1fr auto;align-items:center}
body.profile-product-route .dash-alert-bar header{border-bottom:0}
body.profile-product-route .dash-alert-bar p{margin:0}
body.profile-product-route .dash-two-charts{display:grid;grid-template-columns:1fr 1.3fr;gap:18px}
body.profile-product-route .dash-schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px}
body.profile-product-route .dash-schedule-layout main,body.profile-product-route .dash-schedule-layout aside{display:grid;gap:14px;align-content:start}
body.profile-product-route .dash-schedule-grid-card{border:1px solid var(--profile-line);border-radius:10px;background:var(--profile-surface);box-shadow:var(--profile-shadow);overflow:hidden}
body.profile-product-route .dash-schedule-grid{display:grid;grid-template-columns:220px repeat(7,minmax(86px,1fr)) 76px;overflow:auto}
body.profile-product-route .dash-schedule-grid>div{min-height:54px;padding:9px 10px;border-right:1px solid var(--profile-line);border-bottom:1px solid var(--profile-line);background:var(--profile-surface)}
body.profile-product-route .dash-schedule-grid .head{min-height:38px;background:var(--profile-soft);color:var(--profile-muted);font-weight:850}
body.profile-product-route .dash-schedule-grid .person{display:flex;align-items:center;gap:9px}
body.profile-product-route .dash-schedule-grid .person .avatar{width:32px;height:32px}
body.profile-product-route .dash-schedule-grid .person small{display:block;color:var(--profile-muted)}
body.profile-product-route .dash-schedule-grid .shift{display:inline-block;border-left:3px solid var(--profile-green);padding-left:7px;color:var(--profile-text);font-size:.78rem}
body.profile-product-route .dash-schedule-grid .shift.off{border-color:var(--profile-orange);background:#fff7ed;color:#c2410c;padding:6px 8px;border-radius:6px}
body.profile-product-route .dash-grid-empty{grid-column:1/-1;display:grid;place-items:center;color:var(--profile-muted)}
body.profile-product-route .dash-hr-table-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px}
body.profile-product-route .dash-hr-table-layout aside{display:grid;gap:14px;align-content:start}
body.profile-product-route .dash-metric-row{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--profile-line);border-radius:9px;overflow:hidden}
body.profile-product-route .dash-metric-row span{padding:14px;text-align:center;border-right:1px solid var(--profile-line)}
body.profile-product-route .dash-metric-row span:last-child{border-right:0}
body.profile-product-route .dash-metric-row b{display:block;font-size:1.4rem}
body.profile-product-route .dash-health-bars{display:grid;gap:12px}
body.profile-product-route .dash-health-bars div{display:grid;grid-template-columns:90px 1fr 48px;gap:10px;align-items:center}
body.profile-product-route .dash-health-bars i{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--profile-green),var(--profile-orange),var(--profile-red));width:var(--w)}
body.profile-product-route .dash-aging{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--profile-line);border-radius:9px;overflow:hidden}
body.profile-product-route .dash-aging span{padding:14px;text-align:center;border-right:1px solid var(--profile-line)}
body.profile-product-route .dash-aging span:last-child{border-right:0}
body.profile-product-route .dash-aging b,body.profile-product-route .dash-aging strong{display:block}
body.profile-product-route .dash-table-card{min-height:0}
body.profile-product-route .dash-table-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
body.profile-product-route .dash-table-tools input{min-height:38px;border-radius:9px;padding:0 12px}
body.profile-product-route .dash-table-tools select{min-height:34px;border-radius:8px}
body.profile-product-route .dash-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--profile-line)}
body.profile-product-route .dash-pager div{display:flex;align-items:center;gap:7px}
body.profile-product-route .dash-pager button{min-height:32px;border:1px solid var(--profile-line);border-radius:8px;background:var(--profile-surface);color:var(--profile-text)}
body.profile-product-route .profile-messenger{left:auto;right:22px;bottom:22px;top:auto;z-index:1800;display:block;filter:none}
body.profile-product-route .profile-messenger .messenger-toggle{position:relative;z-index:1810;writing-mode:horizontal-tb;transform:none;min-height:44px;border:0;border-radius:999px;background:linear-gradient(180deg,var(--profile-primary-2),var(--profile-primary));color:#fff;padding:0 18px;display:inline-flex;align-items:center;gap:10px;box-shadow:0 14px 30px rgba(91,33,182,.28)}
body.profile-product-route .profile-messenger .messenger-toggle b{transform:none;background:#ef4444;color:#fff}
body.profile-product-route .profile-messenger .messenger-panel{position:absolute;right:0;bottom:58px;width:min(820px,calc(100vw - 44px));height:min(680px,calc(100vh - 110px));max-height:none;border-radius:16px;border:1px solid var(--profile-line);box-shadow:0 24px 70px rgba(15,23,42,.22)}
body.profile-product-route .profile-messenger.collapsed .messenger-panel{transform:translateY(16px);opacity:0;pointer-events:none}

/* v639: UI-only mockup correction pass for dense HRIS dashboards */
.dashboard-icon{display:inline-block;width:20px;height:20px;flex:0 0 auto;color:currentColor;vertical-align:middle}
.dash-line-icon{width:20px;height:20px}
.header-chat-btn .dashboard-icon{width:20px;height:20px}
body.profile-product-route .profile-workspace-tabs .dashboard-icon,
body.profile-product-route .dash-rail .dashboard-icon{width:19px;height:19px}
body.profile-product-route .profile-workspace-tabs .motif-icon{display:none!important}
body.profile-product-route #portalTabMount{padding:20px 22px 30px;background:#f8fafc}
body.profile-product-route .profile-dashboard-command-center{margin:0!important;padding:0!important}
body.profile-product-route .dash-main{gap:14px;max-width:none;width:100%;margin:0}
body.profile-product-route .dash-page-head{align-items:center;min-height:52px}
body.profile-product-route .dash-page-head h1{font-size:1.64rem;line-height:1.05;margin:0 0 5px;font-weight:900}
body.profile-product-route .dash-page-head p{font-size:.88rem;line-height:1.35}
body.profile-product-route .dash-actions .btn{min-height:38px;padding:0 14px}
body.profile-product-route .dash-actions .motif-cta{background:linear-gradient(180deg,#5b21b6,#4c1d95);border-color:#4c1d95}
body.profile-product-route .dash-kpi-strip{gap:10px}
body.profile-product-route .dash-kpi-strip.five{grid-template-columns:repeat(5,minmax(0,1fr))}
body.profile-product-route .dash-kpi-strip.six{grid-template-columns:repeat(6,minmax(0,1fr))}
body.profile-product-route .dash-kpi-strip.seven{grid-template-columns:repeat(7,minmax(0,1fr))}
body.profile-product-route .dash-kpi{min-height:82px;padding:12px 14px;border-radius:8px;box-shadow:0 6px 18px rgba(15,23,42,.06);grid-template-columns:auto minmax(0,1fr)}
body.profile-product-route .dash-kpi i{width:34px;height:34px;border-radius:9px;background:#ede9fe;color:#4c1d95}
body.profile-product-route .dash-kpi i .dashboard-icon{width:21px;height:21px}
body.profile-product-route .dash-kpi strong{font-size:1.34rem;margin-top:3px}
body.profile-product-route .dash-kpi span{font-size:.78rem;font-weight:850}
body.profile-product-route .dash-kpi small{font-size:.72rem;line-height:1.2}
body.profile-product-route .dash-kpi.tone-success i{background:#dcfce7;color:#16a34a}
body.profile-product-route .dash-kpi.tone-warning i{background:#ffedd5;color:#f97316}
body.profile-product-route .dash-kpi.tone-danger i{background:#fee2e2;color:#dc2626}
body.profile-product-route .dash-kpi.tone-info i{background:#dbeafe;color:#2563eb}
body.profile-product-route .dash-overview-grid,
body.profile-product-route .dash-directory-grid,
body.profile-product-route .dash-hr-grid,
body.profile-product-route .dash-it-grid,
body.profile-product-route .dash-three-grid,
body.profile-product-route .dash-bottom-grid{gap:12px}
body.profile-product-route .dash-panel,
body.profile-product-route .dash-card,
body.profile-product-route .dash-table-card,
body.profile-product-route .dash-schedule-grid-card{border-radius:8px;box-shadow:0 7px 20px rgba(15,23,42,.06)}
body.profile-product-route .dash-panel{min-height:205px}
body.profile-product-route .dash-panel>header{min-height:48px;padding:11px 14px}
body.profile-product-route .dash-panel>header .dashboard-icon{width:19px;height:19px;color:#5b21b6}
body.profile-product-route .dash-panel h3{font-size:.95rem;font-weight:900}
body.profile-product-route .dash-module-card{min-height:262px}
body.profile-product-route .dash-module-stats span{padding:10px 12px}
body.profile-product-route .dash-module-stats small{font-size:.72rem}
body.profile-product-route .dash-module-stats b{font-size:1rem}
body.profile-product-route .dash-module-body{padding:10px 12px;min-height:132px}
body.profile-product-route .dash-panel footer{padding:10px 14px}
body.profile-product-route .dash-donut-wrap{grid-template-columns:128px minmax(0,1fr);gap:12px;padding:12px}
body.profile-product-route .dash-donut{max-width:128px}
body.profile-product-route .dash-donut span{font-size:1.2rem}
body.profile-product-route .dash-legend{gap:6px}
body.profile-product-route .dash-legend div{font-size:.78rem}
body.profile-product-route .dash-bars{gap:8px;padding:12px}
body.profile-product-route .dash-bars div{font-size:.78rem;grid-template-columns:minmax(80px,1fr) minmax(80px,2fr) auto;gap:8px}
body.profile-product-route .dash-list button{padding:9px 14px}
body.profile-product-route .dash-list b{font-size:.82rem}
body.profile-product-route .dash-list small{font-size:.74rem}
body.profile-product-route .dash-status{min-height:21px;font-size:.68rem;padding:2px 7px}
body.profile-product-route .dash-filter-row{gap:8px}
body.profile-product-route .dash-filter-row input,
body.profile-product-route .dash-filter-row button,
body.profile-product-route .dash-segment{min-height:38px;border-radius:8px}
body.profile-product-route .dash-top-card-grid.four{gap:12px}
body.profile-product-route .dash-top-card-grid.four .dash-panel{min-height:178px}
body.profile-product-route .dash-finance-grid,
body.profile-product-route .dash-table-split,
body.profile-product-route .dash-schedule-layout,
body.profile-product-route .dash-hr-table-layout{gap:12px}
body.profile-product-route .dash-table-head{padding:10px 14px}
body.profile-product-route .dash-table-tools input{min-height:34px}
body.profile-product-route .profile-report-table th{font-size:.72rem;padding:8px 10px}
body.profile-product-route .profile-report-table td{font-size:.78rem;padding:8px 10px}
body.profile-product-route .dash-pager{padding:9px 14px;font-size:.78rem}
body.profile-product-route .dash-alert-bar{min-height:58px}
body.profile-product-route .profile-messenger{right:18px;bottom:18px}
body.profile-product-route.profile-dashboard-mode .profile-head.enterprise-head,
body.profile-dashboard-mode .profile-head.enterprise-head{display:none!important}
body.profile-product-route.profile-dashboard-mode #portalTabMount{padding-top:18px}
body.profile-product-route .dash-kpi.has-spark{grid-template-columns:auto minmax(0,1fr) 104px}
body.profile-product-route .dash-mini-spark{width:96px;height:36px;align-self:center}
body.profile-product-route .dash-mini-spark polyline{fill:none;stroke:#4c1d95;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
body.profile-product-route .dash-org-topology{min-height:176px;display:grid;gap:12px;align-content:center;padding:16px}
body.profile-product-route .dash-org-leader{justify-self:center;display:flex;align-items:center;gap:10px;min-width:210px;padding:10px 12px;border:1px solid var(--profile-line);border-radius:8px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.05)}
body.profile-product-route .dash-org-leader .avatar{width:38px;height:38px}
body.profile-product-route .dash-org-leader b,
body.profile-product-route .dash-org-branches b{display:block;color:var(--profile-text);font-size:.8rem}
body.profile-product-route .dash-org-leader small,
body.profile-product-route .dash-org-branches small{display:block;color:var(--profile-muted);font-size:.7rem}
body.profile-product-route .dash-org-branches{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding-top:16px}
body.profile-product-route .dash-org-branches:before{content:"";position:absolute;top:3px;left:10%;right:10%;height:1px;background:var(--profile-line)}
body.profile-product-route .dash-org-branches button{position:relative;min-height:72px;display:grid;place-items:center;gap:4px;padding:8px;border:1px solid var(--profile-line);border-radius:8px;background:#fff;color:var(--profile-primary);box-shadow:0 3px 10px rgba(15,23,42,.04)}
body.profile-product-route .dash-org-branches button:before{content:"";position:absolute;top:-13px;left:50%;height:12px;width:1px;background:var(--profile-line)}
body.profile-product-route .dash-org-branches .dashboard-icon{width:18px;height:18px}
body.profile-product-route .profile-messenger .messenger-toggle{width:112px;height:42px;min-height:42px;max-height:42px;border-radius:14px!important;padding:0 13px;background:#4c1d95;box-shadow:0 10px 24px rgba(76,29,149,.22);justify-content:center}
body.profile-product-route .profile-messenger .messenger-toggle .dashboard-icon{width:18px;height:18px}
@media(max-width:1280px){
  body.profile-product-route .dash-kpi-strip.five,body.profile-product-route .dash-kpi-strip.six,body.profile-product-route .dash-kpi-strip.seven{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.profile-product-route .dash-overview-grid,body.profile-product-route .dash-directory-grid,body.profile-product-route .dash-hr-grid,body.profile-product-route .dash-it-grid,body.profile-product-route .dash-three-grid,body.profile-product-route .dash-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.profile-product-route .dash-top-card-grid.four,.dash-finance-grid,.dash-table-split,.dash-schedule-layout,.dash-hr-table-layout{grid-template-columns:1fr}
}
@media(max-width:780px){
  body.profile-product-route .dash-kpi-strip.five,body.profile-product-route .dash-kpi-strip.six,body.profile-product-route .dash-kpi-strip.seven,
  body.profile-product-route .dash-overview-grid,body.profile-product-route .dash-directory-grid,body.profile-product-route .dash-hr-grid,body.profile-product-route .dash-it-grid,
  body.profile-product-route .dash-three-grid,body.profile-product-route .dash-bottom-grid{grid-template-columns:1fr}
  body.profile-product-route .dash-schedule-grid{grid-template-columns:180px repeat(7,86px) 66px}
  body.profile-product-route .profile-messenger{right:12px;bottom:82px}
  body.profile-product-route .profile-messenger .messenger-panel{position:fixed;inset:0;width:100vw;height:100vh;border-radius:0}
  body.profile-product-route .dash-kpi.has-spark{grid-template-columns:auto minmax(0,1fr)}
  body.profile-product-route .dash-mini-spark{display:none}
  body.profile-product-route .dash-org-branches{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v641: /profile dashboard cleanup, slim bottom-right messenger launcher, and no Welcome Back banner. */
.profile-head.enterprise-head{display:none!important;}
body.profile-product-route .profile-messenger{
  position:fixed!important;
  inset:auto 0 0 auto!important;
  top:auto!important;
  left:auto!important;
  right:0!important;
  bottom:0!important;
  z-index:4200!important;
  display:block!important;
  pointer-events:none!important;
  filter:none!important;
}
body.profile-product-route .profile-messenger .messenger-toggle{
  position:fixed!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  writing-mode:horizontal-tb!important;
  transform:none!important;
  min-height:0!important;
  height:36px!important;
  min-width:172px!important;
  width:clamp(172px,18vw,260px)!important;
  border-radius:12px 0 0 0!important;
  border:1px solid var(--border)!important;
  border-right:0!important;
  border-bottom:0!important;
  padding:0 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  pointer-events:auto!important;
  box-shadow:0 -8px 22px rgba(0,0,0,.24)!important;
}
body.profile-product-route .profile-messenger .messenger-toggle span,
body.profile-product-route .profile-messenger .messenger-toggle b{
  writing-mode:horizontal-tb!important;
  transform:none!important;
}
body.profile-product-route .profile-messenger .messenger-toggle svg{width:16px!important;height:16px!important;}
body.profile-product-route .profile-messenger .messenger-toggle b{
  min-width:20px!important;
  height:20px!important;
  font-size:11px!important;
  padding:0 5px!important;
}
body.profile-product-route .profile-messenger .messenger-panel{
  position:fixed!important;
  right:0!important;
  bottom:36px!important;
  left:auto!important;
  top:auto!important;
  width:min(920px,calc(100vw - 24px))!important;
  max-width:920px!important;
  height:min(720px,calc(100dvh - 52px))!important;
  max-height:calc(100dvh - 52px)!important;
  border-radius:18px 0 0 0!important;
  pointer-events:auto!important;
}
body.profile-product-route .profile-messenger.collapsed .messenger-panel{
  transform:translateY(14px) scale(.98)!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.profile-product-route .profile-messenger:not(.collapsed) .messenger-toggle{display:none!important;}
@media(max-width:760px){
  body.profile-product-route .profile-messenger .messenger-toggle{right:0!important;bottom:0!important;width:clamp(150px,44vw,220px)!important;height:34px!important;border-radius:12px 0 0 0!important;}
  body.profile-product-route .profile-messenger .messenger-panel{inset:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;border-radius:0!important;}
  body.profile-product-route .profile-messenger.collapsed .messenger-panel{transform:translateY(103%)!important;}
}

/* v642: make Directory dashboard interactive controls visibly actionable */
.dash-table tr[data-directory-open],
.dash-list button[data-directory-open],
.dash-org-leader[data-directory-open],
.dash-org-branches button[data-dashboard-filter-value],
.dash-filter-row button[data-dashboard-clear-search],
.dash-filter-row select[data-dashboard-filter-select]{cursor:pointer}
.dash-table tr[data-directory-open]:hover td{background:rgba(124,58,237,.08)}
.dash-list button[data-directory-open]:hover,
.dash-org-branches button[data-dashboard-filter-value]:hover,
.dash-org-leader[data-directory-open]:hover{transform:translateY(-1px);border-color:rgba(124,58,237,.35);box-shadow:0 10px 24px rgba(15,23,42,.10)}
.dash-filter-select{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:800}
.dash-filter-select select{min-height:36px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);padding:0 12px;font-weight:800}
.dash-filter-clear{border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-weight:900;min-height:36px;padding:0 14px}
.dash-filter-clear:hover{border-color:rgba(124,58,237,.35);color:var(--text)}


/* v643: responsive profile workspace, account menu, and selectable HRIS color themes. */
body.profile-product-route .account-menu-wrap{position:relative;display:flex;align-items:center;min-width:0}
body.profile-product-route .account-menu-button{cursor:pointer;max-width:220px;min-width:0;justify-content:flex-start}
body.profile-product-route .account-menu-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.profile-product-route .account-menu-button i{font-style:normal;color:var(--profile-muted);font-weight:900;margin-left:2px}
body.profile-product-route .account-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:220;min-width:210px;padding:8px;border:1px solid var(--profile-line);border-radius:12px;background:var(--profile-surface);box-shadow:0 18px 44px rgba(15,23,42,.18)}
body.profile-product-route .account-menu button,body.profile-product-route .account-menu a{width:100%;min-height:38px;display:flex;align-items:center;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:var(--profile-text);text-decoration:none;font-weight:750;text-align:left;cursor:pointer}
body.profile-product-route .account-menu button:hover,body.profile-product-route .account-menu button:focus-visible,body.profile-product-route .account-menu a:hover,body.profile-product-route .account-menu a:focus-visible{outline:none;background:color-mix(in srgb,var(--profile-primary) 12%,var(--profile-surface));color:var(--profile-primary)}
.profile-settings-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.42);backdrop-filter:blur(8px)}
.profile-settings-modal{width:min(760px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;border:1px solid var(--profile-line);border-radius:18px;background:var(--profile-surface);color:var(--profile-text);box-shadow:0 24px 70px rgba(15,23,42,.28)}
.profile-settings-modal header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:18px 20px;border-bottom:1px solid var(--profile-line)}
.profile-settings-modal h2,.profile-settings-modal h3{margin:0;color:var(--profile-text)}
.profile-settings-modal p{margin:.35rem 0 0;color:var(--profile-muted)}
.profile-settings-close{width:36px;height:36px;border:1px solid var(--profile-line);border-radius:10px;background:var(--profile-soft);color:var(--profile-text);font-size:1.35rem;line-height:1;cursor:pointer}
.profile-settings-section{padding:18px 20px;border-bottom:1px solid var(--profile-line)}
.profile-segmented{display:inline-grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;margin-top:12px;border:1px solid var(--profile-line);border-radius:12px;background:var(--profile-soft)}
.profile-segmented button{min-width:110px;min-height:38px;border:0;border-radius:9px;background:transparent;color:var(--profile-muted);font-weight:850;cursor:pointer}
.profile-segmented button.active{background:var(--profile-surface);color:var(--profile-primary);box-shadow:0 1px 2px rgba(15,23,42,.08)}
.profile-theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:12px}
.profile-theme-option{min-height:122px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px 12px;align-items:start;padding:13px;border:1px solid var(--profile-line);border-radius:14px;background:var(--profile-surface);color:var(--profile-text);text-align:left;cursor:pointer}
.profile-theme-option b{align-self:end;font-size:.96rem}.profile-theme-option span{grid-column:2;color:var(--profile-muted);font-size:.84rem;line-height:1.3}.profile-theme-option.active{border-color:var(--profile-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--profile-primary) 14%,transparent)}
.theme-swatch{grid-row:1/3;width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.4);box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)}
.theme-swatch-prism-people{background:linear-gradient(135deg,#4c1d95,#a855f7 52%,#ec4899)}
.theme-swatch-slate-sync{background:linear-gradient(135deg,#0f172a,#2563eb 58%,#93c5fd)}
.theme-swatch-evergreen-ops{background:linear-gradient(135deg,#064e3b,#0f766e 54%,#86efac)}
.theme-swatch-sunrise-talent{background:linear-gradient(135deg,#9a3412,#ea580c 52%,#fb7185)}
.theme-swatch-coastal-clarity{background:linear-gradient(135deg,#0e7490,#22d3ee 48%,#4f46e5)}
html[data-product-ui="profile"] body.profile-product-route .profile-workspace-tabs button:hover,html[data-product-ui="profile"] body.profile-product-route .profile-workspace-tabs button:focus-visible,html[data-product-ui="profile"] body.profile-product-route .profile-workspace-tabs button.active{background:color-mix(in srgb,var(--profile-primary) 14%,var(--profile-surface));border-color:color-mix(in srgb,var(--profile-primary) 18%,var(--profile-surface));color:var(--profile-primary)}
html[data-product-ui="profile"] body.profile-product-route .dash-kpi i{background:color-mix(in srgb,var(--profile-primary) 12%,var(--profile-surface));color:var(--profile-primary)}
@media(min-width:1500px){body.profile-product-route .dash-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}body.profile-product-route .dash-card-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}body.profile-product-route .dash-table-card{min-width:0}}
@media(max-width:1180px){body.profile-product-route{--profile-rail-width:76px}body.profile-product-route .brand{justify-content:center;padding:0 12px}body.profile-product-route .brand strong{display:none}body.profile-product-route .profile-product-shell{padding-left:var(--profile-rail-width)}body.profile-product-route .header-actions{padding-inline:14px;gap:8px;grid-template-columns:minmax(160px,1fr) auto auto auto auto}body.profile-product-route .profile-top-search{width:100%}body.profile-product-route .profile-workspace-tabs{padding-inline:10px}body.profile-product-route .profile-workspace-tabs button{justify-content:center;padding-inline:8px}body.profile-product-route .profile-workspace-tabs button span,body.profile-product-route .profile-workspace-tabs button small{display:none}}
@media(max-width:760px){body.profile-product-route .site-header{height:auto;min-height:64px;grid-template-columns:1fr}body.profile-product-route .brand{display:none}body.profile-product-route .header-actions{height:auto;min-height:64px;display:flex;flex-wrap:wrap;justify-content:flex-start;padding:8px 10px 10px}body.profile-product-route .profile-top-search{order:4;flex:1 1 100%;width:100%}body.profile-product-route .profile-product-shell{padding-left:0;padding-bottom:72px}body.profile-product-route #portalTabMount{padding:16px 12px 92px}body.profile-product-route .profile-workspace-tabs{top:auto;right:0;bottom:0;width:auto;height:70px;display:flex;flex-direction:row;gap:4px;padding:8px;border-top:1px solid var(--profile-line);border-right:0;overflow:auto}body.profile-product-route .profile-workspace-tabs button{min-width:58px;width:auto;min-height:52px;display:grid;place-items:center;gap:3px;padding:6px}body.profile-product-route .profile-workspace-tabs button span{display:block;font-size:.66rem;max-width:64px;white-space:nowrap}body.profile-product-route .profile-workspace-tabs button small,.profile-rail-spacer,.profile-collapse-button{display:none!important}body.profile-product-route .account-menu{right:auto;left:0}.profile-theme-grid{grid-template-columns:1fr}.profile-settings-modal{border-radius:14px}}

/* v644: remove duplicate rail settings control and make profile themes cover all dashboard chrome. */
body.profile-product-route .profile-settings-button{display:none!important}
body.profile-product-route .profile-rail-footer{border-top:1px solid var(--profile-line)}

html[data-product-ui="profile"] body.profile-product-route{
  --profile-primary-soft:color-mix(in srgb,var(--profile-primary) 12%,var(--profile-surface));
  --profile-primary-softer:color-mix(in srgb,var(--profile-primary) 8%,var(--profile-surface));
  --profile-primary-border:color-mix(in srgb,var(--profile-primary) 30%,var(--profile-line));
  --profile-primary-shadow:color-mix(in srgb,var(--profile-primary) 20%,transparent);
}
html[data-product-ui="profile"] body.profile-product-route .admin-btn,
html[data-product-ui="profile"] body.profile-product-route .dash-actions .motif-cta,
html[data-product-ui="profile"] body.profile-product-route .dash-actions .btn.motif-cta,
html[data-product-ui="profile"] body.profile-product-route .profile-messenger .messenger-toggle,
html[data-product-ui="profile"] body.profile-product-route .dash-search-row button:first-of-type,
html[data-product-ui="profile"] body.profile-product-route .contact-form button.motif-cta,
html[data-product-ui="profile"] body.profile-product-route button.motif-cta,
html[data-product-ui="profile"] body.profile-product-route .btn.motif-cta{
  background:linear-gradient(180deg,var(--profile-primary-2),var(--profile-primary))!important;
  border-color:var(--profile-primary)!important;
  color:#fff!important;
  box-shadow:0 10px 24px var(--profile-primary-shadow)!important;
}
html[data-product-ui="profile"] body.profile-product-route .dash-panel>header .dashboard-icon,
html[data-product-ui="profile"] body.profile-product-route .dash-line-icon,
html[data-product-ui="profile"] body.profile-product-route .dashboard-icon,
html[data-product-ui="profile"] body.profile-product-route .dash-link,
html[data-product-ui="profile"] body.profile-product-route .dash-org-branches button,
html[data-product-ui="profile"] body.profile-product-route .dash-org-branches button .dashboard-icon{
  color:var(--profile-primary)!important;
}
html[data-product-ui="profile"] body.profile-product-route .dash-mini-spark polyline{stroke:var(--profile-primary)!important}
html[data-product-ui="profile"] body.profile-product-route .dash-kpi i,
html[data-product-ui="profile"] body.profile-product-route .dash-org-branches button,
html[data-product-ui="profile"] body.profile-product-route .profile-workspace-tabs small,
html[data-product-ui="profile"] body.profile-product-route .dash-status.tone-info{
  background:var(--profile-primary-soft)!important;
  color:var(--profile-primary)!important;
}
html[data-product-ui="profile"] body.profile-product-route .dash-org-branches button,
html[data-product-ui="profile"] body.profile-product-route .dash-org-leader,
html[data-product-ui="profile"] body.profile-product-route .profile-workspace-tabs button:hover,
html[data-product-ui="profile"] body.profile-product-route .profile-workspace-tabs button:focus-visible,
html[data-product-ui="profile"] body.profile-product-route .profile-workspace-tabs button.active{
  border-color:var(--profile-primary-border)!important;
}
html[data-product-ui="profile"] body.profile-product-route .dash-table tr[data-directory-open]:hover td,
html[data-product-ui="profile"] body.profile-product-route .profile-workspace-tabs button:hover,
html[data-product-ui="profile"] body.profile-product-route .profile-workspace-tabs button:focus-visible,
html[data-product-ui="profile"] body.profile-product-route .profile-workspace-tabs button.active,
html[data-product-ui="profile"] body.profile-product-route .account-menu button:hover,
html[data-product-ui="profile"] body.profile-product-route .account-menu button:focus-visible,
html[data-product-ui="profile"] body.profile-product-route .account-menu a:hover,
html[data-product-ui="profile"] body.profile-product-route .account-menu a:focus-visible{
  background:var(--profile-primary-soft)!important;
  color:var(--profile-primary)!important;
}
html[data-product-ui="profile"] body.profile-product-route .dash-list button[data-directory-open]:hover,
html[data-product-ui="profile"] body.profile-product-route .dash-org-branches button[data-dashboard-filter-value]:hover,
html[data-product-ui="profile"] body.profile-product-route .dash-org-leader[data-directory-open]:hover,
html[data-product-ui="profile"] body.profile-product-route .dash-filter-clear:hover{
  border-color:var(--profile-primary-border)!important;
  box-shadow:0 10px 24px color-mix(in srgb,var(--profile-primary) 14%,transparent)!important;
}
html[data-product-ui="profile"] body.profile-product-route #portalTabMount{background:var(--profile-bg)!important}
html[data-product-ui="profile"] body.profile-product-route .dash-filter-row input,
html[data-product-ui="profile"] body.profile-product-route .dash-filter-row select,
html[data-product-ui="profile"] body.profile-product-route .dash-table-tools input,
html[data-product-ui="profile"] body.profile-product-route .dash-table-tools select,
html[data-product-ui="profile"] body.profile-product-route .profile-top-search,
html[data-product-ui="profile"] body.profile-product-route .profile-top-search input{
  background-color:var(--profile-surface)!important;
  color:var(--profile-text)!important;
  border-color:var(--profile-line-strong)!important;
  box-shadow:0 1px 2px rgba(15,23,42,.04)!important;
}
html[data-product-ui="profile"] body.profile-product-route .dash-filter-row input:focus,
html[data-product-ui="profile"] body.profile-product-route .dash-filter-row select:focus,
html[data-product-ui="profile"] body.profile-product-route .dash-table-tools input:focus,
html[data-product-ui="profile"] body.profile-product-route .dash-table-tools select:focus,
html[data-product-ui="profile"] body.profile-product-route .profile-top-search:focus-within{
  outline:none!important;
  border-color:var(--profile-primary)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--profile-primary) 14%,transparent)!important;
}
html[data-product-ui="profile"] body.profile-product-route .dash-filter-row input::placeholder,
html[data-product-ui="profile"] body.profile-product-route .dash-table-tools input::placeholder,
html[data-product-ui="profile"] body.profile-product-route .profile-top-search input::placeholder{color:var(--profile-muted)!important;opacity:.84}
html[data-product-ui="profile"] body.profile-product-route .dash-filter-select{color:var(--profile-muted)!important}
html[data-product-ui="profile"] body.profile-product-route .dash-filter-select select,
html[data-product-ui="profile"] body.profile-product-route .dash-filter-clear{
  border-radius:10px!important;
  border:1px solid var(--profile-line-strong)!important;
  background:var(--profile-surface)!important;
  color:var(--profile-text)!important;
  box-shadow:0 1px 2px rgba(15,23,42,.04)!important;
}
html[data-product-ui="profile"] body.profile-product-route .dash-filter-clear:hover{color:var(--profile-primary)!important;background:var(--profile-primary-soft)!important}
html[data-product-ui="profile"] body.profile-product-route .dash-donut{--dash-accent:var(--profile-primary)}
html[data-product-ui="profile"] body.profile-product-route .dash-link{font-weight:900;text-decoration:none}
html[data-product-ui="profile"] body.profile-product-route .profile-messenger .messenger-toggle{border-color:var(--profile-primary)!important}

/* v645: profile rail + chat launcher + readable profile directory cards. */
body.profile-product-route .profile-workspace-tabs button[data-tab="profile"],
body.profile-product-route .profile-workspace-tabs button[data-tab="team"]{
  display:none!important;
}

html[data-product-ui="profile"] body.profile-product-route .profile-messenger .messenger-toggle{
  display:flex!important;
  position:fixed!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  top:auto!important;
  z-index:4210!important;
  width:clamp(220px,16vw,290px)!important;
  min-width:220px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  border-radius:12px 0 0 0!important;
  padding:0 18px!important;
  writing-mode:horizontal-tb!important;
  transform:none!important;
  justify-content:center!important;
  align-items:center!important;
  gap:9px!important;
  pointer-events:auto!important;
}
html[data-product-ui="profile"] body.profile-product-route .profile-messenger:not(.collapsed) .messenger-toggle{
  display:flex!important;
  opacity:1!important;
  visibility:visible!important;
}
html[data-product-ui="profile"] body.profile-product-route .profile-messenger .messenger-toggle span,
html[data-product-ui="profile"] body.profile-product-route .profile-messenger .messenger-toggle b{
  writing-mode:horizontal-tb!important;
  transform:none!important;
}
@media(max-width:760px){
  html[data-product-ui="profile"] body.profile-product-route .profile-messenger .messenger-toggle{
    width:min(58vw,220px)!important;
    min-width:168px!important;
    height:42px!important;
    min-height:42px!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    border-radius:12px 0 0 0!important;
  }
  html[data-product-ui="profile"] body.profile-product-route .profile-messenger:not(.collapsed) .messenger-toggle{display:flex!important;}
}

html[data-product-ui="profile"] body.profile-product-route .directory-modal,
html[data-product-ui="profile"] body.profile-product-route .directory-modal .info-grid div,
html[data-product-ui="profile"] body.profile-product-route .directory-related-card,
html[data-product-ui="profile"] body.profile-product-route .directory-org-chain,
html[data-product-ui="profile"] body.profile-product-route .directory-org-chain button,
html[data-product-ui="profile"] body.profile-product-route .directory-manager-chip,
html[data-product-ui="profile"] body.profile-product-route .org-card,
html[data-product-ui="profile"] body.profile-product-route .org-card-button{
  background:linear-gradient(180deg,color-mix(in srgb,var(--profile-surface) 94%,var(--profile-primary) 6%),color-mix(in srgb,var(--profile-soft) 96%,transparent))!important;
  border-color:var(--profile-line)!important;
  color:var(--profile-text)!important;
}
html[data-product-ui="profile"] body.profile-product-route .directory-modal h2,
html[data-product-ui="profile"] body.profile-product-route .directory-modal h3,
html[data-product-ui="profile"] body.profile-product-route .directory-modal strong,
html[data-product-ui="profile"] body.profile-product-route .directory-manager-chip b,
html[data-product-ui="profile"] body.profile-product-route .directory-related-card strong,
html[data-product-ui="profile"] body.profile-product-route .directory-org-chain button b{
  color:var(--profile-text)!important;
}
html[data-product-ui="profile"] body.profile-product-route .directory-modal .muted,
html[data-product-ui="profile"] body.profile-product-route .directory-modal small,
html[data-product-ui="profile"] body.profile-product-route .directory-modal .info-grid span,
html[data-product-ui="profile"] body.profile-product-route .directory-manager-chip small,
html[data-product-ui="profile"] body.profile-product-route .directory-related-card small{
  color:var(--profile-muted)!important;
}
html[data-product-ui="profile"] body.profile-product-route .directory-modal .eyebrow,
html[data-product-ui="profile"] body.profile-product-route .directory-modal .info-grid strong,
html[data-product-ui="profile"] body.profile-product-route .directory-org-chain>span,
html[data-product-ui="profile"] body.profile-product-route .directory-link-button{
  color:var(--profile-primary)!important;
}
html[data-product-ui="profile"] body.profile-product-route .directory-manager-chip:hover,
html[data-product-ui="profile"] body.profile-product-route .directory-org-chain button:hover,
html[data-product-ui="profile"] body.profile-product-route .org-card-button:hover{
  background:var(--profile-primary-soft)!important;
  border-color:var(--profile-primary-border)!important;
}

/* v646: messenger clearance and Directory org snapshot polish. */
html[data-product-ui="profile"] body.profile-product-route .profile-messenger .messenger-panel{
  bottom:56px!important;
  height:min(700px,calc(100dvh - 82px))!important;
  max-height:calc(100dvh - 82px)!important;
}
@media(max-width:760px){
  html[data-product-ui="profile"] body.profile-product-route .profile-messenger .messenger-panel{bottom:auto!important;height:100dvh!important;max-height:none!important;}
}
html[data-product-ui="profile"] body.profile-product-route .dash-org-topology{
  display:grid;
  gap:14px;
  align-content:start;
  padding:14px;
}
html[data-product-ui="profile"] body.profile-product-route .dash-org-leader{
  background:var(--profile-surface)!important;
  color:var(--profile-text)!important;
  border-color:var(--profile-primary-border)!important;
  min-width:0!important;
  max-width:min(100%,260px)!important;
  justify-self:center!important;
}
html[data-product-ui="profile"] body.profile-product-route .dash-org-leader b,
html[data-product-ui="profile"] body.profile-product-route .dash-org-leader small,
html[data-product-ui="profile"] body.profile-product-route .dash-org-branches b,
html[data-product-ui="profile"] body.profile-product-route .dash-org-branches small{
  color:var(--profile-text)!important;
  overflow:hidden;
  text-overflow:ellipsis;
}
html[data-product-ui="profile"] body.profile-product-route .dash-org-leader small,
html[data-product-ui="profile"] body.profile-product-route .dash-org-branches small{
  color:var(--profile-muted)!important;
}
html[data-product-ui="profile"] body.profile-product-route .dash-org-branches{
  grid-template-columns:repeat(auto-fit,minmax(96px,1fr))!important;
  gap:8px!important;
  padding-top:16px!important;
}
html[data-product-ui="profile"] body.profile-product-route .dash-org-branches:before{left:8%!important;right:8%!important;}
html[data-product-ui="profile"] body.profile-product-route .dash-org-branches button{
  min-width:0!important;
  min-height:76px!important;
  padding:8px 7px!important;
  background:var(--profile-primary-soft)!important;
  border-color:var(--profile-primary-border)!important;
  color:var(--profile-primary)!important;
}
html[data-product-ui="profile"] body.profile-product-route .dash-org-branches button b{
  width:100%;
  text-align:center;
  white-space:normal;
  line-height:1.15;
}
html[data-product-ui="profile"] body.profile-product-route .dash-org-topology .dash-link{
  justify-self:stretch!important;
  min-height:42px!important;
  border:1px solid var(--profile-primary-border)!important;
  border-radius:999px!important;
  background:var(--profile-primary-soft)!important;
  color:var(--profile-primary)!important;
  box-shadow:0 12px 28px color-mix(in srgb,var(--profile-primary) 12%,transparent)!important;
}
html[data-product-ui="profile"] body.profile-product-route .dash-org-topology .dash-link:hover{
  background:color-mix(in srgb,var(--profile-primary) 18%,var(--profile-surface))!important;
  border-color:var(--profile-primary)!important;
}

/* v647 Overview dashboard interaction polish */
html[data-product-ui="profile"] .dash-action-modal{position:fixed;inset:0;z-index:10050;background:rgba(2,6,23,.46);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px}
html[data-product-ui="profile"] .dash-action-modal-card{width:min(760px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 48px));overflow:auto;border:1px solid var(--profile-line);border-radius:24px;background:var(--profile-surface);color:var(--profile-text);box-shadow:0 30px 90px rgba(2,6,23,.34);padding:22px;position:relative}
html[data-product-ui="profile"] .dash-action-modal-card h3{margin:0 40px 16px 0;color:var(--profile-text);font-size:1.2rem}
html[data-product-ui="profile"] .dash-action-modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:999px;border:1px solid var(--profile-line);background:var(--profile-surface-2);color:var(--profile-text);font-size:1.4rem;line-height:1;cursor:pointer}
html[data-product-ui="profile"] .dash-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
html[data-product-ui="profile"] .dash-quick-grid button,html[data-product-ui="profile"] .dash-workflow-list button{border:1px solid var(--profile-line);background:var(--profile-surface-2);color:var(--profile-text);border-radius:16px;padding:14px;text-align:left;cursor:pointer;box-shadow:0 10px 28px rgba(15,23,42,.08)}
html[data-product-ui="profile"] .dash-quick-grid button:hover,html[data-product-ui="profile"] .dash-workflow-list button:hover{border-color:var(--profile-primary);transform:translateY(-1px)}
html[data-product-ui="profile"] .dash-quick-grid b,html[data-product-ui="profile"] .dash-workflow-list b{display:block;color:var(--profile-text);font-size:.95rem}
html[data-product-ui="profile"] .dash-quick-grid small,html[data-product-ui="profile"] .dash-workflow-list small{display:block;color:var(--profile-muted);margin-top:4px}
html[data-product-ui="profile"] .dash-workflow-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
html[data-product-ui="profile"] .dash-workflow-summary span{border:1px solid var(--profile-line);border-radius:16px;background:var(--profile-surface-2);padding:12px}
html[data-product-ui="profile"] .dash-workflow-summary b{display:block;font-size:1.35rem;color:var(--profile-primary)}
html[data-product-ui="profile"] .dash-workflow-summary small{color:var(--profile-muted);font-weight:800}
html[data-product-ui="profile"] .dash-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
html[data-product-ui="profile"] .dash-list button[data-dashboard-target],html[data-product-ui="profile"] .dash-kpi[data-dashboard-target],html[data-product-ui="profile"] tr[data-dashboard-target]{cursor:pointer}
@media(max-width:680px){html[data-product-ui="profile"] .dash-action-modal{align-items:flex-end;padding:12px}html[data-product-ui="profile"] .dash-action-modal-card{width:100%;max-height:86vh;border-radius:22px}html[data-product-ui="profile"] .dash-workflow-summary{grid-template-columns:1fr}}

/* v649 profile dashboard hardening */
body.profile-product-route .dash-setup-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:0 0 14px}
body.profile-product-route .dash-setup-row button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;padding:12px 14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--profile-accent) 32%,var(--profile-line));background:linear-gradient(135deg,color-mix(in srgb,var(--profile-accent) 13%,transparent),var(--profile-card));color:var(--profile-text);box-shadow:0 10px 24px rgba(15,23,42,.08);cursor:pointer}
body.profile-product-route .dash-setup-row button:hover{transform:translateY(-1px);border-color:var(--profile-accent)}
body.profile-product-route .dash-setup-row b{font-size:.92rem}
body.profile-product-route .dash-setup-row small{color:var(--profile-muted);line-height:1.35}
body.profile-product-route .dash-setup-checklist{display:grid;gap:8px;margin:14px 0;padding:12px;border:1px solid var(--profile-line);border-radius:14px;background:var(--profile-soft);color:var(--profile-text)}
body.profile-product-route .profile-settings-field{display:grid;gap:7px;color:var(--profile-text);font-weight:800}
body.profile-product-route .profile-settings-field select{width:100%;border:1px solid var(--profile-line);border-radius:12px;padding:10px 12px;background:var(--profile-card);color:var(--profile-text);font-weight:750}
body.profile-product-route .profile-settings-check{display:flex;align-items:center;gap:10px;margin-top:12px;color:var(--profile-text);font-weight:750}
body.profile-product-route .profile-settings-check input{accent-color:var(--profile-accent)}
body.profile-product-route.profile-compact-density .dash-main{gap:12px}
body.profile-product-route.profile-compact-density .dash-panel,
body.profile-product-route.profile-compact-density .dash-table-card,
body.profile-product-route.profile-compact-density .dash-card{border-radius:16px}
body.profile-product-route.profile-compact-density .dash-panel header,
body.profile-product-route.profile-compact-density .dash-table-head,
body.profile-product-route.profile-compact-density .dash-page-head{padding:12px 14px}
body.profile-product-route.profile-compact-density .dash-list button{padding:9px 10px}
body.profile-product-route.profile-compact-density .dash-kpi{padding:12px}
body.profile-product-route .dash-actions .btn{white-space:nowrap}

.dash-source-note{margin:-.35rem 0 .85rem;color:var(--profile-muted,#64748b);font-size:.86rem}
.profile-dashboard-compact .dash-source-note{margin:-.55rem 0 .65rem;font-size:.8rem}
.theme-dark .dash-source-note,body.profile-dark .dash-source-note{color:var(--profile-muted,#9fb2c8)}
.dash-setup-checklist.compact{gap:.5rem;padding:.85rem 1rem}

/* v651: People Ops employee files usability */
body.profile-product-route .people-ops-files-table .profile-report-table{min-width:1040px;table-layout:auto}
body.profile-product-route .people-ops-files-table .profile-report-table th,
body.profile-product-route .people-ops-files-table .profile-report-table td{overflow-wrap:normal;word-break:normal}
body.profile-product-route .people-ops-files-table .profile-report-table th:nth-child(2),
body.profile-product-route .people-ops-files-table .profile-report-table td:nth-child(2){min-width:120px;white-space:nowrap}
body.profile-product-route .people-ops-files-table .profile-report-table th:nth-child(3),
body.profile-product-route .people-ops-files-table .profile-report-table td:nth-child(3){min-width:86px;white-space:nowrap}
body.profile-product-route .people-ops-files-table .profile-report-table th:nth-child(4),
body.profile-product-route .people-ops-files-table .profile-report-table th:nth-child(5),
body.profile-product-route .people-ops-files-table .profile-report-table th:nth-child(6),
body.profile-product-route .people-ops-files-table .profile-report-table td:nth-child(4),
body.profile-product-route .people-ops-files-table .profile-report-table td:nth-child(5),
body.profile-product-route .people-ops-files-table .profile-report-table td:nth-child(6){width:82px;white-space:nowrap;text-align:center}
body.profile-product-route .people-ops-files-table .profile-report-table th:nth-child(8),
body.profile-product-route .people-ops-files-table .profile-report-table td:nth-child(8){min-width:138px;white-space:nowrap}
body.profile-product-route .people-ops-files-table .dash-person-cell{min-width:190px}
body.profile-product-route .people-ops-files-table .dash-status{white-space:nowrap;min-width:54px}
body.profile-product-route .people-ops-files-table tr[data-directory-open]{cursor:pointer}
body.profile-product-route .people-ops-files-table tr[data-directory-open]:hover td{background:color-mix(in srgb,var(--profile-primary) 9%,var(--profile-surface))}
body.profile-product-route .dash-list button[data-dashboard-target]{cursor:pointer}
body.profile-product-route .dash-list button[data-dashboard-target]:hover{background:color-mix(in srgb,var(--profile-primary) 8%,transparent)}
@media(max-width:900px){body.profile-product-route .people-ops-files-table .profile-report-table{min-width:980px}}
