:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial;color:#15263b;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;border-radius:10px;background:#17446c;color:#fff;padding:11px 17px;font-weight:650}button:hover{filter:brightness(1.1)}button.secondary{background:#edf2f8;color:#244766}button.danger{background:#8e3444}input,textarea,select{border:1px solid #d7e0ea;border-radius:9px;padding:11px;background:white;width:100%;color:#172a3d}label{display:block;font-size:13px;font-weight:650;margin:12px 0 5px}label input,label textarea{display:block;margin-top:6px}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 80% 15%,#dbe7f4,transparent 40%),#f4f7fb}.login-card{width:min(430px,100%);padding:40px;background:white;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 20px 60px #213f6115}.login-card h1{margin:36px 0 3px}.login-card p{color:#627389}.login-card button{width:100%;margin-top:20px}.brand{font-size:17px;font-weight:900;letter-spacing:1px;color:#153c61}.brand span{color:#58b2bf}.brand small{display:block;letter-spacing:3px;font-size:10px;font-weight:600;color:#72879b;margin-left:32px}.error{color:#b42338!important;font-size:13px}#app{min-height:100vh;display:flex}#app[hidden],#login[hidden]{display:none}aside{width:254px;background:#fff;border-right:1px solid #e5ebf1;padding:29px 18px;display:flex;flex-direction:column;gap:34px;flex-shrink:0}.nav-label,.eyebrow{font-size:10px;letter-spacing:1.8px;color:#8a9aad;font-weight:800}.nav-label{margin:4px 12px -25px}nav{display:grid;gap:7px}nav button{text-align:left;background:transparent;color:#667b90;font-size:14px;font-weight:600}nav button.active{background:#e8f1f8;color:#15436a}.aside-bottom{margin-top:auto;font-size:12px;color:#60778d;display:grid;gap:14px}.workspace{flex:1;min-width:0;padding:34px max(25px,4vw)}header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:30px}header h1{font-size:30px;margin:7px 0}.header-right{display:flex;gap:10px;align-items:center}.pill{font-size:12px;border-radius:30px;padding:9px 13px;background:#eaf5f0;color:#20754e}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.card{background:#fff;border:1px solid #e5eaf0;border-radius:16px;padding:23px;box-shadow:0 4px 20px #263f5a08}.stat .value{font-size:36px;font-weight:800;color:#143c61;margin-top:15px}.muted{color:#77889a;font-size:13px}.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.card h2{font-size:17px;margin:0 0 18px}.feed{border-top:1px solid #edf0f4;padding:18px 0}.feed h3{margin:4px 0;font-size:15px}.feed p{color:#55677c;line-height:1.6;white-space:pre-wrap}.tag{display:inline-block;background:#e8f1f8;color:#205579;padding:5px 9px;border-radius:6px;font-size:11px;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.form-grid .wide{grid-column:1/-1}.actions{display:flex;gap:10px;margin-top:18px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#78889a;font-size:11px;letter-spacing:1px}th,td{padding:15px 10px;border-bottom:1px solid #edf1f5}td{color:#42556a}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.toolbar h2{margin:0}.notice{padding:12px;border-radius:10px;background:#eff6ff;color:#315b7a;margin-bottom:20px;font-size:13px}.empty{padding:32px;color:#8191a2;text-align:center}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:850px){#app{display:block}aside{width:100%;padding:16px;gap:15px}.nav-label,.aside-bottom{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap}.workspace{padding:22px 14px}.stats,.grid,.split{grid-template-columns:1fr}header h1{font-size:24px}.header-right .pill{display:none}}@media(max-width:480px){.form-grid{grid-template-columns:1fr}.card{padding:17px}}

.brand-mark{height:42px;width:42px;object-fit:contain;vertical-align:middle;border-radius:50%;margin-right:8px}

