:root{--ink:#172033;--muted:#687386;--line:#e4e9f1;--blue:#3659d9;--blue-dark:#243fa9;--surface:#fff;--bg:#f3f6fb;--green:#11976d;--red:#d3475d;--orange:#e1842f;--radius-sm:10px;--radius:16px;--radius-lg:24px;--shadow-sm:0 4px 16px rgba(27,39,71,.06);--shadow:0 18px 50px rgba(27,39,71,.11);--focus:0 0 0 4px rgba(54,89,217,.14)}
html{scroll-behavior:smooth}body{font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a,button,input,select{transition:border-color .18s,background-color .18s,color .18s,box-shadow .18s,transform .18s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:none;box-shadow:var(--focus)}
.btn{min-height:42px;gap:8px;border:1px solid transparent;border-radius:12px;padding:10px 17px;box-shadow:0 1px 1px rgba(0,0,0,.03)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--primary{background:linear-gradient(135deg,#496be4,#3153cb);box-shadow:0 8px 18px rgba(54,89,217,.2)}.btn--ghost{color:#344054;border-color:#d9e0eb;background:#fff}.btn--ghost:hover{border-color:#aebbd2;background:#f8faff}.btn--dark{background:#202d4f;color:#fff}.btn--small{min-height:34px;padding:7px 11px;border-radius:9px}
.public-header{height:78px}.public-brand strong{font-size:16px;letter-spacing:-.01em}.public-footer{padding:24px}.logo-mark{border-radius:14px;box-shadow:0 9px 22px rgba(49,87,213,.22)}
.landing{min-height:calc(100vh - 136px);background:radial-gradient(circle at 12% 14%,rgba(86,117,230,.16),transparent 28%),radial-gradient(circle at 88% 86%,rgba(33,181,137,.12),transparent 29%),#f6f8fc}.welcome-card{min-height:590px;border:1px solid rgba(255,255,255,.35);background:linear-gradient(145deg,#15214b 0%,#263e85 70%,#3157b7 100%)}.welcome-copy{position:relative;padding:clamp(42px,6vw,78px)}.welcome-copy:after{content:"";position:absolute;width:260px;height:260px;right:-90px;bottom:-100px;border:1px solid rgba(255,255,255,.15);border-radius:50%}.welcome-copy h1{letter-spacing:-.045em}.login-card{border:1px solid rgba(255,255,255,.7);box-shadow:0 18px 45px rgba(9,20,52,.18)}.form-stack label,.form-grid label,.filter-bar label{font-size:12px}.form-stack input,.form-grid input,.form-grid select,.filter-bar input,.accounts-filter select{min-height:46px;border-color:#d8dfeb;background:#fbfcfe}.form-stack input:hover,.form-grid input:hover,.form-grid select:hover{border-color:#b6c1d3}
.app-shell{grid-template-columns:260px minmax(0,1fr)}.sidebar{width:260px;padding:24px 16px;background:linear-gradient(180deg,#18234d 0%,#111936 100%);box-shadow:8px 0 30px rgba(24,35,77,.08)}.sidebar-brand{padding:0 10px 24px}.sidebar nav{gap:6px}.sidebar nav a{min-height:46px;padding:12px 14px;border:1px solid transparent}.sidebar nav a:hover{background:rgba(255,255,255,.07)}.sidebar nav a.active{background:linear-gradient(100deg,rgba(90,121,232,.32),rgba(71,101,207,.14));border-color:rgba(158,177,245,.17);box-shadow:inset 3px 0 #8ca4ff}.sidebar-logout{color:#aeb9dc}.sidebar-backdrop{display:none;position:fixed;inset:0;z-index:19;background:rgba(10,16,35,.48);backdrop-filter:blur(2px)}
.topbar{position:sticky;top:0;z-index:10;height:82px;padding:0 clamp(18px,3vw,36px);box-shadow:0 1px 0 var(--line),0 5px 20px rgba(36,49,78,.03)}.topbar h1{font-size:19px;letter-spacing:-.02em}.user-chip{padding:7px 10px 7px 7px;border:1px solid var(--line);border-radius:14px;background:#fafbfe}.page-content{padding:clamp(20px,3vw,36px);max-width:1560px}.page-heading{margin-bottom:24px}.page-heading h2,.greeting h2{font-size:clamp(24px,3vw,30px);letter-spacing:-.03em}.page-heading p,.greeting p{margin-top:5px;line-height:1.6}.heading-actions{align-items:center}
.panel{border-color:#e2e7ef;border-radius:18px;box-shadow:var(--shadow-sm)}.stats-grid{gap:16px}.stat-card{min-height:140px;padding:23px;border:1px solid #e2e7ef;border-radius:18px;box-shadow:var(--shadow-sm)}.stat-card strong{letter-spacing:-.04em}.dashboard-grid{gap:18px}.panel-heading{padding:21px 22px}.panel-heading h3{font-size:16px}.table-wrap{scrollbar-width:thin;scrollbar-color:#cbd3e1 transparent}.table-wrap table{min-width:760px}th{height:43px;background:#f8f9fc;color:#697386}td{height:59px}.table-sub{font-size:11px}.status{align-items:center;gap:5px;padding:6px 10px}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.empty-state{padding:48px 24px}.text-link:hover,.danger-link:hover{text-decoration:underline}
.employee-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.employee-card{border-radius:18px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.employee-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.role-strip{gap:7px}.role-strip span{box-shadow:0 2px 7px rgba(33,45,74,.04)}
.modal{padding:18px;backdrop-filter:blur(4px)}.modal-dialog{border:1px solid rgba(255,255,255,.8);border-radius:22px;padding:32px;animation:modal-in .2s ease-out}.modal-close{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;text-decoration:none}.modal-close:hover{background:#f1f3f7;color:#26324a}.form-grid{gap:18px}.form-actions{padding-top:8px}.alert{position:relative;border-radius:12px;box-shadow:var(--shadow-sm)}@keyframes modal-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.account-stats{gap:16px}.accounts-filter{gap:14px;background:#fbfcfe}.account-owner{border:1px solid var(--line)}
.schedule-toolbar{background:#fbfcfe}.schedule-table thead th{height:60px}.schedule-table .employee-column{background:#edf1fb}.employee-cell{box-shadow:1px 0 0 var(--line)}.schedule-cell{height:98px}.shift-block{border:1px solid #dbe4ff;background:linear-gradient(145deg,#eff3ff,#e5ebff)}.add-cell-shift{opacity:.6}.schedule-cell:hover .add-cell-shift{opacity:1}
.resident-page{max-width:1050px}.resident-top h1{font-size:clamp(28px,4vw,38px);letter-spacing:-.04em}.resident-card,.coming-soon{box-shadow:var(--shadow-sm)}.resident-card__hero{padding:30px}.resident-details{gap:0}.resident-details div{min-height:90px}.coming-soon{border-left:4px solid var(--blue)}
@media(max-width:980px){.app-shell{display:block}.sidebar{position:fixed;left:-280px;z-index:20;transition:left .22s ease}.sidebar.is-open{left:0}.sidebar-backdrop.is-open{display:block}.menu-button{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#f3f5fa;color:#24304f}.topbar{height:76px}.page-content{padding:22px 18px}.welcome-card{grid-template-columns:1fr}.welcome-copy{padding:48px}.login-card{margin:0 30px 30px}.account-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){body{font-size:14px}.public-header{height:66px;padding:0 16px}.public-footer{font-size:12px}.landing{padding:8px 12px 28px}.welcome-card{min-height:auto;border-radius:20px}.welcome-copy{padding:34px 24px 30px}.welcome-copy h1{margin:18px 0 12px;font-size:37px}.welcome-copy>p{font-size:15px;line-height:1.6}.feature-list{margin-top:20px}.feature-list span{font-size:12px}.login-card{margin:0 10px 10px;padding:28px 22px;border-radius:17px}.login-card__heading{margin-bottom:24px}.topbar{padding:0 13px}.topbar h1{font-size:17px}.topbar p{display:none}.user-chip{padding:5px;border:0;background:transparent}.user-chip>span{width:36px;height:36px}.page-content{padding:18px 12px 28px}.page-heading,.greeting{gap:16px;margin-bottom:18px}.page-heading .btn,.greeting>.btn{width:100%}.heading-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.heading-actions .btn{text-align:center}.stats-grid,.account-stats{grid-template-columns:1fr 1fr;gap:10px}.stat-card{min-height:122px;padding:17px}.stat-card strong{font-size:30px}.stat-card small{font-size:11px}.dashboard-grid{margin-top:12px}.panel{border-radius:15px}.panel-heading{padding:17px}.table-wrap{margin:0}.table-wrap table{min-width:720px}.table-wrap td,.table-wrap th{padding:12px}.table-wrap th:first-child,.table-wrap td:first-child{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 var(--line)}.table-wrap thead th:first-child{background:#f8f9fc;z-index:2}.employee-grid{grid-template-columns:1fr}.employee-card{padding:18px}.modal{align-items:end;padding:0}.modal-dialog{width:100%;max-height:94vh;border-radius:22px 22px 0 0;padding:27px 18px 20px}.form-grid{grid-template-columns:1fr;gap:14px}.span-2{grid-column:auto}.form-actions{position:sticky;bottom:-20px;margin:6px -18px -20px;padding:13px 18px;background:#fff;border-top:1px solid var(--line)}.form-actions .btn{flex:1}.accounts-filter{align-items:stretch;flex-direction:column;padding:15px}.accounts-filter select{width:100%;min-width:0}.accounts-filter .btn{width:100%}.account-owner{flex-direction:column;gap:4px}.schedule-toolbar{padding:13px;gap:9px}.schedule-toolbar form{display:grid;grid-template-columns:1fr auto;width:100%}.schedule-toolbar strong{font-size:12px}.schedule-wrap{border-radius:0 0 15px 15px}.resident-page{margin:20px auto 45px;padding:0 13px}.resident-top .btn{width:100%}.resident-card__hero{padding:20px}.resident-details{grid-template-columns:1fr 1fr;padding:8px}.resident-details div{min-height:78px;padding:14px}.coming-soon{padding:20px}}
@media(max-width:420px){.stats-grid,.account-stats{grid-template-columns:1fr}.heading-actions{grid-template-columns:1fr}.resident-details{grid-template-columns:1fr}.feature-list{display:grid}.welcome-copy h1{font-size:33px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
