:root{--ink:#25205b;--purple:#6c4bdc;--muted:#77748a;--paper:#f5f4f9;--line:#e1deeb;--lime:#dbf28c;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}.topbar{height:98px;padding:0 max(28px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;gap:12px;align-items:center;font-size:34px;font-weight:850;letter-spacing:-2px}.brand span{font-size:15px;letter-spacing:1px;background:var(--purple);color:white;border-radius:6px;padding:7px 9px}.topbar nav{display:flex;gap:7px;align-items:center}.topbar button,.help-row button{border:0;background:none;color:var(--muted);padding:12px 14px;font-size:14px;font-weight:600}.topbar button.selected{color:var(--purple);background:#f1edff;border-radius:8px}main{max-width:1240px;margin:auto;padding:50px 28px 90px;min-height:calc(100dvh - 160px)}.eyebrow{font-size:11px;line-height:1.5;letter-spacing:2px;font-weight:750;color:var(--purple);margin:0 0 22px}h1{font-size:clamp(34px,4vw,54px);line-height:1.1;letter-spacing:-2px;margin:0 0 18px;font-weight:750}h2{font-size:25px;line-height:1.2;letter-spacing:-.6px;margin:0 0 16px}p{line-height:1.65}em{font-style:normal;color:var(--purple)}.muted,small{color:var(--muted)}small{display:block;font-size:12px;line-height:1.6}.login-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;min-height:570px}.login-copy h1{font-size:clamp(42px,5vw,66px);line-height:1.12;margin-bottom:25px}.login-copy>p:not(.eyebrow){font-size:17px;color:var(--muted)}.login-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}.login-tags span,.user-tags span{font-size:11px;border:1px solid var(--line);border-radius:30px;padding:7px 11px;background:#fff}.login-card,.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:38px}.login-card .eyebrow{font-size:10px;margin-bottom:12px;display:block}.login-card h2{font-size:31px}.login-card>p{font-size:14px;margin-bottom:26px}.login-card .button{width:100%;display:flex;justify-content:space-between}.login-card>small{margin-top:24px}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:650;margin-bottom:18px}input:not([type=checkbox]),select{width:100%;border:1px solid #d6d2e3;border-radius:8px;padding:13px 14px;background:#fff;color:var(--ink);font-size:15px;min-height:46px}input:focus,select:focus{border-color:var(--purple);outline:2px solid #6c4bdc25}.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:46px;border:1px solid var(--line);background:white;padding:13px 20px;border-radius:9px;font-size:13px;font-weight:700;color:var(--ink)}.button.primary{background:var(--purple);border-color:var(--purple);color:white}.button:hover{filter:brightness(.97)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:10px 0 45px}.page-heading .eyebrow{margin-bottom:18px}.page-heading .muted{margin:0}.pill{font-size:11px;letter-spacing:1px;background:#ece8fa;padding:12px 16px;border-radius:28px;white-space:nowrap}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.module-card{position:relative;display:flex;flex-direction:column;padding:30px 28px 26px;border-radius:18px;border:1px solid var(--line);background:#fff;min-height:340px;transition:transform .18s,box-shadow .18s}.module-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #26205b0b}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:44px}.module-icon{display:grid;place-items:center;width:52px;height:52px;background:#eee8ff;color:var(--purple);border-radius:13px;font-size:30px}.module-number{font-size:11px;letter-spacing:1px;color:#aaa5bb}.module-card h2{margin-bottom:10px}.module-card p{font-size:14px;color:var(--muted);margin:0 0 25px;max-width:250px}.module-link{margin-top:auto;border-top:1px solid var(--line);padding-top:20px;font-size:12px;font-weight:700}.module-link[aria-disabled]{color:var(--muted)}.module-card small{margin-top:14px;color:#a47522}.module-card.quotes{background:var(--ink);color:white;border-color:var(--ink)}.quotes .module-icon{color:var(--ink);background:var(--lime)}.quotes p,.quotes .module-number{color:#c8c4dd}.quotes .module-link{border-color:#ffffff25}.ho .module-icon{background:#e6efda;color:#5b7642}.help-row{margin-top:40px;border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.help-row button{color:var(--purple);font-size:12px;padding:10px 0}.install-panel{background:#eee9ff;border:1px solid #d7cafa;border-radius:14px;padding:24px;margin-bottom:30px}.install-panel h2{font-size:19px}.install-panel p{font-size:13px;margin:10px 0}.install-panel .button{margin:10px 8px 0 0}.feedback{border-radius:10px;background:#e8efdf;color:#49622f;padding:14px 18px;font-size:14px;margin-bottom:25px}.feedback.is-error,.error{color:#af354a}.error{font-size:13px;line-height:1.6}.error:empty{display:none}.warning{background:#fff1d7;padding:16px;border-radius:10px;margin-bottom:20px;font-size:13px;line-height:1.6}.user-list{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white}.user-row{display:flex;align-items:center;gap:17px;padding:20px;border-bottom:1px solid var(--line)}.user-row:last-child{border:0}.avatar{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;background:#eee8ff;color:var(--purple);border-radius:12px;font-size:13px;font-weight:700}.user-details{display:flex;flex-direction:column;gap:5px;min-width:170px}.user-details strong{font-size:14px}.user-details>span{font-size:12px;color:var(--muted)}.user-tags{display:flex;gap:6px;flex-wrap:wrap;flex:1}.user-tags span{font-size:10px;padding:5px 8px}.disabled-tag{color:#a42643;background:#fff0f3!important}.pending-tag{color:#997428}.text-button{border:0;background:none;white-space:nowrap;font-size:12px;font-weight:600;color:var(--purple);padding:8px}.narrow{max-width:500px}.panel>.button{margin-top:24px}.notice{max-width:700px;margin:80px auto;padding:30px;line-height:1.6}.notice h1{font-size:28px;margin:30px 0}.notice b{font-size:28px}.notice span{color:var(--purple)}footer{max-width:1184px;margin:auto;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:24px 0;color:#9994ac;font-size:10px;letter-spacing:1px}footer span{letter-spacing:0}dialog{width:min(640px,calc(100vw - 32px));max-height:90dvh;border:1px solid var(--line);border-radius:18px;padding:30px;color:var(--ink);box-shadow:0 30px 100px #14103533}dialog::backdrop{background:#1d173b66;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dialog-heading h2{margin:0;font-size:24px}.dialog-heading button{border:0;background:#f0edf7;border-radius:50%;width:34px;height:34px;font-size:25px;color:var(--muted)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.fields .full{grid-column:1/-1}fieldset{border:1px solid var(--line);border-radius:10px;margin:16px 0 22px;padding:16px}legend{font-size:12px;font-weight:700;padding:0 6px}.check{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:500;margin:0 0 10px}.check input{accent-color:var(--purple);width:16px;height:16px}.module-checks{display:flex;gap:15px;flex-wrap:wrap}label small{font-weight:400}#userForm>.button{width:100%}@media(max-width:850px){.login-layout{gap:35px;grid-template-columns:1fr 1fr}.login-card{padding:26px}.cards{gap:14px}.module-card{padding:24px 20px}.module-card h2{font-size:22px}.user-row{flex-wrap:wrap}.user-tags{flex-basis:100%;order:4}.user-details{flex:1}.topbar{padding:0 24px}.brand{font-size:30px}.topbar nav{gap:0}.topbar button{padding:10px;font-size:12px}footer{margin:0 28px}}@media(max-width:620px){.topbar{height:auto;min-height:80px;flex-wrap:wrap;padding:20px;gap:18px}.topbar nav{width:100%;justify-content:space-between}.topbar button{padding:9px 6px}.brand{font-size:29px}.brand span{font-size:12px}main{padding:30px 20px 60px}.login-layout{display:flex;flex-direction:column;gap:28px;align-items:stretch;min-height:0}.login-copy{padding:10px 0}.login-copy h1{font-size:43px;margin-bottom:15px}.login-copy>p:not(.eyebrow){font-size:14px}.login-tags{display:none}.login-card{padding:27px}.login-card h2{font-size:27px}.eyebrow{font-size:10px}.page-heading{margin:5px 0 28px;align-items:flex-start}.page-heading h1{font-size:36px;letter-spacing:-1.5px}.page-heading p{font-size:13px}.pill{display:none}.cards{grid-template-columns:1fr;gap:17px}.module-card{min-height:250px;padding:25px}.card-top{margin-bottom:24px}.module-card h2{font-size:26px}.module-card p{max-width:none;margin-bottom:20px}.module-card .module-link{font-size:13px}.help-row{display:block;margin-top:25px}.help-row button{display:block}.user-row{padding:17px 14px;gap:12px}.user-details{min-width:120px}.fields{grid-template-columns:1fr}.page-heading>.button{padding:12px;font-size:11px;white-space:nowrap}dialog{padding:22px}.panel{padding:24px}footer{margin:0 20px;gap:15px}.login-copy .eyebrow{margin-bottom:16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Staff directory and admin anniversary notices. */
.team-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.team-hint{font-size:12px;color:var(--muted);margin:0 0 18px}.user-details{min-width:0;flex:1}.user-details strong,.employment-line{overflow-wrap:anywhere}.employment-line{font-size:11px}.user-tags{flex:0 1 280px}.employment-summary{display:flex;flex-direction:column;gap:8px;font-size:12px;padding:0 0 18px}.employment-summary strong{font-size:16px;padding-top:12px}.username-suggest{align-self:flex-start;padding:4px 0;font-size:11px;white-space:normal;text-align:left}.anniversary-panel{margin:0 0 28px;padding:24px 28px;border:1px solid #ded5f4;background:linear-gradient(115deg,#fff,#f3effc);border-radius:18px}.anniversary-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.anniversary-heading .eyebrow{margin:0 0 8px;font-size:10px}.anniversary-heading h2{font-size:22px;margin:0}.anniversary-heading .pill{font-size:9px;padding:9px 12px}.anniversary-row{display:flex;align-items:center;gap:14px;margin:20px 0}.anniversary-number{background:#e9e1fa;color:var(--purple);border-radius:12px;width:42px;height:42px;display:grid;place-items:center;font-weight:750;flex-shrink:0}.anniversary-row>div{flex:1;min-width:0}.anniversary-row strong{font-size:14px}.anniversary-when{font-size:11px;color:var(--purple);font-weight:650;white-space:nowrap}.anniversary-panel>small{font-size:11px;border-top:1px solid var(--line);padding-top:13px}.import-note{padding:14px 16px;background:#f3effc;border-radius:10px;font-size:12px;line-height:1.65;margin-bottom:20px}#importDialog{width:min(760px,calc(100vw - 32px))}#importDialog>.muted,#importForm>.muted{font-size:13px}.import-row{border-bottom:1px solid var(--line);padding:14px 0}.import-row label{margin:0;gap:5px}.import-row strong{font-size:14px}.import-row select{margin-top:6px}.import-footer{padding-top:20px;display:flex;gap:16px;align-items:center}.import-footer small{flex:1}.import-footer .button{flex-shrink:0}.team-actions .button{white-space:nowrap}@media(max-width:850px){.user-tags{flex-basis:100%}.team-actions{justify-content:flex-start}.page-heading:has(.team-actions){flex-wrap:wrap}}@media(max-width:620px){.team-actions{width:100%}.team-actions .button{flex:1;font-size:11px;padding:11px 9px}.anniversary-panel{padding:20px}.anniversary-row{gap:10px;flex-wrap:wrap}.anniversary-row small{font-size:11px}.anniversary-when{margin-left:52px;width:100%}.anniversary-heading h2{font-size:21px}.import-footer{flex-direction:column;align-items:stretch}.user-row>.text-button{padding:10px 0;font-size:11px}.user-details{flex-basis:calc(100% - 60px)}.user-row>.text-button{margin-left:auto}}

.excel-downloads{display:flex;gap:10px 22px;flex-wrap:wrap;margin:18px 0 22px}.excel-downloads a{font-size:12px;font-weight:650;color:var(--purple);text-decoration:underline;text-underline-offset:4px}.excel-upload{padding:20px;border:1px dashed #b8a8dd;background:#faf8ff;border-radius:12px}.excel-upload input[type=file]{min-width:0;padding:10px;font-size:13px;background:white}.excel-upload input::file-selector-button{border:0;border-radius:6px;background:#eee8ff;color:var(--ink);font:inherit;padding:9px 12px;margin-right:10px}.excel-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.excel-status-row p{font-size:12px;overflow-wrap:anywhere}.excel-errors{padding:16px 16px 16px 34px;background:#fff0f3;border-radius:10px;color:#9f2940;font-size:12px;line-height:1.7;max-height:220px;overflow:auto}.import-row small{overflow-wrap:anywhere}.dialog-heading .eyebrow{font-size:9px;margin:0 0 8px}@media(max-width:620px){.team-actions>a.button{flex-basis:100%}.excel-downloads{flex-direction:column;gap:14px}.excel-upload{padding:14px}.excel-status-row{align-items:flex-start}.import-footer .button{width:100%}}

/* Employment status remains distinct from login permissions. */
.team-filter{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:20px 0 16px}.team-filter label{margin:0;min-width:260px}.team-filter>span{font-size:12px;color:var(--muted);padding-bottom:14px}.user-tags .employment-tag{font-weight:650;border-color:transparent}.status-active{background:#edf3e5!important;color:#46632b}.status-maternity_leave{background:#eee8ff!important;color:#5a3abb}.status-former{background:#efedf2!important;color:#5f5a70}.empty-staff{padding:12px 20px;font-size:14px;color:var(--muted)}#employmentStatusHint{line-height:1.6}select:disabled,input:disabled{background:#f5f4f9;color:#77748a}@media(max-width:620px){.team-filter{align-items:stretch;flex-direction:column;gap:9px}.team-filter label{min-width:0}.team-filter>span{padding:0}.user-tags .employment-tag{max-width:100%}}

.module-permissions{padding:18px}.permission-intro{font-size:12px;font-weight:400;line-height:1.6;color:var(--muted);margin:0 0 18px}.module-permissions label:last-child{margin-bottom:0}.module-permissions select{font-size:14px}#userForm select{max-width:100%;min-width:0}@media(max-width:620px){.module-permissions{padding:14px}.module-permissions select{font-size:13px;padding-left:10px;padding-right:24px}}
