.staff-profile{display:grid;gap:14px}.profile-card,.profile-connection{padding:18px;border:1px solid #e3e1ee;border-radius:16px;background:white}.profile-connection{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f1f2ff}.staff-profile h2{font-size:17px;margin:0}.staff-profile h3{font-size:15px}.staff-profile p{font-size:13px;line-height:1.5;margin:8px 0;color:#62657b}.profile-card-heading{display:flex;gap:10px;justify-content:space-between;align-items:center}.staff-profile button{min-height:44px;border:1px solid #d8d8ed;border-radius:10px;padding:8px 12px;background:#f5f5ff;color:#312e81;font:inherit;font-size:13px;font-weight:650;cursor:pointer}.staff-profile button:disabled{opacity:.55;cursor:default}.staff-profile dl{margin-bottom:0}.staff-profile dl>div{padding:10px 0;border-bottom:1px solid #f0eff5}.staff-profile dl>div:last-child{border:0}.staff-profile dt{font-size:12px;color:#73758b;margin-bottom:4px}.staff-profile dd{margin:0;font-size:14px;overflow-wrap:anywhere}.staff-profile label{display:grid;gap:6px;margin:12px 0;font-size:13px}.staff-profile input:not([type=checkbox]),.staff-profile textarea{box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1px solid #cfcde2;border-radius:9px;padding:10px;background:white;font:inherit;color:#252342}.staff-profile textarea{min-height:80px}.profile-actions{display:flex;gap:8px;margin-top:16px}.profile-actions button:first-child{background:#312e81;color:white}.profile-week{display:grid;grid-template-columns:1fr 1fr;gap:4px}.profile-week label{display:flex;align-items:center;min-height:44px;margin:0;gap:8px}.profile-week input{width:20px;height:20px;accent-color:#312e81}.staff-profile fieldset{border:1px solid #e3e1ee;border-radius:10px;margin:15px 0;padding:12px}.staff-profile legend{font-size:13px}.profile-date-row{padding:8px 0 14px;border-bottom:1px solid #eee}.profile-request-row{border-left:3px solid #22d3ee;padding:10px;margin:12px 0;background:#f7f8ff}.profile-request-row strong{text-transform:capitalize;font-size:14px}.staff-profile .profile-error{background:#fff0ef;color:#932b26;padding:12px;border-radius:10px}.staff-profile .profile-feedback:empty{display:none}.staff-profile .profile-feedback{margin:0;color:#312e81}.staff-profile :focus-visible{outline:3px solid #22d3ee;outline-offset:2px}@media(max-width:360px){.profile-card,.profile-connection{padding:13px}.profile-card-heading{align-items:flex-start}.profile-connection{align-items:flex-start}.profile-week{grid-template-columns:1fr}}

.otto-profile-link{border:0;padding:2px 0;background:transparent;color:#312e81;text-decoration:underline;font:inherit;min-height:32px}

/* Availability follows the desktop weekday and individual-days layout. */
.availability-days,.staff-profile .profile-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:20px 0}.availability-day,.staff-profile .profile-week label{display:flex;align-items:center;justify-content:center;min-height:46px;padding:8px 2px;border:1px solid #dce0e8;border-radius:10px;background:#fff;font-size:.75rem;font-weight:750;color:#292631;position:relative}.availability-day.is-available,.staff-profile .profile-week label:has(input:checked){background:#eff9e8;border-color:#b5dc99;color:#39751f}.staff-profile .profile-week input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.staff-profile .profile-week label:has(input:focus-visible){outline:3px solid #22cde4;outline-offset:2px}.availability-individual,.staff-profile .profile-overrides{border-top:1px solid #dce0e8;margin-top:22px;padding-top:20px}.availability-individual h3,.staff-profile .profile-overrides h3{font-size:1rem;margin:0 0 10px}.availability-individual p{font-size:.8125rem;color:#716c7d;line-height:1.5}.availability-empty,.availability-date{padding:13px;border:1px solid #dce0e8;border-radius:10px;margin-top:10px}.availability-empty{text-align:center}.staff-profile .profile-date-row{display:flex;flex-wrap:wrap;gap:10px}.staff-profile .profile-date-row label{flex:1 1 120px;min-width:0}.staff-profile .profile-date-row input{width:100%;min-width:0}.staff-profile fieldset{min-width:0}.availability-current[hidden]{display:none}html[data-theme=dark] .availability-day,html[data-theme=dark] .staff-profile .profile-week label{background:#292840;color:#e9e8f5;border-color:#514d70}html[data-theme=dark] .availability-day.is-available,html[data-theme=dark] .staff-profile .profile-week label:has(input:checked){background:#243c29;color:#c3ecaa;border-color:#628650}@media(max-width:359px){.availability-days,.staff-profile .profile-week{grid-template-columns:repeat(4,minmax(0,1fr))}}

.mobile-sign-in{max-width:480px;margin:0 auto;padding:20px 0 32px}.sign-in-brand{text-align:center;padding:24px 16px;background:linear-gradient(145deg,#eef7ff,#dceaff);border:1px solid #d5e4fc;border-radius:22px}.sign-in-brand img{display:block;margin:auto}.staff-profile .sign-in-brand h1{font-size:30px;letter-spacing:-1px;margin:10px 0 0;color:#242950}.sign-in-brand span{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;color:#44628c;margin-top:8px}.mobile-sign-in .profile-actions button{width:100%;background:#312e81;font-size:15px}.mobile-sign-in .profile-card h2{font-size:23px}.company-choices{display:grid;gap:10px;margin:16px 0}.staff-profile .profile-connection{flex-wrap:wrap}.staff-profile .profile-connection>div{flex:1 1 170px}

body.sign-in-page{background:linear-gradient(150deg,#f1f7ff,#e4eeff);min-height:100dvh}body.sign-in-page .brandbar,body.sign-in-page .page-heading,body.sign-in-page #otto-status,body.sign-in-page .bottom-nav,body.sign-in-page .preview-note{display:none}body.sign-in-page .workspace{padding:16px max(16px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}body.sign-in-page .mobile-sign-in{padding:0}body.sign-in-page .sign-in-brand{background:transparent;border:0;padding:20px 12px 16px}body.sign-in-page .sign-in-brand p{margin:6px 0}body.sign-in-page .profile-card{box-shadow:0 12px 40px #294b8010}body.sign-in-page .profile-card input{font-size:16px}
.mobile-sign-in .profile-actions button[data-action="logout"]{background:#f5f5ff;color:#312e81}

.password-entry{position:relative}.staff-profile .password-entry input{padding-right:76px}.staff-profile .password-toggle{position:absolute;right:2px;top:2px;bottom:2px;min-width:68px;min-height:44px;margin:0;border:0;background:transparent;color:#312e81;border-radius:8px;font-weight:700}.staff-profile .password-entry input{min-height:48px}