/* Sprint 068: responsive, accessible historical bar charts */
.history-chart{display:flex;gap:10px;align-items:end;min-height:205px;overflow-x:auto;padding:12px 0 18px;border-bottom:1px solid #ddd}
.history-bar-item{min-width:65px;flex:1;display:flex;align-items:center;flex-direction:column;gap:6px;font-size:12px}
.history-bar-track{width:100%;height:135px;display:flex;align-items:end;background:#f2f2f2;border-radius:5px;overflow:hidden}
.history-bar-fill{width:100%;background:#a88338;min-height:0}
.history-bar-label{white-space:nowrap}.history-bar-value{font-variant-numeric:tabular-nums}

/* Sprint 166: read-only finance incident summary */
.incident-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:12px 0}.incident-metric{border:1px solid #d5c8a4;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:4px}.incident-metric strong{font-size:1.6rem}.incident-metric span{font-size:.85rem}.incident-summary{margin:18px 0}

.incident-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}.incident-filter select{max-width:230px}.incident-filter span{font-size:.85rem;opacity:.8}tr[hidden]{display:none}

/* Sprint 227: readable, responsive hierarchical organization chart */
.org-company{margin:20px 0;padding:16px;border:1px solid #e5eaf0;border-radius:12px;overflow:auto}.org-company h3{margin:0 0 16px}.org-tree,.org-tree ul{list-style:none;margin:0;padding:0 0 0 22px;border-left:2px solid #dfd4b8}.org-tree{border-left:0;padding-left:0}.org-node{position:relative;margin:10px 0 10px 14px}.org-node:before{content:"";position:absolute;left:-14px;top:20px;width:14px;border-top:2px solid #dfd4b8}.org-person{display:flex;flex-direction:column;gap:3px;min-width:170px;width:max-content;max-width:100%;padding:12px 16px;border:1px solid #d9c9a6;border-radius:10px;background:#fffdf8;overflow-wrap:anywhere}.org-person span{font-size:13px;color:#344a60}.org-person small{font-size:12px;color:#7a6c4d}@media(max-width:600px){.org-company{padding:10px}.org-tree ul{padding-left:12px}.org-person{min-width:120px}}

/* Sprint 228: manager team drilldown */
.org-team{border:1px solid var(--border,#ddd);border-radius:10px;padding:12px;margin:10px 0}.org-team summary{cursor:pointer}.org-team ul{margin-bottom:0}.org-team li{margin:5px 0}

/* Sprint 280: bilingual direction and black/gold REGIVOX attendance presentation */
:root{--rv-gold:#b58a39}body{background:#f8f7f4}button{background:#171717}button.secondary{background:#f5edda;color:#49391a}.brand,.stat .value{color:#191919}nav button.active{background:#f5edda;color:#594114}.card{border-color:#e8dfcd}html[dir="rtl"] aside{border-right:0;border-left:1px solid #e5ebf1}html[dir="rtl"] nav button,html[dir="rtl"] th{text-align:right}html[dir="rtl"] .brand small{margin-left:0;margin-right:32px}html[dir="rtl"] .brand-mark{margin-right:0;margin-left:8px}html[dir="rtl"] input[type="date"],html[dir="rtl"] input[type="month"]{direction:ltr;text-align:right}#languageToggle{white-space:nowrap}

/* Sprint 284: keyboard-visible focus, RTL-safe layout, and mobile attendance tables. */
:where(button,input,select,textarea,a):focus-visible{outline:3px solid #b58a39;outline-offset:3px}
html[dir="rtl"] .actions,html[dir="rtl"] .toolbar,html[dir="rtl"] .header-right{direction:rtl}
html[dir="rtl"] .table-wrap{direction:rtl}
html[dir="rtl"] .table-wrap table{direction:rtl}
html[dir="rtl"] input[type="email"],html[dir="rtl"] input[type="number"]{direction:ltr;text-align:start}
@media(max-width:600px){.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.table-wrap table{min-width:580px}.header-right{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* PEOPLE 360 interface refresh — login, navigation, responsive layout */
:root{--rv-ink:#191919;--rv-gold:#b28a45;--rv-line:#e9e3d8}
body{background:#f8f8f6;color:#252525}
.login{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,540px);min-height:100vh;padding:0;background:#faf9f6}
.login-intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(40px,8vw,140px);background:linear-gradient(145deg,#141414,#28231c);color:white}
.login-intro .login-kicker{color:#c6a76b;letter-spacing:.25em;font-size:12px;font-weight:700}
.login-hero-logo{width:clamp(140px,22vw,270px);height:auto;object-fit:contain;margin:42px 0 20px;border-radius:24px}
.login-intro h2{font-size:clamp(32px,4vw,56px);letter-spacing:-.045em;line-height:1.1;margin:16px 0}
.login-intro p{max-width:420px;color:#c8c3bb;line-height:1.8;font-size:16px}
.login-card{align-self:center;justify-self:center;width:min(440px,calc(100% - 52px));padding:44px;border:1px solid var(--rv-line);border-radius:20px;box-shadow:0 20px 60px #201c1510}
.login-brand{font-size:25px;letter-spacing:.12em;color:#161616}
.login-brand small{margin:5px 0 0;font-size:11px;letter-spacing:.32em;color:#a17d3d}
.login-heading{margin:42px 0 28px}
.login-heading .login-kicker{font-size:11px;letter-spacing:.16em;color:#98763c;font-weight:800}
.login-card h1{margin:10px 0;font-size:32px;letter-spacing:-.035em}
.login-card p{line-height:1.6}
.login-card label{font-size:13px;margin-top:18px;color:#383838}
.login-card input{min-height:48px;border-color:#dedbd5}
.login-card input:focus{outline:2px solid #c8a866;outline-offset:2px}
.login-card button{min-height:50px;margin-top:28px;background:#1a1a1a}
.login-footnote{display:block;margin-top:24px;text-align:center;color:#8b8984;font-size:11px}
#app aside{height:100vh;position:sticky;top:0;overflow-y:auto;gap:22px;border-color:var(--rv-line)}
#app nav{gap:3px}
#app nav button{padding:11px 12px;border-radius:9px;line-height:1.35}
#app nav button.active{background:#f6efdf;color:#654a1f}
.workspace{padding:32px clamp(22px,3vw,52px)}
.card{border-color:var(--rv-line);box-shadow:0 5px 18px #201b1008}
header{align-items:flex-start}
header h1{font-size:clamp(23px,2.4vw,32px);letter-spacing:-.025em}
.form-grid{gap:10px 20px}
.form-grid label{line-height:1.55}
#app nav .nav-group-title{display:block;margin:22px 12px 8px;color:#8b754d;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
#app nav .nav-group-title:first-child{margin-top:2px}
html[dir="rtl"] #app nav .nav-group-title{text-align:right}
html[dir="rtl"] .login-card input[type=email]{direction:ltr;text-align:left}
@media(max-width:950px){.login{grid-template-columns:1fr}.login-intro{display:none}.login-card{margin:35px auto}}
@media(max-width:850px){#app aside{height:auto;position:relative;overflow:visible}#app nav .nav-group-title{display:none}.workspace{padding:20px 14px}}
@media(max-width:480px){.login-card{padding:28px 24px;width:calc(100% - 28px)}.login-heading{margin:30px 0 20px}}


/* Brand typography and removal of the JPEG's black rectangular backdrop on dark hero */
.login-brand{font-family:Georgia,'Times New Roman',serif;font-weight:700;letter-spacing:.19em;font-size:27px}
.login-brand small{font-family:ui-sans-serif,system-ui,sans-serif;font-weight:650;letter-spacing:.3em}
.login-intro{background:#090909}
.login-hero-logo{mix-blend-mode:screen;border-radius:0;box-shadow:none;background:transparent;object-fit:contain}
#app .brand{font-family:Georgia,'Times New Roman',serif;letter-spacing:.1em;color:#1b1b1b}
#app .brand small{font-family:ui-sans-serif,system-ui,sans-serif}
html[dir="rtl"] .workspace,html[dir="rtl"] .card,html[dir="rtl"] .toolbar{text-align:right}
html[dir="rtl"] .form-grid label{text-align:right}
html[dir="rtl"] #app nav button{text-align:right}


/* Collapsible domain navigation */
#app nav .nav-section{display:block;border-bottom:1px solid #eee8dc;padding:7px 0 11px}
#app nav .nav-section:last-child{border-bottom:0}
#app nav .nav-section .nav-group-title{display:list-item;cursor:pointer;list-style:none;position:relative;padding:9px 24px 9px 12px;margin:0 0 4px;user-select:none}
#app nav .nav-section .nav-group-title::-webkit-details-marker{display:none}
#app nav .nav-section .nav-group-title:after{content:'⌄';position:absolute;right:8px;top:6px;font-size:16px;transition:transform .15s}
#app nav .nav-section[open] .nav-group-title:after{transform:rotate(180deg)}
#app nav .nav-section .nav-group-title:focus-visible{outline:2px solid #b28a45;outline-offset:2px;border-radius:6px}
#app nav .nav-section button{display:block;width:100%;margin:2px 0}
html[dir="rtl"] #app nav .nav-section .nav-group-title{padding:9px 12px 9px 24px}
html[dir="rtl"] #app nav .nav-section .nav-group-title:after{right:auto;left:8px}
@media(max-width:850px){#app nav .nav-section .nav-group-title{display:list-item}}
