@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Poppins:wght@600;700;800&display=swap";.portal-shell{background:linear-gradient(180deg, #f3faf7f0, #fffffffa 42%), var(--surface);grid-template-rows:auto 1fr auto;min-height:100vh;display:grid;overflow-x:hidden}.portal-site-header{z-index:50;box-sizing:border-box;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;width:100%;min-height:76px;padding:12px clamp(16px,3vw,34px);display:grid;position:sticky;top:0;left:0;right:0;box-shadow:0 12px 28px #0f172a0f}.portal-brand{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;min-width:210px;padding:0;display:inline-flex}.portal-brand-mark,.care-home-logo.portal-brand-mark{background:var(--primary);color:#fff;width:44px;height:44px;font-family:var(--font-display);border-radius:14px;font-weight:800;box-shadow:0 10px 22px #1f4d3a2e}.care-home-logo-fallback{text-transform:uppercase}.portal-brand strong,.portal-brand em{display:block}.portal-brand strong{font-family:var(--font-display);letter-spacing:-.01em;font-size:17px}.portal-brand em{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px;font-size:12px;font-style:normal;font-weight:700}.portal-header-nav{justify-content:center;gap:6px;min-width:0;display:flex}.portal-nav-link,.portal-alert-link,.portal-user-pill,.portal-bottom-link{text-decoration:none}.portal-nav-link{min-height:42px;color:var(--muted);border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:800;transition:all .18s;display:inline-flex;position:relative}.portal-nav-link svg{width:14px;height:14px}.portal-nav-link:hover,.portal-nav-link.active{color:var(--primary-hover);background:var(--surface-soft);border-color:#1f4d3a1f}.portal-nav-link b{background:var(--red);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;font-size:11px;line-height:1;display:inline-grid;box-shadow:0 3px 8px #dc26262e}.portal-user-area{justify-content:flex-end;align-items:center;gap:10px;display:flex}.portal-mobile-menu-wrap{display:none;position:relative}.portal-mobile-menu-btn{width:42px;height:42px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #1f4d3a1f;border-radius:14px;place-items:center;display:inline-grid}.portal-mobile-menu-btn svg{width:18px;height:18px}.portal-mobile-menu{z-index:72;border:1px solid var(--border);width:min(320px,100vw - 28px);box-shadow:var(--shadow-lg);background:#fffffffa;border-radius:18px;gap:6px;padding:10px;display:grid;position:absolute;top:calc(100% + 12px);right:0}.portal-mobile-menu:before{content:"";border-left:1px solid var(--border);border-top:1px solid var(--border);background:#fff;width:12px;height:12px;position:absolute;top:-7px;right:16px;transform:rotate(45deg)}.portal-mobile-menu-link{min-height:44px;color:var(--muted);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:850;text-decoration:none;display:flex;position:relative}.portal-mobile-menu-link svg{flex:none;width:17px;height:17px}.portal-mobile-menu-link b{background:var(--red);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:auto;font-size:11px;line-height:1;display:inline-grid}.portal-mobile-menu-link:hover,.portal-mobile-menu-link.active{background:var(--surface-soft);color:var(--primary-hover)}.portal-user-menu-wrap{position:relative}.portal-alert-link{width:42px;height:42px;color:var(--primary);background:var(--primary-light);cursor:pointer;border:1px solid #1f4d3a1f;border-radius:50%;place-items:center;display:inline-grid;position:relative}.portal-alert-link svg{width:18px;height:18px;display:block}.portal-alert-badge{background:var(--red);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-7px;right:-7px;box-shadow:0 4px 10px #dc26263d}.portal-user-pill{width:42px;height:42px;color:var(--avatar-color,var(--primary));border:1px solid var(--avatar-ring,var(--border));background:var(--avatar-bg,#fff);box-shadow:0 0 0 4px color-mix(in srgb, var(--avatar-ring,#1f4d3a24) 70%, transparent);cursor:pointer;aspect-ratio:1;border-radius:50%;place-items:center;padding:0;font-weight:900;line-height:1;display:inline-grid;overflow:hidden}.portal-user-pill span,.portal-user-pill img{width:100%;height:100%}.portal-user-pill span{color:var(--avatar-color,var(--primary));background:0 0;place-items:center;font-size:12px;display:inline-grid}.portal-user-pill img{object-fit:cover;display:block}.portal-user-menu{z-index:70;border:1px solid var(--border);width:238px;box-shadow:var(--shadow-lg);background:#fffffffa;border-radius:18px;gap:6px;padding:10px;display:grid;position:absolute;top:calc(100% + 12px);right:0}.portal-user-menu:before{content:"";border-left:1px solid var(--border);border-top:1px solid var(--border);background:#fff;width:12px;height:12px;position:absolute;top:-7px;right:18px;transform:rotate(45deg)}.portal-user-menu-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 8px 12px;display:flex}.portal-user-menu-avatar{background:var(--avatar-bg);width:38px;height:38px;color:var(--avatar-color);border:1px solid var(--avatar-ring);aspect-ratio:1;border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:900;line-height:1;display:inline-grid;overflow:hidden}.portal-user-menu-avatar img{object-fit:cover;width:100%;height:100%;display:block}.portal-user-menu-head strong,.portal-user-menu-head em{display:block}.portal-user-menu-head strong{text-overflow:ellipsis;white-space:nowrap;max-width:160px;color:var(--ink);overflow:hidden}.portal-user-menu-head em{color:var(--muted);margin-top:1px;font-size:12px;font-style:normal;font-weight:800}.portal-user-menu a,.portal-user-menu button{appearance:none;box-sizing:border-box;width:100%;min-height:42px;color:var(--ink);text-align:left;font-family:var(--font-body);background:0 0;border:0;border-radius:12px;justify-content:flex-start;align-items:center;padding:10px 11px;font-size:14px;font-weight:800;line-height:1.2;text-decoration:none;display:flex}.portal-user-menu a:hover{background:var(--surface-soft);color:var(--primary-hover)}.portal-user-menu button{border-top:1px solid var(--border);color:var(--red);cursor:pointer;border-radius:0 0 12px 12px;margin-top:2px;padding-top:12px}.portal-user-menu button:hover{background:var(--red-lt)}.portal-main{width:100%;max-width:1240px;margin:0 auto;padding:28px clamp(16px,3vw,34px) 34px}.portal-site-footer{width:min(1240px,100% - clamp(32px,6vw,68px));color:var(--muted);border:1px solid var(--border);background:#ffffffdb;border-radius:24px;grid-template-columns:minmax(260px,1.15fr) minmax(240px,1fr);align-items:center;gap:16px;margin:0 auto 22px;padding:16px 18px;display:grid;box-shadow:0 10px 28px #0f172a0e}.portal-site-footer strong{color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;font-size:15px;display:block}.portal-site-footer span,.portal-site-footer a{font-size:12px;font-weight:700}.portal-footer-brand{align-items:center;min-width:0;display:flex}.portal-footer-mark{background:var(--surface-soft);width:34px;height:34px;color:var(--primary);font-family:var(--font-display);border:1px solid #1f4d3a1f;border-radius:12px;flex:none;place-items:center;font-weight:800;display:inline-grid!important}.portal-footer-brand div{min-width:0}.portal-footer-brand span:not(.portal-footer-mark):not(.care-home-logo){color:var(--muted);margin-top:2px;font-size:10px;font-weight:400;display:block}.portal-footer-links{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.portal-footer-links a{color:var(--muted);border-radius:999px;padding:7px 10px;text-decoration:none}.portal-footer-links a:hover,.portal-footer-links a.active{color:var(--primary-hover);background:var(--surface-soft)}.portal-bottom-nav{display:none}@media (width<=1120px){.portal-site-header{grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:68px}.portal-header-nav{display:none}.portal-brand{min-width:0}.portal-brand strong{text-overflow:ellipsis;white-space:nowrap;max-width:min(42vw,360px);overflow:hidden}.portal-mobile-menu-wrap{display:block}.portal-main{padding-bottom:96px}.portal-site-footer{border-radius:18px;grid-template-columns:1fr;width:calc(100% - 32px);margin-bottom:92px}.portal-footer-links{display:none}.portal-bottom-nav{z-index:55;grid-template-columns:repeat(var(--portal-bottom-count,4), minmax(0, 1fr));padding:6px max(10px, env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-right));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff7;gap:0;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 24px #0f172a14}.portal-bottom-link{min-width:0;min-height:54px;color:var(--muted);border-radius:12px;align-content:center;place-items:center;gap:4px;font-size:10px;font-weight:850;line-height:1.1;display:grid}.portal-bottom-link svg{width:18px;height:18px}.portal-bottom-link span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.portal-bottom-link.active{background:var(--surface-soft);color:var(--primary-hover)}}@media (width<=760px){.portal-site-header{justify-content:space-between;gap:12px;min-height:68px;display:flex}.portal-brand{min-width:0}.portal-brand-mark{border-radius:13px;width:40px;height:40px}.portal-brand strong{text-overflow:ellipsis;white-space:nowrap;max-width:48vw;overflow:hidden}.portal-header-nav,.portal-user-area .notification-menu-wrap{display:none}.portal-main{padding-top:20px;padding-bottom:96px}.portal-site-footer{border-radius:20px;grid-template-columns:1fr;gap:12px;width:calc(100% - 24px);margin-bottom:88px;padding:14px}.portal-footer-links{display:none}.portal-bottom-link{min-height:52px;font-size:9.5px}.portal-bottom-link svg{width:16px;height:16px}}.login-screen{--login-green:#1f4d3a;--login-green-dark:#16382b;--login-green-light:#c8a96b;--login-ink:#0f172a;--login-muted:#64748b;--login-soft:#f8fafc;background:var(--login-soft);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px 20px;display:flex}.login-screen-default{--login-green:#1f4d3a;--login-green-dark:#16382b;--login-green-light:#c8a96b}.login-browser-bar{z-index:3;pointer-events:none;width:100%;height:56px;display:none;position:fixed;top:0;left:0}.login-browser-line{background:#d1d5db;height:2px;box-shadow:0 1px 8px #215f4d38}.login-browser-icon{background:#fff;border:1px solid #d7d7dc;border-bottom-right-radius:16px;border-bottom-left-radius:16px;justify-content:center;align-items:center;gap:7px;width:74px;height:52px;display:flex;position:absolute;top:2px;right:28px;box-shadow:0 4px 14px #0f172a29}.login-browser-icon span{border-radius:4px;width:11px;height:11px}.login-browser-icon span:first-child{background:#ff3b30}.login-browser-icon span:nth-child(2){background:#fc0}.login-browser-icon span:nth-child(3){background:#34c759}.login-top-strip{width:min(100%,1180px);min-height:28px;color:var(--login-muted);justify-content:flex-end;align-items:center;margin:0 0 8px;padding:0 4px;font-size:12px;font-weight:700;display:flex}.login-top-strip strong{color:var(--login-green);background:#ffffffb8;border:1px solid #1f4d3a1f;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;display:inline-flex}.login-top-strip svg{width:14px;height:14px}.login-shell{background:#fff;border-radius:24px;width:min(100%,1180px);min-height:620px;animation:.55s cubic-bezier(.22,.68,0,1.15) both login-rise;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 60px #0f172a1f,0 8px 30px #0f172a13,0 0 0 1px #0f172a14}.login-shell:before{content:"";background:linear-gradient(90deg, var(--login-green) 0%, var(--login-green-dark) 45%, var(--login-green-light) 100%);z-index:2;width:100%;height:4px;position:absolute;top:0;left:0}@keyframes login-rise{0%{opacity:0;transform:translateY(20px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.login-photo-panel{flex:1;min-width:0;position:relative;overflow:hidden}.login-photo-bg,.login-photo-overlay{position:absolute;inset:0}.login-photo-bg{background:var(--login-photo) center / cover no-repeat;transform:scale(1.01)}.login-screen-community .login-photo-bg{filter:brightness(1.02)saturate(1.1)contrast(1.05);transform:scale(1.012)}.login-photo-overlay{background:linear-gradient(#0f172a08 32%,#0f172a3d)}.login-screen-community .login-photo-overlay{background:linear-gradient(90deg,#ffffff14,#ffffff03 50%),linear-gradient(#ffffff1a,#ffffff03 36%),linear-gradient(#0f172a05 34%,#0f172a57)}.login-screen-community .login-photo-panel:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(circle at 22% 18%,#ffffff29,#0000 26%),linear-gradient(115deg,#ffffff0f,#0000 42%);position:absolute;inset:0}.login-screen-community .login-photo-caption{background:#0a1b15a8;border:1px solid #ffffff29;border-radius:16px;width:min(390px,100% - 52px);padding:15px 17px;bottom:26px;left:26px;right:auto;box-shadow:0 16px 38px #0f172a4d,inset 0 1px #ffffff24}.login-photo-caption em{color:#ffffffe0;letter-spacing:.04em;text-transform:uppercase;background:#ffffff29;border-radius:999px;width:fit-content;margin-bottom:10px;padding:6px 10px;font-size:11px;font-style:normal;font-weight:800;display:inline-flex}.login-screen-community .login-photo-caption strong{font-size:20px}.login-screen-community .login-photo-caption span{max-width:340px;font-size:13px}.login-screen-default .login-photo-bg{background:linear-gradient(#ffffff94 1px,#0000 1px) 0 0/96px 96px,linear-gradient(90deg,#ffffff94 1px,#0000 1px) 0 0/96px 96px,radial-gradient(circle at 78% 28%,#1f4d3a1f,#0000 19%),radial-gradient(circle at 26% 72%,#c8a96b29,#0000 24%),linear-gradient(145deg,#f7edf5 0%,#f9f7f2 52%,#eaf7f4 100%);transform:none}.login-screen-default .login-photo-bg:before,.login-screen-default .login-photo-bg:after{content:"";pointer-events:none;border:1px solid #ffffffb8;border-radius:999px;position:absolute}.login-screen-default .login-photo-bg:before{width:140px;height:140px;top:32%;right:20%}.login-screen-default .login-photo-bg:after{background:#ffffff2e;width:180px;height:180px;bottom:12%;left:16%}.login-screen-default .login-photo-overlay{background:linear-gradient(#ffffff0a,#fff3),linear-gradient(125deg,#1f4d3a0d,#0f172a0a)}.login-default-story{z-index:2;color:#173526;flex-direction:column;justify-content:center;width:min(560px,100% - 76px);min-height:100%;padding:86px 58px 54px;display:flex;position:relative}.login-story-kicker{width:fit-content;color:var(--login-green);letter-spacing:.04em;text-transform:uppercase;background:#1f4d3a1a;border-radius:999px;margin-bottom:22px;padding:8px 12px;font-size:12px;font-weight:800}.login-default-story h2{color:#173526;max-width:520px;font-family:var(--font-display);letter-spacing:0;margin:0;font-size:clamp(36px,5vw,48px);font-weight:800;line-height:.98}.login-default-story p{color:#47627a;max-width:420px;margin:24px 0 0 auto;font-size:15px;font-weight:600;line-height:1.55}.login-story-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:58px;display:grid}.login-story-grid span{color:#365067;background:#ffffff75;border:1px solid #1f4d3a1a;border-radius:16px;flex-direction:column;justify-content:space-between;gap:12px;min-height:86px;padding:14px;font-size:12px;font-weight:800;line-height:1.25;display:flex;box-shadow:0 16px 34px #0f172a0f}.login-story-grid svg{width:20px;height:20px;color:var(--login-green)}.login-screen-default .login-photo-caption{display:none}.login-photo-caption{z-index:2;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a94;border-radius:16px;padding:16px 18px;position:absolute;bottom:28px;left:28px;right:28px;box-shadow:0 14px 34px #0f172a33}.login-photo-caption strong,.login-photo-caption span{display:block}.login-photo-caption strong{font-family:var(--font-display);font-size:19px;font-weight:800;line-height:1.15}.login-photo-caption span{color:#ffffffc7;margin-top:5px;font-size:13px;font-weight:600}.login-form-panel{background:#fff;flex-direction:column;flex:0 0 430px;justify-content:center;align-items:center;width:430px;padding:34px 30px 28px;display:flex;position:relative}.login-screen-tenant .login-form-panel{padding-top:86px}.login-panel-secure-badge{display:none}.login-screen-tenant .login-panel-secure-badge{color:#fff;min-width:132px;min-height:34px;box-shadow:none;background:#000;border-radius:999px;justify-content:center;align-items:center;gap:7px;margin:0;padding:0 18px;font-size:12.5px;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:26px;right:34px}.login-screen-tenant .login-panel-secure-badge svg{flex:none;width:14px;height:14px}.login-form-forgot{justify-content:center}.login-back-link{color:var(--login-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:12px;font-weight:800;display:inline-flex;position:absolute;top:24px;left:28px}.login-back-link:hover{color:var(--login-green)}.login-back-link svg{width:15px;height:15px}.login-brand-mark{width:52px;height:52px;color:var(--login-green);background:#eef7f2;border:1px solid #1f4d3a2e;border-radius:16px;justify-content:center;align-items:center;margin-bottom:10px;display:flex;overflow:hidden;box-shadow:0 10px 26px #215f4d29}.login-brand-mark.has-logo{width:min(118px,38vw);height:56px;box-shadow:none;background:0 0;border:0;border-radius:0;margin-bottom:10px;overflow:visible}.login-screen-default .login-brand-mark{background:#eef7f2;border-color:#1f4d3a2e}.login-brand-mark svg{width:27px;height:27px}.login-brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.login-title{font-family:var(--font-display);color:var(--login-ink);text-align:center;letter-spacing:-.035em;margin:0 0 2px;font-size:22px;font-weight:800;line-height:1.12}.login-subtitle{color:#94a3b8;text-align:center;margin:0 0 28px;font-size:13px;font-weight:500;line-height:1.45}.login-field{width:100%;margin-bottom:12px}.login-field>span{color:var(--login-muted);font-size:10px;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-weight:700;display:block}.login-input-wrap{width:100%;position:relative}.login-input-wrap>svg{color:#94a3b8;width:15px;height:15px;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.login-input-wrap input{width:100%;height:48px;color:var(--login-ink);background:#effaf6;border:1px solid #04785724;border-radius:12px;outline:none;padding:0 38px 0 34px;font-size:15px;transition:border-color .2s,box-shadow .2s,background .2s}.login-input-wrap input::placeholder{color:#cbd5e1}.login-input-wrap input:focus{border-color:var(--login-green);background:#fff;box-shadow:0 0 0 4px #1f4d3a1a}.login-eye{color:#94a3b8;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.login-eye:hover{color:var(--login-green)}.login-eye svg{width:16px;height:16px}.login-options-row{justify-content:space-between;align-items:center;gap:16px;width:100%;margin:0 0 24px;display:flex}.login-remember{cursor:pointer;align-items:center;gap:7px;line-height:1;display:inline-flex}.login-remember input{width:14px;height:14px;accent-color:var(--login-green);flex:none}.login-remember span,.login-options-row button{font-size:11px}.login-remember span{color:var(--login-muted)}.login-options-row button{color:var(--login-green);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:none}.login-options-row button:hover:not(:disabled){text-decoration:underline}.login-options-row button:disabled{opacity:.65;cursor:not-allowed}.login-submit{background:var(--login-green);color:#fff;width:100%;height:52px;font-size:16px;font-family:var(--font-display);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:7px;margin-bottom:10px;font-weight:700;transition:background .2s,transform .1s,box-shadow .2s;display:inline-flex;box-shadow:0 8px 22px #1f4d3a38}.login-submit svg{width:18px;height:18px}.login-submit:hover:not(:disabled){background:var(--login-green-dark);transform:translateY(-2px);box-shadow:0 0 24px #0478572e}.login-submit:active:not(:disabled){transform:scale(.98)}.login-submit:disabled{cursor:not-allowed;opacity:.75}.login-submit:disabled .spinner{border-color:#fff #ffffff6b #ffffff6b}.login-submit .spinner{border-width:2.25px;width:11px;height:11px}.login-links-row{color:#94a3b8;flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;width:100%;margin:14px 0 13px;font-size:12px;display:flex}.login-links-row a{color:var(--login-muted);font-weight:600;text-decoration:none}.login-links-row a:hover{color:var(--login-green)}.login-store-row{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.login-store-btn{color:#fff;opacity:.94;background:#0f172a;border:1px solid #0f172ad9;border-radius:12px;flex:0 0 140px;justify-content:flex-start;align-items:center;gap:9px;width:140px;height:44px;padding:7px 12px;text-decoration:none;transition:transform .2s,background .2s,opacity .2s;display:inline-flex;box-shadow:0 8px 18px #0f172a1a}.login-store-btn:hover{opacity:1;background:#000;transform:translateY(-1px)}.login-store-btn svg{flex:none;width:20px;height:20px}.login-store-btn span{font-size:12px;font-family:var(--font-display);white-space:nowrap;flex-direction:column;align-items:flex-start;font-weight:800;line-height:1.1;display:flex}.login-store-btn small{color:#ffffffb8;font-size:7px;font-weight:600;display:block}.login-screen-community{isolation:isolate;background:linear-gradient(#0f172a1a,#0f172a29),#eef4f1;position:relative;overflow:hidden}.login-screen-community:before{content:"";z-index:-2;background:var(--login-photo) center / cover no-repeat;filter:blur(12px)saturate(.9)brightness(.58);position:fixed;inset:-26px;transform:scale(1.06)}.login-screen-community:after{content:"";z-index:-1;background:linear-gradient(90deg,#102434bd,#1024346b 48%,#102434a3),#f3f8f624;position:fixed;inset:0}.login-screen-community .login-top-strip{z-index:5;justify-content:flex-end;width:min(100%,1060px);min-height:0;margin:0 0 10px;padding:0;position:static}.login-screen-community .login-top-strip strong{color:#fff;background:#0b0f19;border:0;border-radius:999px;min-height:30px;padding:7px 13px;box-shadow:0 14px 28px #0f172a2e}.login-screen-community .login-shell{border-radius:14px;grid-template-columns:minmax(0,1fr) 450px;align-items:stretch;width:min(100%,1060px);min-height:612px;display:grid;overflow:hidden;box-shadow:0 24px 72px #08121e57,0 0 0 1px #ffffff1a}.login-screen-tenant .login-shell{height:680px;min-height:0}.login-screen-community .login-shell:before{display:none}.login-screen-community .login-photo-panel{z-index:1;flex:none;width:100%;min-width:0;height:100%}.login-screen-community .login-form-panel{width:100%;min-width:0;min-height:inherit;height:100%;box-shadow:none;z-index:3;background:#fff;flex:none;padding:76px 64px 30px;position:relative;overflow:visible}.login-screen-community .login-panel-secure-badge{background:#0b0f19}.login-screen-community .login-brand-mark.has-logo{width:min(118px,34vw);height:62px;margin-bottom:12px}.login-screen-community .login-title{letter-spacing:-.015em;max-width:330px;font-size:25px;line-height:1.08}.login-screen-community .login-subtitle{color:#7d8da5;margin-bottom:20px;font-size:14px;line-height:1.38}.login-screen-community .login-field{margin-bottom:8px}.login-screen-tenant .login-field{padding-bottom:0;position:relative}.login-screen-tenant .login-field.has-field-error{padding-bottom:24px}.login-screen-tenant .field-error{margin-top:0;margin-bottom:0;position:absolute;bottom:0;left:0}.login-screen-community .login-field>span{letter-spacing:.085em;margin-bottom:7px;font-size:10.5px}.login-screen-community .login-input-wrap input{background:#fff;border-color:#0f172a5c;border-radius:10px;height:42px;font-size:14px}.login-screen-community .login-input-wrap input:focus{border-color:#0f172a;box-shadow:0 0 0 3px #1f4d3a1a}.login-screen-community .login-options-row{margin-bottom:14px}.login-screen-community .login-submit{background:#202124;border-radius:12px;height:44px;margin-bottom:8px;font-size:15px;font-weight:800;box-shadow:0 10px 20px #0f172a1f,inset 0 1px #ffffff24}.login-screen-community .login-submit svg{width:17px;height:17px}.login-screen-community .login-submit:hover:not(:disabled){background:#0f172a;box-shadow:0 12px 22px #0f172a29}.login-screen-community .login-submit-tenant-login{letter-spacing:0;border-radius:999px;flex:0 0 52px;align-self:stretch;gap:8px;height:52px;min-height:52px;margin:2px 0 12px;font-family:inherit;font-size:16px;font-weight:800;box-shadow:0 12px 24px #0f172a24}.login-screen-community .login-submit-tenant-login svg{flex:none;width:18px;height:18px}.login-screen-community .login-submit-tenant-login:hover:not(:disabled){transform:none;box-shadow:0 14px 26px #0f172a29}.login-screen-tenant .login-feedback-slot{align-items:flex-start;width:100%;min-height:0;margin:0;display:flex}.login-screen-tenant .login-feedback-slot.has-feedback{margin:0 0 16px}.login-screen-tenant .login-feedback-slot>*{width:100%}.login-screen-community .error-alert,.login-screen-community .login-success-alert{border-radius:12px;margin-bottom:0;padding:9px 11px;font-size:12px;line-height:1.35}.login-screen-community .field-error{font-size:13px;line-height:1.35}.login-screen-community .login-links-row{color:#9aa8bb;margin:14px 0;position:relative}.login-screen-community .login-links-row:before,.login-screen-community .login-links-row:after{content:"";background:#dbe2ea;flex:44px;max-width:54px;height:1px}.login-screen-community .login-links-row a,.login-screen-community .login-links-row span{font-size:11px}.login-screen-community .login-store-btn{color:#fff;background:#0b0f19;border-color:#0b0f19;border-radius:10px;flex:1 1 0;width:100%;height:40px;padding:6px 10px;box-shadow:0 8px 18px #0f172a1f}.login-screen-community .login-store-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.login-screen-community .login-store-btn span{min-width:0}.login-screen-community .login-store-btn svg{width:16px;height:16px}.login-screen-community .login-store-btn small{color:#ffffffb8}.login-screen-community .login-powered{color:#e2e8f0c7;margin-top:18px}.login-form-forgot .login-links-row,.login-form-forgot .login-store-row{display:none}.login-form-forgot .login-submit{margin-bottom:0}.login-powered{color:#94a3b8;letter-spacing:.01em;text-align:center;margin:14px 0 0;font-size:11px;font-weight:600}.login-powered span{color:#cbd5e1;margin:0 7px}.reset-screen{--login-green:#1f4d3a;--login-green-dark:#16382b;--login-green-light:#c8a96b;--login-ink:#0f172a;--login-muted:#64748b;--login-soft:#f8fafc;background:radial-gradient(circle at 20% 20%, #1f4d3a1f, transparent 32%), radial-gradient(circle at 82% 24%, #c8a96b1f, transparent 30%), var(--login-soft);place-items:center;min-height:100vh;padding:24px;display:grid}.reset-card{background:#fff;border:1px solid #0f172a14;border-radius:24px;width:min(100%,480px);padding:34px;position:relative;box-shadow:0 18px 60px #0f172a1f}.reset-back-link{color:var(--login-muted);align-items:center;gap:7px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.reset-back-link:hover{color:var(--login-green)}.reset-icon{width:54px;height:54px;color:var(--login-green);background:#eef7f2;border:1px solid #1f4d3a29;border-radius:18px;place-items:center;margin:24px 0 18px;display:grid}.reset-icon svg{width:25px;height:25px}.reset-card h1{color:var(--login-ink);font-family:var(--font-display);margin:0 0 8px;font-size:28px;line-height:1.1}.reset-card p,.reset-muted{color:var(--login-muted);margin:0 0 22px;font-size:14px;line-height:1.5}.reset-form{gap:6px;display:grid}.reset-submit{background:linear-gradient(135deg, var(--login-green), var(--login-green-dark));color:#fff;border:1px solid #1f4d3a14;min-height:54px;margin-top:8px;margin-bottom:0}.reset-submit:hover:not(:disabled){background:linear-gradient(135deg, #245b45, var(--login-green-dark));color:#fff}.reset-submit:disabled{color:#ffffffeb;box-shadow:none;background:#7fa191}.reset-login-button{background:var(--login-green);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:100%;height:50px;font-weight:800;text-decoration:none;display:inline-flex}.reset-login-button:hover{background:var(--login-green-dark)}.input-error{background:snow!important;border-color:#f87171!important;box-shadow:0 0 0 3px #f8717114!important}.field-error{color:#b91c1c;margin-top:5px;margin-bottom:6px;padding-left:3px;font-size:10.5px;font-weight:700;line-height:1.35;display:block}.error-alert{color:#b91c1c;text-align:left;background:#fef2f2;border:1px solid #fecaca;border-radius:14px;width:100%;margin:0 0 16px;padding:13px 15px;font-size:13px;font-weight:700;line-height:1.4}.login-success-alert{color:#166534;text-align:left;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:14px;width:100%;margin:0 0 16px;padding:13px 15px;font-size:13px;font-weight:700;line-height:1.4}.login-feedback-slot{width:100%}.btn-loader{justify-content:center;align-items:center;gap:8px;font-weight:850;display:inline-flex}@keyframes spin{to{transform:rotate(360deg)}}.sso-screen{background:radial-gradient(circle at 50% 14%,#1f4d3a1f,#0000 28%),linear-gradient(#f3faf7f5,#fff 58%);justify-content:center;gap:20px;padding:22px 18px}.sso-shell{text-align:center;background:#fffffff5;border:1px solid #0f172a14;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;width:min(100%,410px);min-height:300px;padding:30px 30px 28px;animation:.55s cubic-bezier(.22,.68,0,1.15) both login-rise;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 50px #0f172a1c,0 10px 30px #1f4d3a14}.sso-shell:before{content:"";background:linear-gradient(90deg, var(--login-green), var(--login-green-dark), var(--login-green-light));height:5px;position:absolute;inset:0 0 auto}.sso-shell .login-brand-mark{margin-bottom:18px}.sso-shell .sso-brand-mark.has-logo{background:#eef7f2;border-radius:12px;width:min(120px,48vw);height:62px;margin-bottom:16px;padding:8px;overflow:hidden}.sso-secure-chip{min-height:34px;color:var(--login-green);background:#fff;border:1px solid #1f4d3a21;border-radius:999px;align-items:center;gap:7px;margin-bottom:14px;padding:0 13px;font-size:13px;font-weight:850;display:inline-flex;box-shadow:0 8px 18px #0f172a0d}.sso-secure-chip svg{width:15px;height:15px}.sso-kicker{color:var(--login-green);text-transform:uppercase;letter-spacing:.07em;background:#eef7f2;border-radius:999px;align-items:center;gap:7px;margin:0 0 12px;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.sso-kicker svg{width:15px;height:15px}.sso-shell h1{color:var(--login-ink);font-family:var(--font-display);margin:0 0 10px;font-size:clamp(24px,4vw,31px);line-height:1.08}.sso-shell p{max-width:360px;color:var(--login-muted);margin:0;font-size:15px;font-weight:650;line-height:1.55}.sso-progress{background:#eef7f2;border-radius:999px;width:min(100%,210px);height:6px;margin-top:24px;overflow:hidden}.sso-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--login-green), var(--login-green-dark));width:34%;height:100%;animation:1.1s ease-in-out infinite sso-progress;display:block}@keyframes sso-progress{0%{transform:translate(-110%)}to{transform:translate(260%)}}.sso-return-btn{width:auto;min-width:180px;margin-top:24px}@media (width<=540px){.sso-screen{justify-content:center}.sso-shell{min-height:290px;padding:28px 20px 24px}}@media (width<=1050px){.login-shell{flex-direction:column;max-width:640px;min-height:auto}.login-photo-panel{flex:none;width:100%;height:300px}.login-default-story{width:100%;min-height:300px;padding:34px 26px 28px}.login-default-story h2{max-width:620px;font-size:34px;line-height:1.04}.login-default-story p{max-width:620px;margin:14px 0 0}.login-story-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}.login-form-panel{flex:auto;width:100%}.login-screen-tenant .login-shell{height:auto;min-height:auto}.login-screen-tenant .login-form-panel{overflow-y:visible}.login-screen-community .login-top-strip{justify-content:flex-end;width:min(100%,640px);margin-bottom:10px;position:static}.login-screen-community .login-shell{border-radius:14px;flex-direction:column;width:min(100%,640px);min-height:auto;display:flex}.login-screen-community .login-photo-panel{background:#f8fafc;flex:none;height:auto;min-height:0;padding-top:380px}.login-screen-community .login-photo-bg,.login-screen-community .login-photo-overlay{height:380px;inset:0 0 auto}.login-screen-community .login-photo-panel:after{height:380px;bottom:auto}.login-screen-community .login-photo-caption{background:#11231d;border-radius:14px;width:auto;margin:18px 24px 24px;padding:16px 18px;position:relative;bottom:auto;left:auto;right:auto;box-shadow:0 14px 28px #0f172a29}.login-screen-community .login-form-panel{flex:auto;width:100%;height:auto;min-height:auto;padding:82px 34px 30px}}@media (width<=540px){.login-screen{justify-content:flex-start;padding:14px 12px 18px}.login-top-strip{justify-content:flex-end;width:100%;min-height:0;margin:0 0 8px}.login-browser-icon{width:66px;height:48px;right:10px}.login-photo-panel{height:220px}.login-screen-default .login-photo-panel{height:360px}.login-default-story{min-height:360px;padding:32px 22px}.login-default-story h2{font-size:31px}.login-default-story p{font-size:13px}.login-story-kicker{margin-bottom:14px}.login-story-grid{grid-template-columns:1fr;gap:8px}.login-story-grid span{flex-direction:row;justify-content:flex-start;align-items:center;min-height:auto;padding:11px 12px}.login-photo-caption{border-radius:14px;padding:12px 14px;bottom:14px;left:14px;right:14px}.login-screen-community .login-photo-caption{width:auto;bottom:16px;left:16px;right:16px}.login-screen-community .login-photo-caption strong{font-size:18px}.login-photo-caption strong{font-size:16px}.login-photo-caption span{font-size:12px}.login-form-panel{padding:24px 18px 20px}.login-screen-tenant .login-form-panel{padding-top:78px}.login-screen-tenant .login-panel-secure-badge{min-width:122px;min-height:34px;padding:0 16px;font-size:12px;top:20px;right:20px}.login-top-strip{flex-direction:column;align-items:flex-start;gap:4px}.login-store-row{flex-direction:column}.login-store-btn{flex-basis:auto;width:100%}.login-screen-community .login-top-strip{width:100%}.login-screen-community .login-photo-panel{height:auto;padding-top:300px}.login-screen-community .login-photo-bg,.login-screen-community .login-photo-overlay,.login-screen-community .login-photo-panel:after{height:300px}.login-screen-community .login-photo-caption{width:auto;margin:14px 14px 18px;padding:14px 15px;bottom:auto;left:auto;right:auto}.login-screen-community .login-form-panel{padding:76px 20px 22px}.login-screen-community .login-links-row:before,.login-screen-community .login-links-row:after{max-width:34px}.login-screen-community .login-store-row{grid-template-columns:1fr;gap:8px}.login-screen-community .login-store-btn{flex-basis:auto;justify-content:center;width:100%}}.super-login-screen{background:radial-gradient(circle at 16% 18%,#c8a96b2e,#0000 30%),radial-gradient(circle at 88% 74%,#6e8fa32e,#0000 28%),#f8fafc;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);min-height:100vh;display:grid}.super-login-hero{color:#fff;background:linear-gradient(135deg,#1f4d3af0,#16382bf5),linear-gradient(45deg,#ffffff14 25%,#0000 25%);flex-direction:column;justify-content:space-between;min-height:100vh;padding:48px;display:flex}.super-login-brand,.super-brand{align-items:center;gap:12px;display:flex}.super-login-brand>span,.super-brand>span,.super-login-lock{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-hover));border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex;box-shadow:0 12px 26px #1f4d3a33}.super-login-brand>span{box-shadow:none;background:#ffffff24}.super-login-brand svg,.super-brand svg,.super-login-lock svg{width:22px;height:22px}.super-login-brand strong,.super-brand strong{font-family:var(--font-display);font-size:18px;line-height:1.1;display:block}.super-login-brand em,.super-brand em{color:#ffffffb8;letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-size:11px;font-style:normal;font-weight:800;display:block}.super-login-copy{max-width:620px}.super-login-copy p{color:#f6e9c7;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:900}.super-login-copy h1{color:#fff;letter-spacing:0;margin:0;font-size:54px;line-height:1.02}.super-login-copy span{color:#ffffffc7;max-width:540px;margin-top:20px;font-size:16px;line-height:1.7;display:block}.super-login-card{border:1px solid var(--border);background:#fffffff0;border-radius:22px;place-self:center;gap:16px;width:min(440px,100% - 40px);padding:34px;display:grid;box-shadow:0 24px 70px #0f172a24}.super-login-card h2{margin:4px 0 0}.super-login-card p{margin:-8px 0 4px}.super-field,.super-form-grid label{gap:7px;display:grid}.super-field span,.super-form-grid label span{color:var(--ink);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.super-field>div{background:#effaf6;border:1px solid #1f4d3a24;border-radius:13px;align-items:center;gap:10px;min-height:50px;padding:0 14px;display:flex}.super-field svg{color:var(--primary);flex:none}.super-field input,.super-form-grid input,.super-form-grid select,.super-form-grid textarea{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;font-size:14px;font-weight:650}.super-field button{background:0 0;border:0}.super-login-check{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.super-primary-btn{background:var(--primary);color:#fff;min-height:46px;font-family:var(--font-display);cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:9px;padding:0 18px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.super-primary-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.super-primary-btn:disabled{opacity:.65;cursor:not-allowed}.super-shell{background:radial-gradient(circle at 90% 8%, #c8a96b1f, transparent 26%), radial-gradient(circle at 14% 82%, #6e8fa31f, transparent 30%), var(--surface);grid-template-columns:264px minmax(0,1fr);min-height:100vh;display:grid}.super-sidebar{border-right:1px solid var(--border);background:#fffffff0;flex-direction:column;gap:22px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0;box-shadow:8px 0 26px #0f172a0b}.super-brand{border-bottom:1px solid var(--border);padding:0 8px 20px}.super-brand em{color:var(--muted)}.super-sidebar nav{gap:6px;display:grid}.super-sidebar nav a,.super-sidebar button{min-height:46px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:13px;align-items:center;gap:12px;padding:0 14px;font-weight:800;display:flex}.super-sidebar nav a:hover,.super-sidebar nav a.active,.super-sidebar button:hover{background:var(--surface-soft);color:var(--primary-hover)}.super-sidebar button{color:var(--red)}.super-main{align-content:start;gap:22px;min-width:0;padding:28px;display:grid}.super-topbar{border:1px solid var(--border);min-height:82px;box-shadow:var(--shadow-sm);background:#ffffffeb;border-radius:20px;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;display:flex}.super-topbar p{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 2px;font-size:11px;font-weight:900}.super-topbar h1{margin:0}.super-header-profile-wrap{position:relative}.super-header-profile{text-align:right;background:0 0;border:0;align-items:center;gap:11px;min-width:0;padding:0;display:inline-flex}.super-header-profile>span{width:42px;height:42px;color:var(--primary-hover);font-family:var(--font-display);background:#eef7f2;border:1px solid #1f4d3a1f;border-radius:999px;flex:none;place-items:center;font-size:13px;font-weight:900;display:inline-grid}.super-header-profile>svg{width:16px;height:16px;color:var(--muted)}.super-header-profile strong,.super-header-profile em{text-align:right;display:block}.super-profile-menu{z-index:20;border:1px solid var(--border);background:#fff;border-radius:16px;gap:6px;width:250px;padding:10px;display:grid;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 18px 50px #0f172a24}.super-profile-menu>div{border-bottom:1px solid var(--border);padding:8px 10px 10px}.super-profile-menu strong,.super-profile-menu span{display:block}.super-profile-menu span{color:var(--muted);word-break:break-word;margin-top:2px;font-size:12px;font-weight:700}.super-profile-menu button,.super-profile-menu a{min-height:40px;color:var(--ink2);background:0 0;border:0;border-radius:11px;align-items:center;gap:10px;padding:0 10px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.super-profile-menu button:hover,.super-profile-menu a:hover{background:var(--surface-soft);color:var(--primary-hover)}.super-profile-menu button.danger{color:var(--red)}.super-header-profile strong{color:var(--ink);font-size:14px;line-height:1.2}.super-header-profile em{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:11px;font-style:normal;font-weight:800}.super-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.super-stats>div{border:1px solid var(--border);min-height:124px;box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;align-content:center;gap:7px;padding:20px;display:grid}.super-stats svg{width:24px;height:24px;color:var(--primary)}.super-stats span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.super-stats strong{color:var(--ink);font-family:var(--font-display);font-size:30px;line-height:1}.super-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.super-panel{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;gap:18px;padding:22px;display:grid}.super-panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:14px;display:flex}.super-panel-head h2,.super-panel-head p{margin:0}.super-panel-head p{margin-top:4px}.super-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.super-full{grid-column:1/-1}.super-form-grid input,.super-form-grid select,.super-form-grid textarea{background:#effaf6;border:1px solid #1f4d3a24;border-radius:12px;min-height:46px;padding:0 13px}.super-form-grid textarea{resize:vertical;min-height:104px;padding:12px 13px;line-height:1.5}.super-care-list{gap:10px;display:grid}.super-care-row{border:1px solid var(--border);background:linear-gradient(135deg,#fff,#f8fbfa);border-radius:15px;grid-template-columns:44px minmax(180px,1fr) minmax(110px,auto) minmax(110px,auto) 40px;align-items:center;gap:14px;min-height:72px;padding:12px;display:grid}.super-user-row{border:1px solid var(--border);background:linear-gradient(135deg,#fff,#f8fbfa);border-radius:15px;grid-template-columns:44px minmax(180px,1fr) minmax(90px,auto) minmax(160px,auto) 40px 40px;align-items:center;gap:14px;min-height:72px;padding:12px;display:grid}.super-care-mark{background:var(--primary);color:#fff;width:44px;height:44px;font-family:var(--font-display);border-radius:13px;place-items:center;font-weight:900;display:grid}.super-care-row strong,.super-care-row span,.super-user-row strong,.super-user-row span{display:block}.super-care-row strong,.super-user-row strong{color:var(--ink);font-weight:850}.super-care-row span,.super-care-row em,.super-user-row span,.super-user-row em{color:var(--muted);font-size:12px;font-style:normal;font-weight:700}.super-care-row code,.super-user-row code{text-overflow:ellipsis;border:1px solid var(--border);background:var(--surface);width:fit-content;max-width:180px;color:var(--primary-hover);border-radius:999px;padding:6px 9px;font-size:11px;overflow:hidden}.super-user-list,.super-mini-list,.super-action-grid,.super-media-grid{gap:10px;display:grid}.super-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.super-action-grid a,.super-mini-list a{border:1px solid var(--border);background:var(--surface);min-height:58px;color:var(--primary-hover);border-radius:14px;align-items:center;gap:10px;padding:12px;font-weight:850;display:flex}.super-mini-list a{justify-content:space-between}.super-mini-list span{color:var(--muted);font-size:12px;font-weight:700}.super-primary-link,.super-secondary-link,.super-secondary-btn,.super-icon-link{min-height:38px;color:var(--primary-hover);background:#eef7f2;border:1px solid #1f4d3a24;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:12px;font-weight:850;display:inline-flex}.super-secondary-link,.super-secondary-btn{color:var(--muted);background:#fff}.super-icon-link{border-radius:12px;width:38px;padding:0}.super-care-edit-link{width:44px;min-height:44px;font-size:20px}.super-care-edit-link svg{width:21px;height:21px}button.super-icon-link{cursor:pointer}.super-filter-row{grid-template-columns:minmax(240px,1fr) 180px;gap:12px;display:grid}.super-filter-row-wide{grid-template-columns:minmax(240px,1fr) 220px}.super-filter-row label{background:#effaf6;border:1px solid #1f4d3a24;border-radius:13px;align-items:center;gap:10px;min-height:44px;padding:0 13px;display:flex}.super-filter-row input,.super-filter-row select{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-weight:700}.super-filter-row>select{background:#effaf6;border:1px solid #1f4d3a24;border-radius:13px;min-height:44px;padding:0 13px}.super-form-actions{flex-wrap:wrap;gap:10px;display:flex}.super-password-page{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:18px;display:grid}.super-password-form{max-width:720px}.super-page-icon{width:44px;height:44px;color:var(--primary-hover);background:#eef7f2;border:1px solid #1f4d3a1f;border-radius:14px;flex:none;place-items:center;display:inline-grid}.super-page-icon svg{width:21px;height:21px}.super-info-list{gap:10px;display:grid}.super-info-list div{border:1px solid var(--border);background:var(--surface);border-radius:14px;gap:4px;padding:12px;display:grid}.super-info-list span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:850}.super-info-list strong{overflow-wrap:anywhere;min-width:0;color:var(--ink)}.super-check{grid-template-columns:auto 1fr;align-items:center;gap:10px;display:flex!important}.super-access-options{background:#fbfefd;border:1px solid #1f4d3a24;border-radius:14px;gap:10px;padding:14px;display:grid}.super-access-options>span{color:var(--ink);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.super-access-options label{border:1px solid var(--border);background:#fff;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:2px 10px;padding:10px;display:grid}.super-access-options label input{grid-row:span 2;width:auto;min-height:auto;margin-top:3px}.super-access-options label strong{color:var(--ink);line-height:1.2}.super-access-options label small{color:var(--muted);font-weight:650}.super-access-options>input{min-height:46px;color:var(--ink);background:#effaf6;border:1px solid #1f4d3a24;border-radius:12px;padding:0 13px;font-weight:700}.super-modal-backdrop{z-index:50;background:#0f172a61;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.super-success-modal{border:1px solid var(--border);text-align:center;background:#fff;border-radius:20px;justify-items:center;gap:14px;width:min(440px,100%);padding:26px;display:grid;box-shadow:0 24px 70px #0f172a33}.super-success-icon{color:#0f8a5f;width:54px;height:54px}.super-success-modal h2{color:var(--ink);font-family:var(--font-display);margin:0;font-size:24px}.super-success-modal p{color:var(--muted);margin:0;line-height:1.6}.super-success-modal .super-primary-btn{justify-content:center;width:100%;margin-top:4px}.super-check input{width:auto;min-height:auto}.super-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.super-media-card{border:1px solid var(--border);background:linear-gradient(135deg,#fff,#f8fbfa);border-radius:16px;grid-template-columns:164px minmax(0,1fr);align-items:center;gap:16px;padding:14px;display:grid}.super-media-preview{width:164px;height:110px;color:var(--primary);background:#effaf6;border:1px solid #1f4d3a1f;border-radius:14px;place-items:center;display:grid;overflow:hidden}.super-media-card.logo .super-media-preview{background:#fff;padding:14px}.super-media-preview img{object-fit:cover;width:100%;height:100%;display:block}.super-media-card.logo .super-media-preview img{object-fit:contain}.super-media-card strong,.super-media-card span{display:block}.super-media-card span{color:var(--muted);margin-top:4px;font-size:12px;font-weight:700}.super-media-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.super-media-actions button{min-height:32px;color:var(--primary-hover);background:#eef7f2;border:1px solid #1f4d3a24;border-radius:999px;padding:0 12px;font-size:12px;font-weight:850}.super-media-actions button.danger{color:var(--red);background:#fef2f2;border-color:#dc262629}.super-media-actions button:disabled{cursor:not-allowed;opacity:.48}.super-empty{border:1px dashed var(--border2);text-align:center;border-radius:16px;margin:0;padding:30px}@media (width<=1100px){.super-login-screen,.super-shell,.super-grid,.super-stats,.super-media-grid,.super-password-page{grid-template-columns:1fr}.super-login-hero{gap:80px;min-height:auto}.super-sidebar{height:auto;position:static}.super-sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.super-sidebar button{margin-top:0}}@media (width<=720px){.super-login-hero,.super-main{padding:22px}.super-login-copy h1{font-size:38px}.super-form-grid,.super-care-row,.super-user-row,.super-filter-row,.super-filter-row-wide,.super-action-grid,.super-media-card,.super-sidebar nav{grid-template-columns:1fr}.super-media-preview{width:100%}.super-topbar{flex-direction:column;align-items:flex-start}}.portal-page{color:var(--ink);gap:24px;display:grid}.portal-hero{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fffffff5 0%,#f0faf6f5 62%,#fff8ebf0 100%);border-radius:28px;justify-content:space-between;align-items:center;gap:24px;padding:28px;display:flex;position:relative;overflow:hidden}.portal-hero:after{content:"";background:#c8a96b26;border-radius:50%;width:180px;height:180px;position:absolute;top:-72px;right:-64px}.portal-hero.family{background:linear-gradient(135deg,#fffffff7 0%,#eef7f2f7 58%,#eff6fff0 100%)}.portal-hero>*{z-index:1;position:relative}.portal-eyebrow,.portal-label{color:var(--primary-hover);font:700 .72rem/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;display:inline-flex}.portal-hero h2,.portal-section-head h2,.portal-side-card h2{letter-spacing:-.02em;margin:0;font-size:24px}.portal-hero p{color:var(--muted);max-width:620px;margin:10px 0 0;line-height:1.65}.portal-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.portal-stat{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#ffffffeb;border-radius:18px;padding:18px 18px 16px;position:relative}.portal-stat:before{content:"";background:var(--accent);border-radius:999px;width:36px;height:4px;margin-bottom:14px;display:block}.portal-stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;display:block}.portal-stat strong{font-family:var(--font-display);letter-spacing:-.04em;margin-top:8px;font-size:30px;display:block}.portal-section-head{justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.portal-section-head p{color:var(--muted);margin:5px 0 0}.portal-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.portal-list,.portal-update-list,.portal-timeline{gap:14px;display:grid}.portal-resident-card,.portal-list-card,.portal-update-card{text-align:left;border:1px solid var(--border);width:100%;box-shadow:var(--shadow-sm);color:inherit;background:#fffffff0;border-radius:22px;align-items:center;gap:16px;padding:18px;transition:all .18s;display:flex}.portal-resident-card{align-items:center;min-height:142px}.portal-resident-card:hover,.portal-list-card:hover,.portal-update-card:hover,.portal-gallery-item:hover{box-shadow:var(--shadow-md);border-color:var(--border2);transform:translateY(-2px)}.portal-update-card.announcement{background:linear-gradient(90deg,#eff6fff2,#fff);border-color:#2563eb3d}.portal-resident-card h3,.portal-list-card h3,.portal-update-card h3{margin:0 0 4px;font-size:16px}.portal-resident-card p,.portal-list-card p,.portal-update-card p{color:var(--muted);margin:0}.portal-list-main{flex:1;min-width:0}.portal-card-body{flex:1;gap:10px;min-width:0;display:grid}.portal-card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.portal-list-main small,.portal-update-card small{color:var(--muted-soft);margin-top:6px;font-size:12px;font-weight:600;display:block}.portal-status,.portal-link-pill,.portal-muted-pill,.portal-update-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;width:fit-content;max-width:100%;padding:7px 11px;font-size:12px;font-weight:800;display:inline-flex}.portal-resident-card .portal-status{align-self:flex-start;margin-left:auto}.portal-status.good{background:var(--green-lt);color:var(--green)}.portal-status.pending,.portal-muted-pill{background:var(--amber-lt);color:#b45309}.portal-link-pill{background:var(--surface-soft);color:var(--primary-hover)}.portal-update-badge{background:var(--badge-bg);color:var(--badge-color);flex:none;gap:7px}.portal-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.portal-action-card{border:1px solid var(--border);color:inherit;text-align:left;box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;padding:18px;transition:all .18s}.portal-action-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.portal-action-card strong,.portal-action-card span{display:block}.portal-action-card strong{margin-bottom:6px;font-size:16px}.portal-action-card span{color:var(--muted);line-height:1.5}.portal-avatar{background:var(--avatar-bg,var(--surface-soft));color:var(--avatar-color,var(--primary));font-family:var(--font-display);border:1px solid var(--avatar-ring,#1f4d3a24);box-shadow:0 0 0 4px color-mix(in srgb, var(--avatar-ring,#1f4d3a24) 70%, transparent);aspect-ratio:1;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;line-height:1;overflow:hidden;display:inline-flex!important}.portal-avatar-md{width:48px;height:48px}.portal-avatar-lg{width:72px;height:72px;font-size:22px}.portal-avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.portal-form-card,.portal-side-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fffffff0;border-radius:22px;gap:16px;padding:22px;display:grid}.portal-compose-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:18px;display:grid}.portal-compose-panel,.portal-compose-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fffffff0;border-radius:24px}.portal-compose-panel{gap:16px;padding:20px;display:grid;position:sticky;top:98px}.portal-compose-card{overflow:hidden}.portal-compose-section{border-bottom:1px solid var(--border);gap:16px;padding:22px;display:grid}.portal-compose-section:last-of-type{border-bottom:0}.portal-compose-section h2{letter-spacing:-.02em;margin:0;font-size:20px}.portal-section-heading-row{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.portal-section-heading-row>span{background:var(--surface-soft);min-height:30px;color:var(--primary);white-space:nowrap;border-radius:999px;align-items:center;padding:0 11px;font-size:12px;font-weight:900;display:inline-flex}.portal-field{gap:7px;display:grid}.portal-field>span{font:700 .75rem/1 var(--font-display);color:var(--ink);letter-spacing:.08em;text-transform:uppercase}.portal-field input,.portal-field select,.portal-field textarea{width:100%;color:var(--ink);background:#effaf6;border:1px solid #04785724;border-radius:13px;outline:0;padding:13px 14px;font-weight:400}.portal-field textarea{resize:vertical;min-height:170px;line-height:1.65}.portal-field input:focus,.portal-field select:focus,.portal-field textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #1f4d3a1a}.portal-field small{color:var(--muted);font-weight:700}.portal-type-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.portal-type-grid button{border:1px solid var(--border);min-height:76px;color:var(--muted);background:#fff;border-radius:18px;place-items:center;gap:7px;padding:10px;font-weight:900;transition:all .18s;display:grid}.portal-type-grid button svg{width:18px;height:18px}.portal-type-grid button:hover,.portal-type-grid button.active{background:var(--type-bg);color:var(--type-color);border-color:color-mix(in srgb, var(--type-color) 24%, transparent);box-shadow:0 10px 24px color-mix(in srgb, var(--type-color) 12%, transparent);transform:translateY(-2px)}.portal-type-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.portal-type-grid-compact button{place-items:initial;text-align:left;border-radius:15px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;min-height:64px;padding:11px 12px;position:relative;overflow:hidden}.portal-type-grid-compact button:before{content:"";background:0 0;border-radius:999px;width:3px;position:absolute;inset:10px auto 10px 0}.portal-type-grid-compact button.active:before{background:var(--type-color)}.portal-type-grid-compact .portal-type-icon{background:var(--type-bg);width:36px;height:36px;color:var(--type-color);border-radius:13px;place-items:center;display:grid}.portal-type-grid-compact button svg{width:16px;height:16px}.portal-type-copy{gap:3px;min-width:0;display:grid}.portal-type-copy strong,.portal-type-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-type-copy strong{color:var(--ink);font-size:14px;line-height:1.1}.portal-type-copy small{color:var(--muted);font-size:11px;font-weight:800}.portal-type-grid-compact button:hover,.portal-type-grid-compact button.active{box-shadow:0 8px 18px color-mix(in srgb, var(--type-color) 10%, transparent);transform:translateY(-1px)}.portal-type-grid-compact button.active .portal-type-copy strong{color:var(--type-color)}.portal-suggestion-block{gap:9px;display:grid}.portal-suggestion-row button{background:var(--surface-soft);color:var(--primary-hover);border-color:#1f4d3a1f}.portal-suggestion-row button.active{background:var(--primary);color:#fff}.portal-selected-resident-large{border-radius:20px;align-items:flex-start;padding:16px}.portal-selected-resident-large em{color:var(--muted);margin-top:8px;font-style:normal;line-height:1.45;display:block}.portal-compose-summary{background:linear-gradient(135deg, var(--surface-soft), #fff8eb);border:1px solid #1f4d3a1a;border-radius:18px;flex-direction:column;align-items:flex-start;gap:8px;padding:15px;display:flex}.portal-compose-summary>strong,.portal-compose-summary>span:not(.portal-update-badge){display:block}.portal-compose-summary>span:not(.portal-update-badge){color:var(--muted);font-weight:700}.portal-share-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:999px;width:fit-content;padding:12px 14px}.portal-file-dropzone label.btn{cursor:pointer;width:fit-content}.timeline-upload-section{gap:14px;display:grid}.timeline-upload-head h2{margin:0}.portal-link-attachment{border:1px solid var(--border);background:#fff;border-radius:16px;grid-template-columns:34px minmax(180px,1fr) minmax(150px,.7fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.portal-link-attachment>svg{width:20px;height:20px;color:var(--primary);justify-self:center}.portal-link-attachment input{min-width:0;height:42px;color:var(--ink);background:#effaf6;border:1px solid #04785724;border-radius:12px;outline:0;padding:0 12px}.portal-compose-actions{background:#fff;justify-content:flex-end;gap:10px;padding:18px 22px 22px;display:flex}.portal-empty.compact{padding:18px}.portal-profile-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:radial-gradient(circle at 100% 0,#c8a96b21,#0000 28%),linear-gradient(135deg,#fff,#f3faf7);border-radius:24px;grid-template-columns:minmax(280px,1fr) minmax(420px,.9fr);align-items:center;gap:24px;padding:22px;display:grid;position:relative;overflow:hidden}.portal-profile-identity{align-items:center;gap:16px;min-width:0;display:flex}.portal-profile-card h2{margin:0 0 6px}.portal-profile-card p{color:var(--muted);overflow-wrap:anywhere;margin:0 0 10px}.portal-profile-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.portal-profile-summary>div{background:#ffffffc2;border:1px solid #1f4d3a1a;border-radius:16px;min-width:0;padding:12px 13px}.portal-profile-summary span,.portal-profile-summary strong{display:block}.portal-profile-summary span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.portal-profile-summary strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;font-weight:900;line-height:1.25;overflow:hidden}.portal-profile-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;display:grid}.portal-profile-side{gap:18px;display:grid}.portal-password-layout{grid-template-columns:minmax(0,620px) 360px;align-items:start;gap:18px;display:grid}.portal-form-card label{gap:7px;display:grid}.portal-form-card label>span{font:700 .75rem/1 var(--font-display);color:var(--ink);letter-spacing:.08em;text-transform:uppercase}:is(.portal-form-card label:has(.portal-visit-resident-picker)>span,.portal-form-card label:has(.portal-visit-resident-single)>span){letter-spacing:.08em;margin-bottom:6px;font-size:12px}.portal-form-card input,.portal-form-card select,.portal-form-card textarea{width:100%;color:var(--ink);background:#effaf6;border:1px solid #04785724;border-radius:11px;outline:0;padding:12px 13px;font-weight:600}.portal-form-card textarea{min-height:130px}.portal-form-card input:focus,.portal-form-card select:focus,.portal-form-card textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #1f4d3a1a}.portal-select-control{background:#fff;border:1px solid #04785729;border-radius:14px;min-height:48px;transition:border-color .18s,box-shadow .18s,background .18s;position:relative;box-shadow:0 8px 20px #0f172a0a}.portal-select-control:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);pointer-events:none;width:9px;height:9px;position:absolute;top:50%;right:16px;transform:translateY(-65%)rotate(45deg)}.portal-select-control:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px #1f4d3a1a,0 12px 28px #0f172a0f}.portal-form-card .portal-select-control select{height:48px;box-shadow:none;appearance:none;cursor:pointer;background:0 0;border:0;border-radius:14px;padding:0 44px 0 14px}.portal-form-card .portal-select-control select:focus{box-shadow:none;background:0 0;border-color:#0000}.portal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.portal-settings-option{border:1px solid var(--border);background:var(--surface);border-radius:16px;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.portal-settings-option strong,.portal-settings-option span{display:block}.portal-settings-option strong{color:var(--ink);font-size:15px}.portal-settings-option span{color:var(--muted);margin-top:5px;font-size:13px;font-weight:650;line-height:1.45}.portal-switch{flex:none;width:54px;height:30px;display:inline-block;position:relative}.portal-form-card .portal-switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.portal-switch>span{background:#cbd5e1;border-radius:999px;transition:background .18s;position:absolute;inset:0}.portal-switch>span:after{content:"";background:#fff;border-radius:999px;width:22px;height:22px;transition:transform .18s;position:absolute;top:4px;left:4px;box-shadow:0 4px 10px #0f172a2e}.portal-switch input:checked+span{background:var(--primary)}.portal-switch input:checked+span:after{transform:translate(24px)}.portal-switch input:focus-visible+span{box-shadow:0 0 0 4px #1f4d3a29}.portal-settings-note{color:var(--muted);margin:0;font-size:13px;font-weight:650;line-height:1.55}.portal-check-row{grid-template-columns:auto 1fr;align-items:center;gap:10px!important;display:flex!important}.portal-check-row input{width:auto;accent-color:var(--primary)}.portal-selected-resident{background:var(--surface-soft);border:1px solid #1f4d3a1f;border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.portal-selected-resident>div>strong,.portal-selected-resident>div>span{display:block}.portal-chip-row{flex-wrap:wrap;gap:8px;display:flex}.portal-top-chips{margin-top:-6px}.portal-chip-row button{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:999px;padding:8px 12px;font-weight:700}.portal-chip-row button:hover,.portal-chip-row button.active{background:var(--primary);border-color:var(--primary);color:#fff}.portal-timeline section{gap:14px;display:grid;position:relative}.portal-timeline section>h2{width:fit-content;color:var(--primary-hover);text-transform:uppercase;letter-spacing:.08em;background:var(--surface-soft);border:1px solid #1f4d3a1a;border-radius:999px;margin:6px 0 0;padding:7px 12px;font-size:12px}.portal-timeline .portal-update-card{background:linear-gradient(90deg, color-mix(in srgb, var(--timeline-bg,var(--surface-soft)) 40%, #fff) 0%, #fff 36%), #fff;grid-template-columns:minmax(260px,1.4fr) minmax(170px,.75fr) minmax(170px,.75fr) minmax(145px,.65fr);align-items:center;gap:18px;padding:18px 20px;display:grid;position:relative;overflow:hidden}.portal-timeline .portal-update-card:before{display:none}.portal-timeline .portal-update-card:hover{background:linear-gradient(90deg, color-mix(in srgb, var(--timeline-bg,var(--surface-soft)) 52%, #fff) 0%, #fff 46%), #fff}.portal-timeline .portal-update-badge{grid-area:1/1;justify-self:start;margin-top:0}.portal-timeline .portal-card-body{grid-area:2/1;gap:7px;min-width:0}.portal-timeline .portal-card-body h3{font-size:16px;line-height:1.35}.portal-timeline .portal-card-body p{overflow-wrap:anywhere;-webkit-box-orient:vertical;max-width:850px;line-height:1.5;display:-webkit-box;overflow:hidden}.portal-timeline .portal-card-body small{margin-top:4px}.portal-timeline-meta{display:contents}.portal-timeline-meta>div{min-width:0}.portal-timeline-meta>div:first-child{grid-area:1/2/span 2}.portal-timeline-meta>div:nth-child(2){grid-area:1/3/span 2}.portal-timeline-meta>div:nth-child(3){border-left:1px solid var(--border);grid-area:1/4/span 2;padding-left:16px}.portal-timeline-meta span{color:var(--muted);letter-spacing:0;text-transform:none;align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.portal-timeline-meta strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;font-weight:800;display:block;overflow:hidden}.portal-timeline-person{grid-template-columns:46px minmax(0,1fr);align-items:center;column-gap:12px;display:grid}.portal-timeline-person .avatar,.portal-timeline-person .avatar-img,.portal-timeline-person .avatar-initials{width:46px;min-width:46px;height:46px;box-shadow:none;border-radius:15px;grid-row:span 2;margin:0}.portal-timeline-page{gap:20px}.portal-timeline-hero{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fffffffa,#f3faf7f5 58%,#fff8ebe6);border-radius:24px;justify-content:space-between;align-items:center;gap:18px;padding:22px;display:flex}.portal-timeline-hero h2,.portal-timeline-hero p{margin:0}.portal-timeline-hero h2{letter-spacing:-.03em;font-size:24px}.portal-timeline-hero p{color:var(--muted);margin-top:7px}.portal-timeline-metrics{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.portal-timeline-metrics span{border:1px solid var(--border);min-width:104px;color:var(--muted);background:#fff;border-radius:18px;gap:2px;padding:12px 14px;font-size:12px;font-weight:800;display:grid}.portal-timeline-metrics strong{color:var(--ink);font-size:18px}.portal-timeline-filter-block{z-index:46;background:#fff;border-radius:0 0 26px 26px;gap:8px;margin:-6px -10px 0;padding:10px;display:grid;position:sticky;top:76px;box-shadow:0 18px 34px #0f172a0f}.portal-timeline-filter-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.portal-timeline-filter-actions>span{border:1px solid color-mix(in srgb, var(--primary) 13%, transparent);min-height:38px;color:var(--primary);background:#fff;border-radius:999px;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:900;display:inline-flex}.portal-timeline-filter-actions>span svg{width:15px;height:15px}.portal-timeline-toolbar{border:1px solid var(--border);width:100%;max-width:100%;box-shadow:none;background:#fff;border-radius:18px;flex-wrap:wrap;gap:8px;padding:12px;display:flex}.portal-timeline-toolbar button{min-height:38px;color:var(--muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-weight:900;display:inline-flex}.portal-timeline-toolbar button:hover,.portal-timeline-toolbar button.active{background:var(--type-bg,var(--surface-soft));border-color:color-mix(in srgb, var(--type-color,var(--primary)) 22%, transparent);color:var(--type-color,var(--primary-hover))}.portal-timeline-toolbar svg{width:16px;height:16px}.portal-timeline-more{position:relative}.portal-timeline-more>button svg:last-child{opacity:.72;width:12px;height:12px}.portal-timeline-more>button{min-height:38px}.portal-timeline-more>button em{max-width:118px;min-height:30px;color:var(--type-color,var(--primary));text-overflow:ellipsis;white-space:nowrap;background:#ffffffc2;border-radius:999px;align-items:center;padding:0 12px;font-size:13px;font-style:normal;font-weight:900;display:inline-flex;overflow:hidden}.portal-timeline-more-menu{z-index:8;border:1px solid var(--border);width:188px;box-shadow:var(--shadow-lg);background:#fff;border-radius:16px;gap:5px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.portal-timeline-more-menu button{border-radius:12px;justify-content:flex-start;width:100%;min-height:36px;padding:0 10px}.portal-timeline-reset{width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;color:var(--red)!important;background:#fff!important;border-color:#dc26262e!important;border-radius:50%!important;place-items:center!important;padding:0!important;display:inline-grid!important}.portal-timeline-reset:hover{background:var(--red-lt)!important}.portal-timeline-reset svg{width:14px;height:14px}.portal-timeline-loader{min-height:54px;color:var(--muted);place-items:center;font-weight:800;display:grid}.portal-timeline-loader span{border:1px solid var(--border);background:#fff;border-radius:999px;padding:10px 14px}.portal-modal-overlay{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#f2eded85;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.portal-care-note-overlay{place-items:stretch end;padding:0}.portal-detail-modal,.portal-media-modal{border:1px solid var(--border);width:min(100%,620px);max-height:calc(100vh - 36px);box-shadow:var(--shadow-lg);background:#fff;border-radius:24px;gap:14px;padding:24px;display:grid;position:relative;overflow:auto}.portal-care-note-modal{border-top:0;border-bottom:0;border-right:0;border-radius:0;gap:0;width:min(100%,430px);height:100vh;max-height:100vh;padding:0;overflow:auto;box-shadow:-18px 0 46px #0f172a24}.portal-care-note-modal.has-attachments,.portal-care-note-modal.no-attachments{width:min(100%,430px)}.portal-visit-note-modal{width:min(100%,760px)}.portal-detail-modal h2,.portal-media-modal h2{margin:0}.portal-modal-close{z-index:3;width:38px;height:38px;color:var(--muted);cursor:pointer;background:#ffffffeb;border:1px solid #0f172a1a;border-radius:50%;font-weight:900;transition:all .18s;position:absolute;top:14px;right:14px}.portal-modal-close:hover{color:var(--red);background:var(--red-lt);border-color:#dc262629}.portal-visit-note-header{grid-template-columns:auto 1fr}.portal-visit-note-header .portal-visit-status{box-shadow:none;margin-top:2px;padding:9px 13px}.portal-care-note-drawer-body{background:#fff;gap:20px;padding:58px 28px 22px;display:grid}.portal-care-note-panel-head{background:linear-gradient(135deg,#eff7f2fa 0%,#fffffff0 48%,#fff8ebeb 100%),#fff;border-bottom:1px solid #1f4d3a1a;justify-items:start;gap:8px;margin:-58px -28px 0;padding:17px 28px 24px;display:grid;position:relative;overflow:hidden}.portal-care-note-panel-head:before{content:"";pointer-events:none;background:#c8a96b2e;border-radius:999px;width:180px;height:180px;position:absolute;inset:auto -28px -74px auto}.portal-care-note-panel-head:after{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#1f4d3a0d 1px,#0000 1px),linear-gradient(0deg,#1f4d3a0a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#0000006b,#0000 70%);mask-image:linear-gradient(135deg,#0000006b,#0000 70%)}.portal-care-note-panel-head>*{z-index:1;position:relative}.portal-care-note-panel-head .portal-update-badge{margin-bottom:4px}.portal-care-note-panel-head .portal-eyebrow{color:var(--primary-hover);margin:0}.portal-care-note-panel-head h2{color:var(--ink);letter-spacing:-.03em;margin:0;font-size:22px;line-height:1.2}.portal-care-note-panel-head p{color:var(--muted);margin:0;font-size:12px;font-weight:700;line-height:1.45}.portal-care-note-section{gap:10px;display:grid}.portal-care-note-section h3{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:15px;line-height:1.2}.portal-care-note-section>p{color:var(--ink);border:1px solid var(--border);background:#f8fafc;border-radius:14px;margin:0;padding:14px;font-size:13px;line-height:1.55}.portal-care-note-facts{grid-template-columns:1fr 1fr;gap:10px;display:grid}.portal-care-note-facts>div{border:1px solid var(--border);background:#fff;border-radius:14px;grid-template-columns:30px minmax(0,1fr);align-items:center;column-gap:10px;min-width:0;padding:11px;display:grid}.portal-care-note-facts svg{width:30px;height:30px;color:var(--primary);background:var(--surface-soft);border-radius:11px;grid-row:1/span 2;padding:7px}.portal-care-note-facts span{color:var(--muted);font-size:10px;font-weight:900}.portal-care-note-facts strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13px;font-weight:800;line-height:1.25;display:block;overflow:hidden}.portal-attachment-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:0;display:grid}.portal-attachment,.timeline-attachment-item{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:14px;gap:8px;min-width:0;padding:10px;text-decoration:none;display:grid}.portal-attachment img,.timeline-attachment-item img{aspect-ratio:16/10;object-fit:cover;background:#fff;border-radius:10px;width:100%}.portal-attachment>span,.timeline-attachment-icon{aspect-ratio:16/10;color:var(--primary);background:#fff;border-radius:10px;place-items:center;font-size:28px;display:grid}.portal-attachment strong,.timeline-attachment-item strong{overflow-wrap:anywhere;font-size:13px}.timeline-attachments.compact{flex-wrap:wrap;gap:7px;padding:0;display:flex}.timeline-attachments.detail{grid-template-columns:1fr;gap:9px;padding:0;display:grid}.timeline-attachments-head{justify-content:space-between;align-items:center;gap:12px;padding:0 2px;display:flex}.timeline-attachments-head span{background:var(--surface-soft);min-width:28px;height:28px;color:var(--primary);border-radius:999px;place-items:center;font-size:13px;font-weight:900;display:inline-grid}.timeline-attachment-row{background:#f8fbfa;border:1px solid #1f4d3a21;border-radius:14px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;display:grid;box-shadow:0 8px 18px #0f172a09}.timeline-attachment-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.timeline-attachment-copy small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:700}.timeline-attachment-row button,.timeline-attachment-row a{border:1px solid var(--border);min-height:34px;color:var(--primary);cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.portal-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.portal-detail-grid>div,.portal-mini-item{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px}.portal-visit-note-grid svg{color:var(--primary-hover)}.portal-detail-grid span,.portal-mini-item span,.portal-mini-item em{color:var(--muted);font-size:11px;font-weight:700;display:block}.portal-detail-grid strong,.portal-mini-item strong{color:var(--ink);margin-top:4px;font-size:14px;display:block}.portal-care-note-grid strong{margin-top:2px}.portal-care-note-footer{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;padding:14px 28px;position:sticky;bottom:0}.portal-care-note-footer span{background:var(--green-lt);color:var(--green);border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-size:12px;font-weight:900;display:inline-flex}.portal-visit-note-footer span svg{width:13px;height:13px}.portal-visit-note-footer .portal-visit-note-status-pending{background:var(--amber-lt);color:#b45309}.portal-visit-note-footer .portal-visit-note-status-cancelled{background:var(--red-lt);color:var(--red)}.portal-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.family-moment-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.family-gallery-summary{color:var(--ink);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#f8fbf7 0%,#fff9ec 100%);border:1px solid #1f4d3a1a;border-radius:24px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:22px;display:flex}.family-gallery-summary .portal-eyebrow{color:var(--primary)}.family-gallery-summary h2{color:var(--primary);margin:4px 0;font-size:24px;line-height:1.15}.family-gallery-summary p{color:var(--muted);margin:0;font-weight:700}.family-gallery-summary-chip{background:#ffffffd1;border:1px solid #1f4d3a1a;border-radius:18px;align-content:center;place-items:center;min-width:104px;min-height:76px;padding:12px 16px;display:grid;box-shadow:0 12px 30px #0f172a0f}.family-gallery-summary-chip strong,.family-gallery-summary-chip span{display:block}.family-gallery-summary-chip strong{color:var(--ink);font-size:18px}.family-gallery-summary-chip span{color:var(--muted);margin-top:5px;font-size:13px;font-weight:800}.family-moment-card{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #0f172a14;border-radius:20px;padding:18px;transition:transform .18s,box-shadow .18s;overflow:hidden}.family-moment-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.family-moment-stack{height:150px;margin-bottom:18px;position:relative}.family-moment-frame{cursor:pointer;background:#dbeafe;border:4px solid #fff;border-radius:14px;justify-content:center;align-items:center;width:74%;height:124px;padding:0;display:flex;position:absolute;overflow:hidden;box-shadow:0 12px 24px #0f172a1a}.family-moment-frame.frame-1{z-index:1;background:#b5d4f4;top:22px;left:0}.family-moment-frame.frame-2{z-index:2;background:#85b7eb;top:11px;left:10%}.family-moment-frame.frame-3{z-index:3;background:#378add;top:0;left:20%}.family-moment-frame img,.family-moment-frame video,.family-moment-detail-frame img,.family-moment-detail-frame video{object-fit:cover;width:100%;height:100%;display:block}.family-moment-extra{z-index:4;min-width:38px;height:28px;color:var(--primary);box-shadow:var(--shadow-sm);background:#ffffffeb;border-radius:999px;place-items:center;font-weight:900;display:grid;position:absolute;bottom:12px;right:8px}.family-moment-card-body{gap:12px;display:grid}.family-moment-card-copy{text-align:left;cursor:pointer;background:#fff;border:0;gap:6px;width:100%;padding:0;display:grid}.family-moment-meta{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:7px;font-size:11px;font-weight:800;display:inline-flex}.family-moment-meta i{background:var(--primary);border-radius:999px;width:7px;height:7px}.family-moment-card-copy strong{color:var(--ink);font-size:17px}.family-moment-card-copy p{color:var(--muted);margin:0;font-size:13px;font-weight:650;line-height:1.45}.family-moment-tags{flex-wrap:wrap;gap:6px;display:flex}.family-moment-tags span{border:1px solid var(--border);color:var(--muted);background:#f8fafc;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.family-moment-tags span.active{color:var(--primary);background:#eaf6ef;border-color:#1f4d3a38}.family-moment-divider{background:#0f172a12;height:1px}.family-moment-footer,.family-moment-people{justify-content:space-between;align-items:center;gap:8px;display:flex}.family-moment-avatars{display:flex}.family-moment-avatars span{border:2px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;margin-left:-8px;font-size:10px;font-weight:900;display:grid}.family-moment-avatars span:first-child{margin-left:0}.family-moment-avatars .av-blue{color:#0c447c;background:#b5d4f4}.family-moment-avatars .av-teal{color:#085041;background:#9fe1cb}.family-moment-count,.family-moment-like{border:1px solid var(--border);cursor:pointer;border-radius:999px;font-weight:800}.family-moment-count{color:var(--primary);background:#eaf6ef;margin-left:2px;padding:5px 10px;font-size:12px}.family-moment-like{color:var(--muted);background:#f8fafc;align-items:center;gap:5px;padding:6px 12px;font-size:12px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.family-moment-like:hover{color:#be123c;background:#fff1f2;border-color:#be123c38}.family-moment-detail-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;justify-content:space-between;align-items:stretch;gap:20px;margin-bottom:22px;padding:22px 24px;display:flex}.family-moment-detail-card h2{color:var(--primary);margin:5px 0 6px;font-size:24px;line-height:1.12}.family-moment-detail-card p{max-width:760px;color:var(--muted);margin:0;font-weight:650;line-height:1.6}.family-moment-detail-card small{color:var(--muted);margin-top:14px;font-weight:800;display:block}.family-moment-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:10px;min-width:190px;display:grid}.family-moment-detail-stats div{border:1px solid var(--border);min-height:68px;box-shadow:none;background:#f8fafc;border-radius:14px;place-items:center;gap:5px;padding:10px;display:grid}.family-moment-detail-stats strong{color:var(--primary);font-size:19px;font-family:var(--font-display)}.family-moment-detail-stats span{color:var(--muted);font-size:12px;font-weight:900}.family-moment-detail-section-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.family-moment-detail-section-head h2{color:var(--ink);margin:3px 0 0;font-size:22px}.family-moment-detail-section-head>span{color:var(--primary);background:#eef7f2;border:1px solid #1f4d3a1f;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900}.family-moment-detail-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px;display:grid}.family-moment-detail-media-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;gap:14px;padding:18px;transition:transform .18s,box-shadow .18s;display:grid;overflow:hidden}.family-moment-detail-media-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.family-moment-detail-preview{cursor:pointer;background:radial-gradient(circle at 50% 0,#ffffffd1,#0000 38%),linear-gradient(135deg,#f4faf7 0%,#e9f4ef 48%,#dfeee8 100%);border:0;border-radius:16px;justify-self:center;width:100%;height:188px;padding:14px;position:relative}.family-moment-detail-frame{background:#f8fafc;border:1px solid #0f172a0f;border-radius:13px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden;box-shadow:0 10px 24px #1f4d3a14}.family-moment-detail-copy{gap:9px;padding:0;display:grid}.family-moment-detail-facts{flex-wrap:wrap;gap:8px 10px;display:flex}.family-moment-detail-facts span{color:var(--muted);font-size:12px;font-weight:800}.family-moment-detail-facts span+span:before{content:"-";color:var(--muted-soft);margin-right:6px}.family-moment-detail-media-card .family-moment-tags{margin-top:4px}.family-media-overlay{z-index:140}.family-media-modal{width:min(100%,920px)}.family-media-modal img,.family-media-modal video{object-fit:contain;background:#f8fafc;width:100%;max-height:68vh}.family-media-modal-copy{justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.family-media-modal-copy h2,.family-media-modal-copy p{margin:0}.family-media-modal-copy p{color:var(--muted);margin-top:5px}.portal-gallery-item{border:1px solid var(--border);min-height:210px;box-shadow:var(--shadow-sm);text-align:left;background:#fff;border-radius:20px;transition:all .18s;position:relative;overflow:hidden}.portal-gallery-item img,.portal-gallery-item video,.portal-media-modal img,.portal-media-modal video{object-fit:cover;width:100%;height:100%;display:block}.portal-gallery-item span{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border-radius:14px;padding:10px;position:absolute;bottom:12px;left:12px;right:12px}.portal-gallery-item strong,.portal-gallery-item small{display:block}.portal-gallery-item small{color:var(--muted)}.portal-media-modal img,.portal-media-modal video{border-radius:16px;max-height:60vh}.family-media-modal img,.family-media-modal video{object-fit:contain;background:#f8fafc;height:auto;max-height:68vh}.portal-visit-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.portal-visit-resident-picker{flex-wrap:wrap;gap:8px;display:flex}.portal-visit-resident-picker button{border:1px solid var(--border2);min-height:42px;color:var(--ink);text-align:left;cursor:pointer;box-shadow:none;background:#fff;border-radius:999px;align-items:center;gap:9px;padding:6px 14px 6px 7px;font-weight:800;transition:all .18s;display:inline-flex}.portal-visit-resident-picker button:hover,.portal-visit-resident-picker button:focus-visible{color:var(--primary-hover);background:#f8fafc;border-color:#1f4d3a3d;outline:none;box-shadow:0 8px 20px #0f172a0d}.portal-visit-resident-picker button.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 10px 22px #1f4d3a29}.portal-visit-resident-picker span{color:inherit;white-space:nowrap;font-size:13px;font-weight:800}.portal-visit-resident-picker .portal-avatar,.portal-visit-resident-single .portal-avatar{box-shadow:none}.portal-visit-resident-picker .portal-avatar{border:1px solid var(--avatar-ring);border-radius:50%;width:30px;min-width:30px;height:30px;font-size:11px}.portal-visit-resident-picker button.active .portal-avatar{border-color:#ffffff6b;color:#fff!important;background:#ffffff2e!important}.portal-visit-resident-single{border:1px solid var(--primary);background:var(--primary);color:#fff;border-radius:999px;align-items:center;gap:9px;width:fit-content;max-width:100%;min-height:42px;padding:6px 14px 6px 7px;display:inline-flex;box-shadow:0 10px 22px #1f4d3a29}.portal-visit-resident-single strong{color:inherit;white-space:nowrap;font-size:13px;font-weight:800;display:block}.portal-visit-form-divider{color:var(--primary-hover);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;margin:16px 0 14px;font-size:12px;font-weight:900;display:flex}.portal-visit-form-divider:before,.portal-visit-form-divider:after{content:"";background:linear-gradient(90deg,#0000,#1f4d3a2e);flex:1;height:1px}.portal-visit-form-divider:after{background:linear-gradient(90deg,#1f4d3a2e,#0000)}.portal-visit-form-divider span{border:1px solid var(--border);background:#fff;border-radius:999px;padding:7px 14px;box-shadow:0 8px 18px #0f172a0a}.portal-purpose-typeahead{position:relative}.portal-purpose-typeahead input{width:100%}.portal-purpose-suggestions{z-index:30;background:#fffffffa;border:1px solid #1f4d3a1f;border-radius:16px;gap:6px;max-height:250px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto;box-shadow:0 18px 38px #0f172a1f}.portal-purpose-suggestions button{min-height:38px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;padding:0 10px;font-weight:800}.portal-purpose-suggestions button:hover,.portal-purpose-suggestions button:focus-visible{color:var(--primary-hover);background:#eef7f2;outline:none}.portal-visit-side-stack{gap:16px;display:grid}.portal-side-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.portal-side-card-head h2{margin:0}.portal-side-card-head a{color:var(--primary);font-size:13px;font-weight:800}.portal-visit-mini{border:1px solid var(--border);text-align:left;cursor:pointer;background:#ffffffe6;border-radius:16px;gap:6px;width:100%;margin-bottom:10px;padding:14px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.portal-visit-mini:hover,.portal-visit-mini:focus-visible{border-color:var(--border2);box-shadow:var(--shadow-sm);outline:none;transform:translateY(-1px)}.portal-visit-mini span{color:var(--muted);font-weight:700}.portal-visit-status{background:var(--blue-lt);width:fit-content;color:var(--blue);text-transform:capitalize;border-radius:999px;padding:6px 10px;font-size:12px;font-style:normal;font-weight:900}.portal-visit-status.approved,.portal-visit-status.completed{background:var(--green-lt);color:var(--green)}.portal-visit-status.pending{background:var(--amber-lt);color:#b45309}.portal-visit-status.cancelled{background:var(--red-lt);color:var(--red)}.portal-visit-history-list{gap:14px;display:grid}.portal-visit-history-card{border:1px solid var(--border);text-align:left;cursor:pointer;width:100%;box-shadow:var(--shadow-sm);background:#ffffffe6;border-radius:24px;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.portal-visit-history-card:hover,.portal-visit-history-card:focus-visible{border-color:var(--border2);box-shadow:var(--shadow-md);outline:none;transform:translateY(-2px)}.portal-visit-date-tile{background:var(--surface-soft);min-height:62px;color:var(--primary);border-radius:18px;align-content:center;place-items:center;display:grid}.portal-visit-date-tile strong{font-size:24px;line-height:1}.portal-visit-date-tile span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.portal-visit-history-main{gap:6px;min-width:0;display:grid}.portal-visit-history-main strong{color:var(--ink);font-size:18px}.portal-visit-history-main span,.portal-visit-history-main small{color:var(--muted);font-weight:700}.portal-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:24px;display:flex}.portal-pagination button{border:1px solid var(--border);min-width:40px;height:40px;color:var(--muted);cursor:pointer;background:#fff;border-radius:12px;font-weight:900}.portal-pagination button:hover:not(:disabled),.portal-pagination button.active{background:var(--primary);border-color:var(--primary);color:#fff}.portal-pagination button:disabled{opacity:.45;cursor:not-allowed}.portal-visit-detail-modal{gap:16px;display:grid}.portal-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.portal-slot-grid button{border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:12px;padding:11px 8px;font-weight:700}.portal-slot-grid button.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.portal-slot-grid button:disabled{opacity:.45;cursor:not-allowed}.portal-empty{border:1px dashed var(--border2);color:var(--muted);text-align:center;background:#ffffffdb;border-radius:22px;grid-column:1/-1;padding:28px}.staff-residents-empty{min-height:300px;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #1f4d3a1a;border-radius:28px;grid-template-columns:minmax(280px,.44fr) minmax(0,1fr);align-items:stretch;gap:0;padding:0;display:grid;position:relative;overflow:hidden}.staff-residents-empty:before{content:"";pointer-events:none;background:linear-gradient(115deg,#eef7f2fa 0%,#fffffff0 46%,#fff8ebd1 100%);position:absolute;inset:0}.staff-residents-empty:after{content:"";pointer-events:none;background:#c8a96b21;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-92px;right:-74px}.staff-residents-empty-art,.staff-residents-empty-copy{z-index:1;position:relative}.staff-residents-empty-art{background:linear-gradient(135deg,#1f4d3a12,#ffffff6b),#eef7f2bd;border-right:1px solid #1f4d3a1a;place-items:center;min-height:300px;display:grid;overflow:hidden}.staff-residents-empty-art:before{content:"";background:linear-gradient(135deg,#ffffffdb,#ffffff57);border-radius:42px;width:210px;height:210px;position:absolute;transform:rotate(-8deg);box-shadow:0 28px 54px #0f172a14}.staff-empty-clipboard{z-index:2;background:#fffffff0;border:1px solid #1f4d3a1f;border-radius:26px;align-content:start;justify-items:center;gap:10px;width:178px;min-height:194px;padding:24px 18px 18px;display:grid;position:relative;box-shadow:0 22px 44px #0f172a1a}.staff-empty-clipboard:before,.staff-empty-clipboard:after{content:"";background:#1f4d3a1a;border-radius:999px;width:112px;height:9px}.staff-empty-clipboard:after{background:#c8a96b42;width:88px}.staff-empty-clipboard span{background:var(--primary);color:#fff;border-radius:18px;place-items:center;width:58px;height:58px;display:grid;box-shadow:0 14px 26px #1f4d3a38}.staff-empty-clipboard svg{width:24px;height:24px}.staff-empty-clipboard strong{color:var(--ink);margin-top:4px;font-size:14px}.staff-empty-clipboard em{background:var(--amber-lt);color:#b45309;border-radius:999px;width:fit-content;padding:6px 10px;font-size:11px;font-style:normal;font-weight:900}.staff-empty-resident-card{z-index:3;background:#fffffff0;border:1px solid #1f4d3a1a;border-radius:18px;align-items:center;gap:10px;min-width:178px;padding:12px;display:flex;position:absolute;box-shadow:0 16px 30px #0f172a1a}.staff-empty-resident-card.one{bottom:44px;left:28px}.staff-empty-resident-card.two{top:42px;right:26px}.staff-empty-resident-card span{width:38px;height:38px;color:var(--primary-hover);background:#eef7f2;border-radius:14px;flex:none;place-items:center;display:grid}.staff-empty-resident-card.two span{color:#b45309;background:#fff8eb}.staff-empty-resident-card strong,.staff-empty-resident-card small{line-height:1.2;display:block}.staff-empty-resident-card strong{color:var(--ink);font-size:12px}.staff-empty-resident-card small{color:var(--muted);margin-top:3px;font-size:11px;font-weight:800}.staff-residents-empty-copy{align-self:center;max-width:680px;padding:42px 46px}.staff-residents-empty-copy h2{letter-spacing:-.03em;margin:0;font-size:26px}.staff-residents-empty-copy p{color:var(--muted);max-width:560px;margin:10px 0 0;line-height:1.7}.staff-residents-empty-steps{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.staff-residents-empty-steps span{min-height:34px;color:var(--primary-hover);background:#ffffffc2;border:1px solid #1f4d3a1a;border-radius:999px;align-items:center;padding:0 13px;font-size:12px;font-weight:800;display:inline-flex}.staff-dashboard-empty{min-height:260px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fffffffa,#eef7f2eb 54%,#fff8ebd6),#fff;border:1px solid #1f4d3a1a;border-radius:26px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:center;gap:26px;padding:32px;display:grid;position:relative;overflow:hidden}.staff-dashboard-empty:before{content:"";background:#1f4d3a12;border-radius:50%;width:260px;height:260px;position:absolute;top:-120px;left:-110px}.staff-dashboard-empty:after{content:"";background:#c8a96b24;border-radius:50%;width:190px;height:190px;position:absolute;bottom:-82px;right:-80px}.staff-dashboard-empty-main,.staff-dashboard-empty-panel{z-index:1;position:relative}.staff-dashboard-empty-main h2{letter-spacing:-.03em;margin:0;font-size:28px}.staff-dashboard-empty-main p{max-width:620px;color:var(--muted);margin:10px 0 0;line-height:1.7}.staff-dashboard-empty-panel{background:#ffffffc7;border:1px solid #1f4d3a1a;border-radius:22px;gap:12px;padding:16px;display:grid;box-shadow:0 18px 36px #0f172a12}.staff-dashboard-empty-row{background:#fff;border:1px solid #1f4d3a14;border-radius:16px;align-items:center;gap:12px;min-height:66px;padding:12px;display:flex}.staff-dashboard-empty-row span{width:42px;height:42px;color:var(--primary-hover);background:#eef7f2;border-radius:14px;flex:none;place-items:center;display:grid}.staff-dashboard-empty-row.active span{background:var(--primary);color:#fff}.staff-dashboard-empty-row strong,.staff-dashboard-empty-row small{line-height:1.2;display:block}.staff-dashboard-empty-row strong{color:var(--ink);font-size:13px}.staff-dashboard-empty-row small{color:var(--muted);margin-top:4px;font-size:12px;font-weight:800}.staff-timeline-empty{min-height:240px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fffffffa,#eff6ffdb 50%,#eef7f2f0),#fff;border:1px solid #1f4d3a1a;border-radius:26px;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:24px;padding:30px;display:grid;position:relative;overflow:hidden}.staff-timeline-empty:before{content:"";background:linear-gradient(#1f4d3a1a,#1f4d3a05);border-radius:999px;width:2px;position:absolute;inset:26px auto 26px 78px}.staff-timeline-empty:after{content:"";background:#3b82f614;border-radius:50%;width:230px;height:230px;position:absolute;top:-110px;right:-100px}.staff-timeline-empty-icon{z-index:1;width:76px;height:76px;color:var(--primary-hover);background:#fff;border:1px solid #1f4d3a1a;border-radius:24px;place-items:center;display:grid;position:relative;box-shadow:0 18px 34px #0f172a14}.staff-timeline-empty-icon svg{width:28px;height:28px}.staff-timeline-empty>div:not(.staff-timeline-empty-icon){z-index:1;position:relative}.staff-timeline-empty h2{letter-spacing:-.03em;margin:0;font-size:26px}.staff-timeline-empty p{max-width:620px;color:var(--muted);margin:9px 0 0;line-height:1.7}.staff-timeline-empty-meta{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.staff-timeline-empty-meta span{min-height:34px;color:var(--primary-hover);background:#fffc;border:1px solid #1f4d3a1a;border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:800;display:inline-flex}.staff-timeline-empty-meta svg{width:13px;height:13px}.staff-add-empty{min-height:430px;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #1f4d3a1a;border-radius:28px;grid-template-columns:minmax(280px,.42fr) minmax(0,1fr);align-items:stretch;gap:0;display:grid;overflow:hidden}.staff-add-empty-visual{background:linear-gradient(135deg,#eef7f2fa,#fff8ebb8),#eef7f2;border-right:1px solid #1f4d3a1a;place-items:center;min-height:430px;padding:34px;display:grid;position:relative;overflow:hidden}.staff-add-empty-visual:before{content:"";background:#ffffffad;border-radius:50%;width:230px;height:230px;position:absolute;box-shadow:0 28px 54px #0f172a14}.staff-add-empty-note{z-index:1;text-align:center;background:#fffffff0;border:1px solid #1f4d3a1f;border-radius:28px;align-content:center;justify-items:center;gap:13px;width:210px;min-height:240px;display:grid;position:relative;box-shadow:0 22px 42px #0f172a1a}.staff-add-empty-note svg{background:var(--primary);color:#fff;border-radius:18px;width:52px;height:52px;padding:14px}.staff-add-empty-note span,.staff-add-empty-note strong{display:block}.staff-add-empty-note span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900}.staff-add-empty-note strong{max-width:150px;color:var(--ink);font-size:16px;line-height:1.35}.staff-add-empty-badge{z-index:2;color:var(--primary-hover);background:#fffffff0;border:1px solid #1f4d3a1a;border-radius:999px;align-items:center;gap:8px;padding:10px 13px;font-size:12px;font-weight:900;display:inline-flex;position:absolute;bottom:44px;right:26px;box-shadow:0 14px 28px #0f172a17}.staff-add-empty-copy{align-self:center;max-width:720px;padding:46px}.staff-add-empty-copy h2{letter-spacing:-.03em;margin:0;font-size:30px;line-height:1.18}.staff-add-empty-copy p{max-width:610px;color:var(--muted);margin:12px 0 0;line-height:1.75}.staff-add-empty-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.staff-add-empty-actions .btn{align-items:center;gap:8px;display:inline-flex}.family-dashboard-empty{min-height:250px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fffffffa,#fff8ebdb 48%,#eef7f2f0),#fff;border:1px solid #1f4d3a1a;border-radius:26px;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:24px;padding:30px;display:grid;position:relative;overflow:hidden}.family-dashboard-empty:before{content:"";background:#c8a96b24;border-radius:50%;width:230px;height:230px;position:absolute;top:-112px;right:-92px}.family-dashboard-empty-visual,.family-dashboard-empty-copy{z-index:1;position:relative}.family-dashboard-empty-visual{background:#fff;border:1px solid #1f4d3a1a;border-radius:30px;place-items:center;width:96px;height:96px;display:grid;box-shadow:0 18px 36px #0f172a14}.family-dashboard-empty-visual span{color:#b45309;background:#fff8eb;border-radius:20px;place-items:center;width:58px;height:58px;display:grid}.family-dashboard-empty-visual svg{width:25px;height:25px}.family-dashboard-empty-copy h2{letter-spacing:-.03em;margin:0;font-size:26px}.family-dashboard-empty-copy p{max-width:680px;color:var(--muted);margin:10px 0 0;line-height:1.7}.family-dashboard-empty-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.family-dashboard-empty-actions .btn{align-items:center;gap:8px;display:inline-flex}.family-timeline-empty{min-height:240px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fffffffa,#fff8ebe0 48%,#eff6ffd1),#fff;border:1px solid #1f4d3a1a;border-radius:26px;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:24px;padding:30px;display:grid;position:relative;overflow:hidden}.family-timeline-empty:before{content:"";background:#c8a96b24;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-116px;right:-98px}.family-timeline-empty:after{content:"";background:linear-gradient(#b453091f,#1f4d3a0a);border-radius:999px;width:2px;position:absolute;inset:28px auto 28px 78px}.family-timeline-empty-visual,.family-timeline-empty-copy{z-index:1;position:relative}.family-timeline-empty-visual{background:#fff;border:1px solid #1f4d3a1a;border-radius:26px;place-items:center;width:82px;height:82px;display:grid;box-shadow:0 18px 34px #0f172a14}.family-timeline-empty-visual span{color:#b45309;background:#fff8eb;border-radius:18px;place-items:center;width:52px;height:52px;display:grid}.family-timeline-empty-visual svg{width:23px;height:23px}.family-timeline-empty-copy h2{letter-spacing:-.03em;margin:0;font-size:26px}.family-timeline-empty-copy p{max-width:650px;color:var(--muted);margin:9px 0 0;line-height:1.7}.family-timeline-empty-meta{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.family-timeline-empty-meta span{min-height:34px;color:var(--primary-hover);background:#fffc;border:1px solid #1f4d3a1a;border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:800;display:inline-flex}.family-gallery-empty{min-height:300px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fffffffa,#eff6ffd1 48%,#fff8ebdb),#fff;border:1px solid #1f4d3a1a;border-radius:28px;grid-column:1/-1;grid-template-columns:minmax(240px,.38fr) minmax(0,1fr);align-items:center;gap:28px;padding:34px;display:grid;position:relative;overflow:hidden}.family-gallery-empty:before{content:"";background:#3b82f614;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-122px;left:-116px}.family-gallery-empty-visual,.family-gallery-empty-copy{z-index:1;position:relative}.family-gallery-empty-visual{place-items:center;min-height:190px;display:grid;position:relative}.family-gallery-empty-frame{color:#b45309;background:#ffffffeb;border:1px solid #1f4d3a1a;place-items:center;display:grid;box-shadow:0 18px 36px #0f172a14}.family-gallery-empty-frame.primary{border-radius:26px;width:142px;height:116px;transform:rotate(-4deg)}.family-gallery-empty-frame.secondary{display:none}.family-gallery-empty-frame svg{width:30px;height:30px}.family-gallery-empty-copy h2{letter-spacing:-.03em;margin:0;font-size:28px}.family-gallery-empty-copy p{max-width:640px;color:var(--muted);margin:10px 0 0;line-height:1.7}.family-health-empty{min-height:270px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fffffffa,#eef7f2f0 48%,#fff8ebd1),#fff;border:1px solid #1f4d3a1a;border-radius:26px;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:24px;padding:32px;display:grid;position:relative;overflow:hidden}.family-health-empty:before{content:"";background:#1f4d3a14;border-radius:50%;width:250px;height:250px;position:absolute;top:-112px;right:-106px}.family-health-empty-visual,.family-health-empty-copy{z-index:1;position:relative}.family-health-empty-visual{background:#fff;border:1px solid #1f4d3a1a;border-radius:28px;place-items:center;width:88px;height:88px;display:grid;box-shadow:0 18px 34px #0f172a14}.family-health-empty-visual span{width:56px;height:56px;color:var(--primary-hover);background:#eef7f2;border-radius:18px;place-items:center;display:grid}.family-health-empty-visual svg{width:24px;height:24px}.family-health-empty-copy h2{letter-spacing:-.03em;margin:0;font-size:27px}.family-health-empty-copy p{max-width:690px;color:var(--muted);margin:10px 0 0;line-height:1.7}.family-health-empty-types{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.family-health-empty-types span{min-height:34px;color:var(--primary-hover);background:#ffffffd1;border:1px solid #1f4d3a1a;border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:800;display:inline-flex}.family-visit-empty{min-height:360px;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #1f4d3a1a;border-radius:28px;grid-template-columns:minmax(260px,.4fr) minmax(0,1fr);align-items:stretch;display:grid;overflow:hidden}.family-visit-empty-visual{background:linear-gradient(135deg,#eef7f2fa,#fff8ebc7),#eef7f2;border-right:1px solid #1f4d3a1a;place-items:center;min-height:360px;padding:32px;display:grid;position:relative;overflow:hidden}.family-visit-empty-visual:before{content:"";background:#ffffffa8;border-radius:50%;width:220px;height:220px;position:absolute;box-shadow:0 28px 54px #0f172a14}.family-visit-empty-calendar{z-index:1;text-align:center;background:#fffffff0;border:1px solid #1f4d3a1f;border-radius:28px;align-content:center;justify-items:center;gap:12px;width:190px;min-height:210px;display:grid;position:relative;box-shadow:0 22px 42px #0f172a1a}.family-visit-empty-calendar svg{background:var(--primary);color:#fff;border-radius:18px;width:54px;height:54px;padding:14px}.family-visit-empty-calendar strong,.family-visit-empty-calendar span{display:block}.family-visit-empty-calendar strong{color:var(--ink);font-size:16px}.family-visit-empty-calendar span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900}.family-visit-empty-chip{z-index:2;color:var(--primary-hover);background:#fffffff0;border:1px solid #1f4d3a1a;border-radius:999px;align-items:center;gap:8px;padding:10px 13px;font-size:12px;font-weight:900;display:inline-flex;position:absolute;bottom:38px;right:24px;box-shadow:0 14px 28px #0f172a17}.family-visit-empty-copy{align-self:center;max-width:720px;padding:46px}.family-visit-empty-copy h2{letter-spacing:-.03em;margin:0;font-size:30px;line-height:1.18}.family-visit-empty-copy p{max-width:620px;color:var(--muted);margin:12px 0 0;line-height:1.75}.family-visit-empty-status{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.family-visit-empty-status span{min-height:34px;color:var(--primary-hover);background:#ffffffd1;border:1px solid #1f4d3a1a;border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-size:12px;font-weight:800;display:inline-flex}@media (width<=980px){.portal-stats,.portal-card-grid,.portal-action-grid,.portal-gallery-grid,.family-moment-card-grid,.family-moment-detail-grid,.portal-visit-layout{grid-template-columns:1fr 1fr}.portal-visit-layout{grid-template-columns:1fr}.family-moment-detail-card{flex-direction:column}.family-moment-detail-stats{min-width:0}.family-moment-detail-grid{grid-template-columns:1fr}.family-moment-detail-preview{height:min(58vw,360px)}.portal-profile-card,.portal-profile-layout,.portal-password-layout,.portal-compose-layout{grid-template-columns:1fr}.staff-residents-empty{text-align:center;grid-template-columns:1fr}.staff-dashboard-empty{grid-template-columns:1fr}.staff-timeline-empty{text-align:center;grid-template-columns:1fr}.staff-add-empty{grid-template-columns:1fr}.family-dashboard-empty,.family-timeline-empty,.family-gallery-empty,.family-health-empty{text-align:center;grid-template-columns:1fr}.family-visit-empty{grid-template-columns:1fr}.family-visit-empty-visual{border-bottom:1px solid #1f4d3a1a;border-right:0;min-height:280px}.family-timeline-empty:after{display:none}.family-dashboard-empty-visual,.family-timeline-empty-visual{margin:0 auto}.family-gallery-empty-visual{width:min(100%,260px);margin:0 auto}.family-health-empty-visual{margin:0 auto}.family-health-empty-types{justify-content:center}.family-visit-empty-copy{text-align:center;padding:30px 24px 34px}.family-visit-empty-status,.family-dashboard-empty-actions,.family-timeline-empty-meta{justify-content:center}.staff-add-empty-visual{border-bottom:1px solid #1f4d3a1a;border-right:0;min-height:280px}.staff-add-empty-copy{text-align:center;padding:30px 24px 34px}.staff-add-empty-actions{justify-content:center}.staff-timeline-empty:before{display:none}.staff-timeline-empty-icon{margin:0 auto}.staff-timeline-empty-meta{justify-content:center}.staff-residents-empty-art{border-bottom:1px solid #1f4d3a1a;border-right:0;min-height:210px}.staff-residents-empty-copy{margin:0 auto;padding:30px 24px 34px}.staff-residents-empty-copy p{margin-left:auto;margin-right:auto}.staff-residents-empty-steps{justify-content:center}.portal-compose-panel{position:static}.portal-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-type-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.portal-profile-identity{flex-direction:column;align-items:flex-start}.portal-profile-summary{grid-template-columns:1fr}.portal-timeline-filter-block{margin-left:-6px;margin-right:-6px;padding:8px 6px;top:68px}.portal-hero,.portal-section-head,.portal-resident-card,.portal-list-card,.portal-update-card{flex-direction:column;align-items:flex-start}.portal-timeline .portal-update-card{grid-template-columns:1fr;gap:14px;padding:20px}.timeline-attachment-row{grid-template-columns:46px minmax(0,1fr)}.timeline-attachment-thumb{width:46px;height:46px}.timeline-attachment-row button,.timeline-attachment-row a{grid-column:2;width:fit-content}.portal-link-attachment{grid-template-columns:30px minmax(0,1fr)}.portal-link-attachment input,.portal-link-attachment button{grid-column:2}.portal-section-heading-row{flex-direction:column;align-items:flex-start;gap:10px}.portal-type-grid-compact{grid-template-columns:1fr}.portal-timeline-more-menu{left:0;right:auto}.portal-timeline .portal-update-badge,.portal-timeline .portal-card-body{grid-area:auto/1}.portal-timeline-meta{border-left:0;border-top:1px solid var(--border);grid-template-columns:1fr;gap:12px;padding-top:14px;padding-left:0;display:grid}.portal-timeline-meta>div:first-child,.portal-timeline-meta>div:nth-child(2),.portal-timeline-meta>div:nth-child(3){border-left:0;grid-area:auto;padding-left:0}.portal-timeline-hero{flex-direction:column;align-items:flex-start}.portal-visit-history-card{grid-template-columns:1fr}.portal-timeline-metrics{justify-content:stretch;width:100%}.portal-timeline-metrics span{flex:1;min-width:0}.portal-timeline-toolbar{border-radius:0 0 18px 18px;margin-top:-4px;top:68px}.portal-stats,.portal-card-grid,.portal-action-grid,.portal-type-grid,.portal-form-grid,.portal-detail-grid,.portal-gallery-grid,.family-moment-card-grid,.family-moment-detail-grid,.portal-slot-grid{grid-template-columns:1fr}.family-gallery-summary,.family-moment-detail-section-head,.family-media-modal-copy{flex-direction:column;align-items:flex-start}.portal-compose-section,.portal-compose-panel{padding:18px}.portal-compose-actions{flex-direction:column-reverse;padding:16px 18px 18px}.portal-compose-actions .btn{width:100%}.portal-care-note-header{grid-template-columns:1fr;padding:24px 58px 20px 20px}.portal-care-note-modal,.portal-care-note-modal.has-attachments,.portal-care-note-modal.no-attachments{border-radius:0;width:100%}.portal-care-note-drawer-body{padding:56px 20px 20px}.portal-care-note-panel-head{margin:-56px -20px 0;padding:56px 20px 22px}.portal-care-note-facts{grid-template-columns:1fr}.portal-care-note-footer{padding:0 20px 22px}.portal-form-card,.portal-side-card{padding:18px}}.date-input{color:#111827;appearance:none;background:#effaf6;border:1px solid #04785724;border-radius:11px;outline:none;width:100%;min-height:48px;padding:12px 14px;font-size:14px;font-weight:600;transition:all .2s}.date-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #1f4d3a1a}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;border-radius:8px;padding:4px;transition:all .2s}.date-input::-webkit-calendar-picker-indicator:hover{opacity:1;background:#1f4d3a1a}.settings-page{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:22px;display:grid}.settings-left-column,.settings-right-column{flex-direction:column;gap:22px;display:flex}.settings-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;padding:24px}.settings-section-header{border-bottom:1px solid var(--border2);margin-bottom:2px;padding-bottom:16px}.settings-section-header h2{font-size:20px;font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);margin:0 0 4px;font-weight:800}.settings-section-header p{color:var(--muted);margin:0;font-size:13px;font-weight:500}.settings-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;display:grid}.settings-form.single-column{grid-template-columns:1fr}.settings-full{grid-column:1/-1}.settings-form label{flex-direction:column;gap:7px;display:flex}.settings-form label span{font-size:12px;font-family:var(--font-display);color:var(--ink);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.settings-form input,.settings-form select,.settings-form textarea{width:100%;min-height:48px;color:var(--ink);background:#effaf6;border:1px solid #04785724;border-radius:11px;outline:none;padding:13px 15px;font-size:14px;font-weight:600;transition:all .18s}.settings-form input::placeholder,.settings-form textarea::placeholder{color:#94a3b8;font-weight:500}.settings-form input:focus,.settings-form select:focus,.settings-form textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #1f4d3a1a}.settings-actions{grid-column:1/-1;justify-content:flex-end;padding-top:6px;display:flex}.settings-actions .btn,.settings-actions button{min-height:46px;font-size:14px;font-family:var(--font-display);border-radius:14px;padding:0 20px;font-weight:700}.settings-info-list{flex-direction:column;display:flex}.settings-info-list>div{border-bottom:1px solid var(--border2);justify-content:space-between;align-items:center;gap:14px;min-height:52px;display:flex}.settings-info-list>div:last-child{border-bottom:0}.settings-info-list span{font-size:12px;font-family:var(--font-display);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-weight:700}.settings-info-list strong{color:var(--ink2);text-align:right;word-break:break-word;font-size:14px;font-weight:600}.code-id{background:var(--surface);color:var(--muted);border:1px solid var(--border);word-break:break-all;border-radius:8px;padding:5px 8px;font-size:11px;font-weight:600}.input-error{border-color:var(--red)!important;background:snow!important}.input-error:focus{border-color:var(--red)!important;box-shadow:0 0 0 4px #dc26261a!important}.field-error{color:var(--red);margin-top:-2px;font-size:12px;font-weight:600;line-height:1.3;display:block}.settings-media-grid{gap:16px;display:grid}.settings-media-item{border:1px solid var(--border);background:linear-gradient(135deg,#fff,#f8fbfa);border-radius:18px;grid-template-columns:176px minmax(0,1fr);align-items:center;gap:20px;padding:16px 18px;display:grid}.settings-media-preview{background:#effaf6;border:1px solid #1f4d3a1f;border-radius:16px;place-items:center;width:176px;height:118px;display:grid;overflow:hidden}.settings-media-item.logo .settings-media-preview{background-color:#fff;background-image:linear-gradient(45deg,#0f172a09 25%,#0000 25%),linear-gradient(-45deg,#0f172a09 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#0f172a09 75%),linear-gradient(-45deg,#0000 75%,#0f172a09 75%),none;background-position:0 0,0 8px,8px -8px,-8px 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;padding:14px}.settings-media-item.background .settings-media-preview{height:112px}.settings-media-preview img{object-fit:cover;width:100%;height:100%;display:block}.settings-media-item.logo .settings-media-preview img{object-fit:contain;width:100%;height:100%}.settings-media-preview span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:900}.settings-media-copy{align-content:center;gap:7px;min-width:0;display:grid}.settings-media-copy h3{color:var(--ink);margin:0;font-size:15px;line-height:1.25}.settings-media-copy p{color:var(--muted);max-width:460px;margin:0;font-size:13px;line-height:1.45}.settings-media-resource{text-overflow:ellipsis;border:1px solid var(--border);background:var(--surface);width:fit-content;max-width:100%;color:var(--muted);border-radius:999px;padding:6px 9px;font-size:11px;overflow:hidden}.settings-media-actions{align-items:center;gap:7px;margin-top:2px;display:flex}.settings-media-actions>span{color:var(--border2);font-size:12px}.profile-photo-status{color:var(--primary-hover);font-size:12px;font-weight:700}.settings-media-actions .profile-photo-link{min-height:30px;color:var(--primary-hover);background:#eef7f2;border:1px solid #1f4d3a1f;border-radius:999px;padding:0 11px;font-size:12px;font-weight:800;line-height:1}.settings-media-actions .profile-photo-link:hover:not(:disabled),.settings-media-actions .profile-photo-link:focus-visible:not(:disabled){border-color:var(--primary);background:var(--primary);color:#fff;outline:none}.profile-photo-link.danger{color:var(--red);background:#fef2f2;border-color:#dc262629}.settings-media-actions .profile-photo-link.danger:hover:not(:disabled),.settings-media-actions .profile-photo-link.danger:focus-visible:not(:disabled){border-color:var(--red);background:var(--red);color:#fff}@media (width<=980px){.settings-page{grid-template-columns:1fr}}@media (width<=640px){.settings-card{border-radius:20px;padding:20px}.settings-form{grid-template-columns:1fr}.settings-actions{justify-content:stretch}.settings-actions .btn,.settings-actions button{width:100%}.settings-info-list>div{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 0}.settings-info-list strong{text-align:left}.settings-media-item{grid-template-columns:1fr}}.locked-field-wrap{position:relative}.locked-field-wrap input:disabled{background:var(--surface-soft);color:#64748b;cursor:not-allowed;border-style:dashed}.field-tooltip{background:var(--ink);color:#fff;white-space:nowrap;z-index:20;box-shadow:var(--shadow-md);border-radius:10px;padding:7px 10px;font-size:12px;font-weight:700;display:none;position:absolute;bottom:calc(100% + 8px);left:0}.locked-field-wrap:hover .field-tooltip{display:block}@media (width<=640px){.family-icon-action{border-radius:10px;width:34px;height:34px}}.staff-assign-page{flex-direction:column;gap:20px;display:flex}.staff-assign-top-card{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);color:#fff;border-radius:20px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:24px;display:flex}.staff-assign-top-left{align-items:center;gap:18px;display:flex}.staff-assign-avatar{background:#ffffff26;border:2px solid #fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:74px;height:74px;display:flex;overflow:hidden}.staff-assign-avatar img{object-fit:cover;width:100%;height:100%}.staff-assign-avatar-text{font-size:26px;font-family:var(--font-display);color:#fff;font-weight:800}.staff-assign-resident-name{font-size:28px;font-family:var(--font-display);margin-bottom:6px;font-weight:800;line-height:1.1}.staff-assign-room{color:#fffc;font-size:14px;font-weight:600}.staff-assign-count{text-align:center;background:#ffffff1f;border:1px solid #ffffff29;border-radius:18px;min-width:120px;padding:14px 18px}.staff-assign-count-number{font-size:28px;font-family:var(--font-display);color:#fff;font-weight:800;line-height:1}.staff-assign-count-label{color:#fffc;text-transform:uppercase;letter-spacing:.5px;margin-top:6px;font-size:12px;font-weight:700}.staff-assign-list{flex-direction:column;gap:14px;display:flex}.staff-assign-row{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:20px;align-items:center;gap:16px;padding:16px 18px;transition:all .18s;display:flex;position:relative}.staff-assign-row:hover{border-color:var(--border2);box-shadow:var(--shadow-md);transform:translateY(-3px)}.staff-assign-row.selected{border-color:var(--primary);background:var(--surface-soft)}.staff-assign-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.staff-assign-user{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.staff-assign-user-avatar{background:var(--surface-soft);border:1px solid #1f4d3a29;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:54px;height:54px;display:flex;overflow:hidden}.staff-assign-user-avatar img{object-fit:cover;width:100%;height:100%}.staff-assign-user-avatar-text{font-size:18px;font-family:var(--font-display);color:var(--primary);font-weight:800}.staff-assign-user-details{flex:1;min-width:0}.staff-assign-user-name{font-size:16px;font-family:var(--font-display);color:var(--ink);margin-bottom:4px;font-weight:700}.staff-assign-user-email{color:#64748b;overflow-wrap:anywhere;margin-bottom:4px;font-size:13px}.staff-assign-user-role{color:var(--primary-hover);background:var(--surface-soft);border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.staff-assign-save-bar{z-index:20;margin-top:22px;position:sticky;bottom:18px}.staff-assign-save-inner{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#16382bf0;border-radius:20px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex;box-shadow:0 18px 40px #0f172a2e}.staff-assign-save-text{color:#fff}.staff-assign-save-title{font-size:15px;font-family:var(--font-display);margin-bottom:3px;font-weight:700}.staff-assign-save-subtitle{color:#ffffffbf;font-size:13px}.staff-assign-empty{text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:20px;padding:48px 24px}.staff-assign-empty-icon{margin-bottom:14px;font-size:44px}.staff-assign-empty-title{font-size:18px;font-family:var(--font-display);color:var(--ink);margin-bottom:8px;font-weight:700}.staff-assign-empty-text{color:#64748b;max-width:420px;margin:0 auto;font-size:14px;line-height:1.6}.assign-card{border:1px solid var(--border);background:#fff;border-radius:20px;overflow:hidden}.assign-tabs{border-bottom:1px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid}.assign-tab{font-size:16px;font-family:var(--font-display);cursor:pointer;background:#fff;border:0;border-right:1px solid #e5e7eb;padding:18px;font-weight:700}.assign-tab.active{border-bottom:3px solid var(--primary)}.assign-toolbar{grid-template-columns:1fr 175px 175px;gap:12px;padding:26px 20px 18px;display:grid}.assign-search{border:1px solid #04785724;border-radius:12px;align-items:center;gap:12px;height:50px;padding:0 18px;display:flex}.assign-search span{color:#475569;font-size:28px}.assign-search input{border:0;outline:0;width:100%;font-size:16px}.assign-filter{background:#fff;border:1px solid #04785724;border-radius:12px;padding:0 16px;font-size:16px}.assign-select-all{border-bottom:1px solid #edf0f2;align-items:center;gap:20px;padding:18px 58px;display:flex}.assign-user-list{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:min(58vh,620px);overflow-y:auto}.assign-user-list::-webkit-scrollbar{width:10px}.assigned-staff-list::-webkit-scrollbar{width:10px}.assign-user-list::-webkit-scrollbar-thumb{background:#1f4d3a3d;border:3px solid #fff;border-radius:999px}.assigned-staff-list::-webkit-scrollbar-thumb{background:#1f4d3a3d;border:3px solid #fff;border-radius:999px}.assign-user-list::-webkit-scrollbar-track{background:0 0}.assigned-staff-list::-webkit-scrollbar-track{background:0 0}.assign-user-row{cursor:pointer;border-bottom:1px solid #edf0f2;grid-template-columns:32px 52px 1fr;align-items:center;gap:16px;padding:14px 58px;display:grid}.assign-user-row.selected{border-left:5px solid var(--primary);background:linear-gradient(90deg,#eef7f2 0%,#f3faf7 100%)}.assign-user-row:hover{background:var(--surface-soft)}.assign-badge{background:var(--surface-soft);color:var(--primary-hover);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.assign-user-row input,.assign-select-all input{width:22px;height:22px;accent-color:var(--primary)}.assign-avatar{background:var(--surface-soft);width:50px;height:50px;color:var(--primary);font-family:var(--font-display);border-radius:14px;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:flex}.assign-user-name{font-size:16px;font-family:var(--font-display);color:var(--ink);font-weight:700}.assign-user-email{color:#334155;font-size:14px}.assign-pin{opacity:.28;font-size:22px}.assign-footer{border-top:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;padding:16px 24px 18px 44px;display:flex;position:sticky;bottom:0}.assign-footer-actions{gap:14px;display:flex}.assign-search-icon{opacity:.65;font-size:20px}.assign-footer{z-index:10;position:sticky;bottom:0;box-shadow:0 -8px 30px #0f172a0f}.assign-empty{text-align:center;color:#64748b;padding:60px 20px;font-weight:600}.assign-layout{grid-template-columns:1fr 340px;align-items:start;gap:22px;display:grid}.assignment-summary{border:1px solid var(--border);background:#fff;border-radius:18px;position:sticky;top:24px;overflow:hidden}.assignment-summary-head{background:var(--surface-soft);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.assignment-summary-head h3{font-size:18px;font-family:var(--font-display);margin:0;font-weight:700}.assignment-summary-head span{width:30px;height:30px;color:var(--ink);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex}.assigned-staff-list{overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;gap:12px;max-height:min(58vh,620px);padding:16px;display:flex;overflow-y:auto}.assigned-staff-chip{background:var(--surface);border:1px solid var(--border);border-radius:16px;align-items:center;gap:10px;padding:10px;display:flex}.assigned-avatar{background:var(--surface-soft);width:36px;height:36px;color:var(--primary);font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.assigned-staff-info{flex:1;min-width:0}.assigned-staff-info strong{color:var(--ink);font-size:14px;display:block}.assigned-staff-info small{color:#64748b;overflow-wrap:anywhere;font-size:12px;display:block}.assigned-remove{color:#334155;cursor:pointer;background:#e5e7eb;border:0;border-radius:50%;width:26px;height:26px;font-size:18px}.assigned-remove:hover{color:#b91c1c;background:#fee2e2}.assigned-empty{color:#64748b;margin:0;font-style:italic}.error-alert{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:14px;margin-bottom:18px;padding:14px 18px;font-weight:700}@media (width<=1100px){.assign-layout{grid-template-columns:1fr}.assignment-summary{position:static}}@media (width<=900px){.assign-tabs{grid-template-columns:1fr 1fr}.assign-toolbar{grid-template-columns:1fr}.assign-user-row{grid-template-columns:28px 48px 1fr;padding:14px 18px}.assign-pin{display:none}.assign-select-all{padding:16px 18px}.assign-user-list,.assigned-staff-list{max-height:420px}}@media (width<=768px){.staff-assign-top-card{flex-direction:column;align-items:flex-start}.staff-assign-top-left,.staff-assign-count{width:100%}.staff-assign-row{align-items:flex-start}.staff-assign-save-inner{flex-direction:column;align-items:stretch}.staff-assign-save-inner button{width:100%}}:root{--surface:#f8fafc;--surface-soft:#f3faf7;--surface-mint:#eef7f2;--white:#fff;--ink:#0f172a;--ink2:#475569;--muted:#64748b;--muted-soft:#94a3b8;--border:#0f172a14;--border2:#0f172a24;--primary:#1f4d3a;--primary-hover:#16382b;--primary-light:#f3faf7;--primary-soft:#eef7f2;--accent:#c8a96b;--teal-brand:#6e8fa3;--blue:var(--primary);--blue-hover:var(--primary-hover);--blue-lt:var(--primary-light);--green:#047857;--green-lt:#e8f6f0;--amber:#f59e0b;--amber-lt:#fef3c7;--red:#dc2626;--red-lt:#fee2e2;--purple:#7c3aed;--purple-lt:#f3e8ff;--teal:var(--teal-brand);--teal-lt:#eef6f8;--shadow-sm:0 8px 28px #0f172a0b;--shadow-md:0 8px 30px #0f172a13;--shadow-lg:0 18px 60px #0f172a1f;--radius:14px;--radius-lg:20px;--font-display:"Poppins", sans-serif;--font-body:"Inter", system-ui, sans-serif;--fw-normal:400;--fw-medium:500;--fw-semibold:600}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricprecision;line-height:1.6}button,input,select,textarea{font-family:inherit}button{cursor:pointer;transition:all .2s}a{color:inherit;text-decoration:none}::selection{color:var(--ink);background:#1f4d3a47}::selection{color:var(--ink);background:#1f4d3a47}.text-muted{color:var(--muted)}.text-soft{color:var(--muted-soft)}h1{font-family:var(--font-display);letter-spacing:-.035em;font-size:30px;font-weight:800;line-height:1.12}h2{font-family:var(--font-display);letter-spacing:-.025em;font-size:22px;font-weight:800;line-height:1.15}h3{font-family:var(--font-display);letter-spacing:-.015em;font-size:18px;font-weight:700}p{color:var(--ink2);font-size:14px;line-height:1.6}.btn-primary{background:var(--primary);color:#fff;font-family:var(--font-display);border:none;border-radius:12px;padding:11px 18px;font-weight:700}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.badge{font-size:12px;font-weight:var(--fw-medium);border-radius:999px;padding:4px 10px}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all .2s}.card:hover{box-shadow:var(--shadow-md)}.flex{display:flex}.grid{display:grid}.center{justify-content:center;align-items:center;display:flex}.rounded{border-radius:12px}.form-grid textarea,textarea{color:#111827;resize:vertical;box-sizing:border-box;background:#effaf6;border:1px solid #dbe3ef;border-radius:12px;outline:none;width:100%;min-height:110px;padding:15px 18px;font-family:inherit;font-size:16px;font-weight:600;line-height:1.45}.form-grid textarea:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px #1f4d3a1a}.form-grid textarea::placeholder,textarea::placeholder{color:#94a3b8;font-weight:500}.admin-shell{background:radial-gradient(circle at 86% 18%, #1f4d3a1f, transparent 32%), radial-gradient(circle at 12% 76%, #6e8fa317, transparent 28%), var(--surface);min-height:100vh;display:flex}.sidebar{width:252px;color:var(--ink);z-index:20;border-right:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:8px 0 26px #0f172a0b}.sidebar-logo{border-bottom:1px solid var(--border2);flex:none;align-items:center;gap:12px;padding:24px 22px;display:flex}.sidebar-logo:has(.care-home-logo-wide.logo-icon){text-align:center;flex-direction:column;align-items:center;gap:10px}.sidebar-logo>div{min-width:0}.logo-icon,.care-home-logo.logo-icon{width:54px;height:54px;font-family:var(--font-display);color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-hover));border-radius:14px;font-size:14px;font-weight:800;box-shadow:0 10px 22px #1f4d3a38}.care-home-logo{flex:none;place-items:center;display:inline-grid;overflow:hidden}.care-home-logo-image{padding:0;box-shadow:none!important;background:0 0!important}.sidebar-logo .care-home-logo-image.logo-icon{border-radius:0;box-shadow:none!important;background:0 0!important}.sidebar-logo .care-home-logo-square.logo-icon{width:54px;height:54px}.sidebar-logo .care-home-logo-wide.logo-icon{flex-basis:auto;width:min(150px,100%);height:34px}.care-home-logo img{object-fit:contain;width:100%;height:100%;display:block}.care-home-logo-fallback{text-transform:uppercase;background:var(--care-home-logo-fallback-bg,linear-gradient(135deg, var(--primary), var(--primary-hover)));color:var(--care-home-logo-fallback-color,#fff);text-align:center;letter-spacing:0;line-height:1;display:inline-block;position:relative;overflow:hidden}.care-home-logo-fallback-text{color:var(--care-home-logo-fallback-color,#fff);line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sidebar-logo .care-home-logo-fallback-text{color:var(--care-home-logo-fallback-color,#fff);margin:0;font-size:22px;font-weight:900;line-height:1}.sidebar-logo .care-home-logo-fallback.logo-icon{border-radius:16px;flex-basis:54px;width:54px;height:54px;font-size:22px;font-weight:900}.topbar-brand{align-items:center;gap:12px;min-width:0;display:flex}.topbar-logo{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;width:38px;height:38px;font-family:var(--font-display);border-radius:12px;font-size:13px;font-weight:800;box-shadow:0 8px 18px #1f4d3a29}.sidebar-logo strong{font-size:18px;font-family:var(--font-display);letter-spacing:-.03em;overflow-wrap:anywhere;font-weight:800;line-height:1.15;display:block}.sidebar-logo span{color:var(--muted);margin-top:2px;font-size:11px;font-weight:700;line-height:1.25;display:block}.nav-item{color:var(--muted);border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;margin:4px 12px;padding:12px 16px;font-size:14px;font-weight:700;transition:background .18s,color .18s,box-shadow .18s,transform .18s;display:flex}.nav-item:hover{background:var(--surface-soft);color:var(--primary-hover);transform:translate(2px)}.nav-item.active{background:var(--primary);color:#fff;box-shadow:0 10px 24px #1f4d3a38}.nav-icon{width:34px;height:34px;color:var(--primary);background:#1f4d3a14;border-radius:11px;flex:none;justify-content:center;align-items:center;display:inline-flex}.nav-icon svg{width:18px;height:18px}.nav-label{min-width:0}.nav-item.active .nav-icon{color:#fff;background:#ffffff29}.sidebar nav{scrollbar-color:transparent transparent;scrollbar-width:none;flex:auto;min-height:0;padding:12px 0;overflow:hidden auto}.sidebar nav::-webkit-scrollbar{width:2px}.sidebar nav::-webkit-scrollbar-track{background:0 0}.sidebar nav::-webkit-scrollbar-thumb{background:padding-box content-box;border:0;border-radius:999px;transition:background .18s}.sidebar nav:hover,.sidebar nav.is-scrolling{scrollbar-color:#1f4d3a47 transparent;scrollbar-width:thin}.sidebar nav:hover::-webkit-scrollbar-thumb{background:#1f4d3a2e}.sidebar nav.is-scrolling::-webkit-scrollbar-thumb{background:#1f4d3a2e}.sidebar nav::-webkit-scrollbar-thumb:hover{background:#1f4d3a57 padding-box content-box;border:0}.logout{color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:none;align-items:center;gap:12px;margin:8px 12px;padding:13px 16px;font-weight:700;display:flex}.logout svg{width:18px;height:18px}.logout:hover{background:var(--red-lt);color:var(--red)}.main-area{flex:1;min-width:0;margin-left:252px}.topbar{border-bottom:1px solid var(--border);z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;justify-content:space-between;align-items:center;gap:16px;height:74px;padding:0 30px;display:flex;position:sticky;top:0}.topbar-breadcrumb{min-width:0;color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:800;display:inline-flex}.topbar-breadcrumb-item{align-items:center;gap:8px;display:inline-flex!important}.topbar-breadcrumb svg{width:14px;height:14px;color:var(--muted-soft);flex:none}.topbar-breadcrumb strong{color:var(--ink);font-size:14px}.topbar strong{font-size:15px;font-family:var(--font-display);letter-spacing:-.02em;display:block}.topbar span{color:var(--muted);font-size:12px;font-weight:600;display:block}.topbar-actions{align-items:center;gap:12px;margin-left:auto;display:inline-flex}.topbar-notification-btn{background:var(--primary-light);width:42px;height:42px;color:var(--primary);border:1px solid #1f4d3a1f;border-radius:50%;place-items:center;text-decoration:none;transition:background .18s,border-color .18s,color .18s,transform .18s;display:inline-grid;position:relative}.topbar-notification-btn:hover{background:var(--primary-soft);color:var(--primary);border-color:#1f4d3a29;transform:translateY(-1px)}.topbar-notification-btn svg{width:18px;height:18px;display:block}.notification-menu-wrap{display:inline-flex;position:relative}.notification-menu-wrap>button{cursor:pointer}.notification-popover{z-index:90;border:1px solid var(--border);background:#fffffffa;border-radius:20px;width:min(380px,100vw - 28px);position:absolute;top:calc(100% + 12px);right:0;overflow:hidden;box-shadow:0 18px 44px #0f172a21}.notification-popover:before{content:"";border-left:1px solid var(--border);border-top:1px solid var(--border);background:#f8fafc;width:12px;height:12px;position:absolute;top:-7px;right:22px;transform:rotate(45deg)}.notification-popover-head{border-bottom:1px solid var(--border);background:#f8fafc;justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:14px 14px 14px 18px;display:flex}.notification-popover-head>div,.notification-popover-actions{align-items:center;display:inline-flex}.notification-popover-head>div:first-child{color:var(--ink);grid-template-columns:22px auto;align-items:center;gap:12px;display:inline-grid}.notification-popover-head>div:first-child svg{color:#d99a00;justify-self:center;width:18px;height:18px;display:block}.notification-popover-head strong{font-family:var(--font-display);letter-spacing:-.01em;font-size:18px}.notification-popover-actions{gap:10px}.notification-popover-actions a{color:#07b85f;font-size:13px;font-weight:800;text-decoration:none}.notification-popover-actions a:hover{color:var(--primary-hover)}.notification-popover-actions button{border:1px solid var(--border);width:34px;height:34px;color:var(--muted);cursor:pointer;background:#fff;border-radius:50%;place-items:center;display:inline-grid}.notification-popover-actions button:hover{color:var(--ink);background:var(--surface-soft);border-color:#1f4d3a2e}.notification-popover-body{gap:10px;max-height:430px;padding:14px;display:grid;overflow-y:auto}.notification-popover-label{color:#9aa3ae;letter-spacing:.08em;text-transform:uppercase;margin:0 0 2px;font-size:12px;font-weight:900;display:block}.notification-popover-item{min-height:82px;color:var(--ink);background:linear-gradient(135deg,#fff 0%,#f7fbf9 100%);border:1px solid #0000;border-radius:14px;grid-template-columns:40px minmax(0,1fr);align-items:flex-start;gap:13px;padding:14px;text-decoration:none;transition:background .18s,border-color .18s,transform .18s;display:grid}.notification-popover-item:hover{background:linear-gradient(135deg,#f3fbf7 0%,#eaf7f1 100%);border-color:#1f4d3a1f;transform:translateY(-1px)}.notification-popover-item.unread{background:linear-gradient(135deg,#f0fbf5 0%,#e6f6ee 100%)}.notification-popover-icon{color:#c8a96b;background:#dff6ec;border-radius:12px;flex:0 0 40px;justify-self:center;width:40px;height:40px;display:block;position:relative}.notification-popover-icon svg{filter:drop-shadow(0 1px #fff7d6f2);width:17px;height:17px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.notification-popover-copy{align-content:start;min-width:0;display:grid}.notification-popover-copy strong,.notification-popover-copy em,.notification-popover-copy small{display:block}.notification-popover-copy strong{color:var(--ink);font-size:14px;font-weight:800;line-height:1.35}.notification-popover-copy em{color:var(--muted);margin-top:3px;font-size:13px;font-style:normal;line-height:1.35}.notification-popover-copy small{color:var(--muted-soft);margin-top:6px;font-size:12px;font-weight:800}.notification-popover-empty{color:var(--muted);text-align:center;background:#f5f7f9;border-radius:14px;padding:22px 14px;font-weight:800}.topbar .avatar{justify-content:center;align-items:center;display:inline-flex}.admin-user-pill{width:42px;height:42px;color:var(--avatar-color,var(--primary));border:1px solid var(--avatar-ring,var(--border));background:var(--avatar-bg,#fff);box-shadow:0 0 0 4px color-mix(in srgb, var(--avatar-ring,#1f4d3a24) 70%, transparent);cursor:pointer;aspect-ratio:1;border-radius:50%;place-items:center;padding:0;font-weight:900;line-height:1;transition:transform .18s,box-shadow .18s;display:inline-grid;overflow:hidden}.admin-user-pill:hover{box-shadow:0 0 0 5px color-mix(in srgb, var(--avatar-ring,#1f4d3a24) 82%, transparent);transform:translateY(-1px)}.admin-user-pill span,.admin-user-pill img{width:100%;height:100%}.admin-user-pill span{color:var(--avatar-color,var(--primary));background:0 0;place-items:center;font-size:12px;display:inline-grid}.admin-user-pill img{object-fit:cover;display:block}.menu-btn{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;padding:9px 12px;font-size:18px;display:none}.content-area{padding:32px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-header h1{letter-spacing:-.035em;margin:0 0 6px;font-size:30px}.page-header p{color:var(--muted);margin:0;font-size:14px;font-weight:500}.stats-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px;display:grid}.stat-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;padding:20px;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--primary);width:4px;position:absolute;inset:0 auto 0 0}.stat-card:hover,.panel-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.stat-green:before{background:var(--green)}.stat-purple:before{background:var(--purple)}.stat-amber:before{background:var(--amber)}.stat-icon{background:var(--blue-lt);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:14px;font-size:24px;display:flex}.stat-icon svg{width:22px;height:22px}.stat-green .stat-icon{background:var(--green-lt);color:var(--green)}.stat-purple .stat-icon{background:var(--purple-lt);color:var(--purple)}.stat-amber .stat-icon{background:var(--amber-lt);color:#b45309}.panel-title-icon{align-items:center;gap:9px;display:inline-flex}.panel-title-icon svg{width:18px;height:18px;color:var(--primary)}.dashboard-update-list{background:var(--surface);gap:14px;padding:18px;display:grid}.dashboard-update-card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;grid-template-columns:minmax(240px,1.5fr) minmax(170px,.85fr) minmax(170px,.85fr) minmax(150px,.8fr);align-items:center;gap:18px;padding:18px 20px;transition:transform .18s,box-shadow .18s;display:grid}.dashboard-update-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.dashboard-update-clickable{width:100%;color:inherit;font:inherit;text-align:left;appearance:none;cursor:pointer}.dashboard-update-clickable:focus-visible{outline-offset:3px;outline:3px solid #1f4d3a38}.dashboard-update-main,.dashboard-update-person,.dashboard-update-time{min-width:0}.dashboard-update-main{justify-items:start;gap:8px;display:grid}.dashboard-update-type{width:auto;max-width:max-content;color:var(--muted);background:#eef7f2;border-radius:999px;justify-content:center;align-items:center;padding:6px 11px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.dashboard-update-main strong{color:#1f2937;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;line-height:1.3;overflow:hidden}.dashboard-update-main p{color:var(--ink2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.dashboard-update-main>span{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.dashboard-update-main svg,.dashboard-update-time svg{width:14px;height:14px}.dashboard-update-person{align-items:center;gap:12px;display:flex}.dashboard-update-person span,.dashboard-update-time span{color:var(--muted);align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.dashboard-update-person strong,.dashboard-update-time strong{color:#334155;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:13px;font-weight:700;display:block;overflow:hidden}.dashboard-update-time{border-left:1px solid var(--border2);padding-left:16px}.stat-value{font-size:32px;font-family:var(--font-display);letter-spacing:-.04em;font-weight:800}.stat-label{color:var(--muted);letter-spacing:.5px;text-transform:uppercase;font-size:11px;font-weight:800}.stat-trend{border-radius:999px;margin-top:10px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-block}.trend-blue{background:var(--blue-lt);color:var(--blue)}.trend-green{background:var(--green-lt);color:var(--green)}.trend-purple{background:var(--purple-lt);color:var(--purple)}.trend-amber{background:var(--amber-lt);color:#b45309}.panel-card{box-shadow:var(--shadow-sm);border:1px solid var(--border);background:#fff;border-radius:20px;margin-bottom:22px;transition:all .2s;overflow:hidden}.panel-header{border-bottom:1px solid var(--border2);justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.panel-header h2,.settings-card h2{font-size:16px;font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:800}.notifications-heading{align-items:center;gap:9px;display:inline-flex}.notifications-heading svg{color:#c8a96b;filter:drop-shadow(0 1px #fff7d6f2);width:20px;height:20px}.table-responsive{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:760px}.admin-table th{text-align:left;color:var(--muted);letter-spacing:.6px;background:var(--surface);text-transform:uppercase;padding:12px 18px;font-size:11px}.admin-table td{border-bottom:1px solid var(--border2);color:var(--ink2);padding:15px 18px;font-size:14px;font-weight:500}.admin-table tr:hover td{background:var(--surface-soft)}.name-cell{color:var(--ink);align-items:center;gap:10px;font-weight:800;display:flex}.avatar{background:var(--avatar-bg,var(--blue-lt));width:36px;height:36px;color:var(--avatar-color,var(--blue));border:1px solid var(--avatar-ring,var(--border2));font-family:var(--font-display);letter-spacing:.02em;box-shadow:0 0 0 4px color-mix(in srgb, var(--avatar-ring,#1f4d3a24) 60%, transparent);border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex;overflow:hidden}.avatar>img,.avatar-img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.avatar-initials{text-transform:uppercase;line-height:1}.badge{border-radius:999px;padding:5px 11px;font-size:11px;font-weight:800;display:inline-block}.badge-green{background:var(--green-lt);color:var(--green)}.badge-amber{background:var(--amber-lt);color:#b45309}.badge-red{background:var(--red-lt);color:var(--red)}.badge-blue{background:var(--blue-lt);color:var(--blue)}.badge-purple{background:var(--purple-lt);color:var(--purple)}.actions{flex-wrap:wrap;gap:8px;display:flex}.list-toolbar{border:1px solid var(--border);background:#f8fafcb8;border-radius:16px;grid-template-columns:minmax(240px,1fr) minmax(180px,220px);align-items:end;gap:12px;margin:0 0 18px;padding:14px;display:grid}.list-search,.list-filter{gap:6px;display:grid}.list-search span,.list-filter span{color:var(--muted);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.list-search input,.list-filter select,.list-filter input{border:1px solid var(--border);width:100%;height:42px;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:0 12px;font-size:14px;transition:border-color .18s,box-shadow .18s}.list-search input:focus,.list-filter select:focus,.list-filter input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #1f4d3a1a}.search-input-wrap{position:relative}.search-input-wrap svg{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input-wrap input{padding-left:38px}.admin-timeline-toolbar{grid-template-columns:minmax(250px,1.4fr) repeat(4,minmax(150px,1fr))}.admin-timeline-header-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.admin-timeline-header-meta button{background:var(--surface-soft);min-height:28px;color:var(--red);cursor:pointer;border:1px solid #1f4d3a1f;border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.admin-timeline-header-meta button:hover{background:var(--red-lt);border-color:#dc26262e}.admin-timeline-header-meta button svg{width:13px;height:13px}.admin-timeline-list{background:linear-gradient(#f8fafcb8,#fff)}.admin-timeline-card{text-align:left;cursor:pointer;appearance:none;background:linear-gradient(90deg, color-mix(in srgb, var(--timeline-bg,#eef7f2) 54%, #fff) 0%, #fff 34%), #fff;width:100%;color:inherit;font:inherit;position:relative}.admin-timeline-card:before{content:"";border-radius:inherit;border:1px solid color-mix(in srgb, var(--timeline-color,var(--primary)) 18%, transparent);pointer-events:none;position:absolute;inset:0}.admin-timeline-card .dashboard-update-type{background:var(--timeline-bg,#eef7f2);color:color-mix(in srgb, var(--timeline-color,var(--primary)) 72%, #334155)}.admin-timeline-card .dashboard-update-main p{color:var(--ink2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.timeline-detail-modal{gap:16px;display:grid}.timeline-detail-note{border:1px solid var(--border);color:var(--ink2);background:#f8fafc;border-radius:16px;padding:16px;font-size:14px;font-weight:600;line-height:1.6}.timeline-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-timeline-card.announcement{background:linear-gradient(90deg,#eff6ffe6,#fff);border-color:#2563eb33}.timeline-attachment-grid,.portal-attachment-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.timeline-attachment,.timeline-attachment-item{border:1px solid var(--border2);background:var(--surface-soft);color:var(--ink);border-radius:14px;gap:8px;min-width:0;padding:10px;text-decoration:none;display:grid}.timeline-attachment img,.timeline-attachment-item img{aspect-ratio:16/10;object-fit:cover;background:#fff;border-radius:10px;width:100%}.timeline-attachment>span,.timeline-attachment-icon{aspect-ratio:16/10;color:var(--primary);background:#fff;border-radius:10px;place-items:center;font-size:28px;display:grid}.timeline-attachment strong,.timeline-attachment-item strong{overflow-wrap:anywhere;font-size:13px}.timeline-attachments.compact{flex-wrap:wrap;gap:7px;display:flex}.timeline-attachments.compact .timeline-attachment-item{background:#ffffffc7;border-radius:999px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;width:fit-content;max-width:min(100%,220px);padding:6px 9px}.timeline-attachments.compact .timeline-attachment-item img,.timeline-attachments.compact .timeline-attachment-icon{aspect-ratio:1;border-radius:5px;width:18px;height:18px;font-size:10px}.timeline-attachments.compact .timeline-attachment-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.timeline-attachments.detail{gap:10px;display:grid}.timeline-attachments-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.timeline-attachments-head strong{font-family:var(--font-display);font-size:15px}.timeline-attachments-head span{background:var(--surface-soft);min-width:28px;height:28px;color:var(--primary);border-radius:999px;place-items:center;font-weight:900;display:inline-grid}.timeline-attachment-list{gap:10px;display:grid}.timeline-attachment-row{border:1px solid var(--border2);background:var(--surface-soft);border-radius:14px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.timeline-attachment-thumb{width:52px;height:52px;color:var(--primary);background:#fff;border-radius:12px;place-items:center;font-size:22px;display:grid;overflow:hidden}.timeline-attachment-thumb img{object-fit:cover;width:100%;height:100%}.timeline-attachment-copy{min-width:0}.timeline-attachment-copy strong,.timeline-attachment-copy small{display:block}.timeline-attachment-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timeline-attachment-copy small{color:var(--muted);margin-top:4px;font-weight:700}.timeline-attachment-row button,.timeline-attachment-row a{border:1px solid var(--border);min-height:38px;color:var(--primary);cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:900;text-decoration:none;display:inline-flex}.timeline-attachment-row button:hover,.timeline-attachment-row a:hover{background:#eef7f2;border-color:#1f4d3a2e}.timeline-image-preview-overlay{z-index:120;background:#0f172ab8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.timeline-image-preview-overlay-moment{z-index:160;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a9e;padding:18px}.timeline-image-preview{align-content:center;justify-items:center;gap:10px;width:min(100%,980px);max-height:calc(100vh - 40px);display:grid;position:relative}.timeline-image-preview-moment{background:#fff;border:1px solid #ffffffb8;border-radius:24px;align-content:start;justify-items:stretch;gap:0;width:min(100%,920px);max-height:calc(100vh - 36px);padding:18px;overflow:auto;box-shadow:0 28px 80px #0f172a47}.timeline-image-preview>button,.timeline-image-preview-close{width:40px;height:40px;color:var(--ink);cursor:pointer;background:#fffffff0;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;top:12px;right:12px}.timeline-image-preview-moment .timeline-image-preview-close{z-index:2;border:1px solid #0f172a1a;top:14px;right:14px;box-shadow:0 10px 24px #0f172a1f}.timeline-image-preview-frame{background:radial-gradient(circle at 50% 0,#ffffffd9,#0000 42%),linear-gradient(135deg,#f4faf7 0%,#e9f4ef 48%,#dfeee8 100%);border-radius:18px;place-items:center;min-height:260px;max-height:68vh;padding:18px;display:grid;overflow:hidden}.timeline-image-preview img{object-fit:contain;background:#fff;border-radius:16px;place-self:center;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 96px);display:block}.timeline-image-preview-frame img{border-radius:14px;max-height:calc(68vh - 36px);box-shadow:0 16px 36px #1f4d3a1f}.timeline-image-preview-copy{justify-content:space-between;align-items:center;gap:16px;padding:16px 2px 0;display:flex}.timeline-image-preview-copy div{min-width:0}.timeline-image-preview strong,.timeline-image-preview-copy strong{color:#fff;text-align:center;overflow-wrap:anywhere}.timeline-image-preview-copy strong{color:var(--ink);text-align:left;font-family:var(--font-display);font-size:18px;line-height:1.2;display:block}.timeline-image-preview-copy span{color:var(--muted);margin-top:4px;font-size:13px;font-weight:800;display:block}.timeline-image-preview-copy a{background:var(--primary);color:#fff;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-weight:900;text-decoration:none;display:inline-flex}.announcement-form{gap:18px;display:grid}.announcement-page-card .announcement-form{padding:22px}.announcement-form .admin-form-grid{padding:0}.announcement-picker{gap:10px;display:grid}.announcement-picker>span,.announcement-file-input>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:900}.announcement-picker>div{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;max-height:220px;padding:2px;display:grid;overflow:auto}.announcement-picker label,.announcement-options label{border:1px solid var(--border2);background:var(--surface-soft);border-radius:14px;align-items:center;gap:10px;padding:11px 12px;display:flex}.announcement-picker label{align-items:flex-start}.announcement-picker label strong,.announcement-picker label small{display:block}.announcement-picker label small{color:var(--muted);margin-top:2px;font-size:12px}.announcement-options{flex-wrap:wrap;gap:10px;display:flex}.announcement-file-input{background:#f7fbf8;border:1px dashed #1f4d3a47;border-radius:14px;gap:8px;padding:14px;display:grid}.announcement-file-input small{color:var(--muted);font-weight:700}.announcement-audience-builder{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:24px;display:grid}.announcement-audience-panel,.announcement-selected-panel{border:1px solid var(--border2);background:#fff;border-radius:18px;overflow:hidden}.announcement-audience-tabs,.announcement-selected-head{border-bottom:1px solid var(--border2);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:0 22px;display:flex}.announcement-audience-tabs strong,.announcement-selected-head strong{font-family:var(--font-display);font-size:18px}.announcement-selected-head span{width:32px;height:32px;color:var(--primary);box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;place-items:center;font-weight:900;display:inline-grid}.announcement-audience-search{background:#fbfefd;border:1px solid #1f4d3a29;border-radius:12px;align-items:center;gap:12px;max-width:340px;margin:26px 22px 18px;padding:12px 14px;display:flex}.announcement-audience-search svg{width:22px;height:22px;color:var(--primary)}.announcement-audience-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:15px;font-weight:600}.announcement-select-all,.announcement-audience-row{border-top:1px solid var(--border2);grid-template-columns:28px 52px minmax(0,1fr);align-items:center;gap:14px;padding:16px 22px;display:grid}.announcement-select-all{grid-template-columns:28px minmax(0,1fr);font-weight:900}.announcement-audience-row{cursor:pointer}.announcement-audience-row:hover{background:#f8fafc}.announcement-select-all input,.announcement-audience-row input{width:22px;height:22px;accent-color:var(--primary)}.announcement-avatar{background:var(--announcement-avatar-bg,#f3e8ff);width:42px;height:42px;color:var(--announcement-avatar-color,#7c3aed);border:1px solid var(--announcement-avatar-border,#e9d5ff);letter-spacing:0;text-transform:uppercase;border-radius:14px;flex:0 0 42px;place-items:center;font-size:12px;font-weight:900;line-height:1;display:grid;overflow:hidden;box-shadow:inset 0 0 0 3px #ffffff73}.announcement-audience-row strong,.announcement-selected-row strong{color:var(--ink);font-weight:900;display:block}.announcement-audience-row small,.announcement-selected-row small{color:var(--muted);margin-top:3px;font-weight:700;display:block}.announcement-audience-list{scrollbar-gutter:stable;max-height:360px;overflow-y:auto}.announcement-selected-panel{background:#ffffffdb;padding-bottom:16px}.announcement-selected-list{gap:10px;max-height:360px;padding:16px;display:grid;overflow-y:auto}.announcement-selected-row{border:1px solid var(--border2);background:#f8fafc;border-radius:14px;grid-template-columns:44px minmax(0,1fr) 32px;align-items:center;gap:12px;padding:10px;display:grid}.announcement-selected-row button,.announcement-file-row button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:#e2e8f0;border:0;border-radius:999px;place-items:center;display:inline-grid}.announcement-selected-row button:hover,.announcement-file-row button:hover{background:var(--red-lt);color:var(--red)}.announcement-file-dropzone{text-align:center;background:#f7fbf8;border:2px dashed #1f4d3a3d;border-radius:18px;justify-items:center;gap:10px;padding:28px;transition:border-color .18s,background .18s,transform .18s;display:grid}.announcement-file-dropzone.drag-active{border-color:var(--primary);background:#eef7f2;transform:translateY(-1px)}.announcement-file-dropzone>svg{width:42px;height:42px;color:var(--primary)}.announcement-file-dropzone strong{font-family:var(--font-display);font-size:18px}.announcement-file-dropzone small{color:var(--muted);font-weight:700}.announcement-file-list{gap:10px;display:grid}.timeline-upload-section{border:1px solid var(--border2);background:#fff;border-radius:18px;gap:14px;padding:18px;display:grid}.timeline-upload-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.timeline-upload-head h2{margin:0;font-size:18px}.timeline-upload-head .portal-eyebrow{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:900;display:inline-flex}.portal-file-dropzone{text-align:center;background:#f7fbf8;border:2px dashed #1f4d3a3d;border-radius:18px;justify-items:center;gap:10px;padding:28px;transition:border-color .18s,background .18s,transform .18s;display:grid}.portal-file-dropzone.drag-active{border-color:var(--primary);background:#eef7f2;transform:translateY(-1px)}.portal-file-dropzone>svg{width:42px;height:42px;color:var(--primary)}.portal-file-dropzone strong{font-family:var(--font-display);font-size:18px}.portal-file-dropzone small{color:var(--muted);font-weight:700}.portal-file-list{gap:10px;display:grid}.portal-file-row{border:1px solid var(--border2);background:#fff;border-radius:14px;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:12px;padding:12px 14px;display:grid}.portal-file-row.uploaded{background:#f7fdf9;border-color:#16a34a33}.portal-file-row.error{background:#fff7f7;border-color:#dc262633}.portal-file-row>svg{color:var(--primary);width:20px;height:20px}.portal-file-row strong,.portal-file-row small{display:block}.portal-file-row strong{overflow-wrap:anywhere}.portal-file-row small{color:var(--muted);font-weight:700}.portal-file-row button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:#e2e8f0;border:0;border-radius:999px;place-items:center;display:inline-grid}.portal-file-row button:hover{background:var(--red-lt);color:var(--red)}.portal-upload-progress{background:#e2e8f0;border-radius:999px;width:100%;height:7px;margin-top:8px;display:block;overflow:hidden}.portal-upload-progress>span{border-radius:inherit;background:var(--primary);height:100%;transition:width .18s;display:block}.announcement-link-attachment{border:1px solid var(--border2);background:#fff;border-radius:16px;grid-template-columns:34px minmax(180px,1fr) minmax(150px,.7fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.announcement-link-attachment>svg{width:20px;height:20px;color:var(--primary);justify-self:center}.announcement-link-attachment input{border:1px solid var(--border);min-width:0;height:42px;color:var(--ink);background:#fff;border-radius:12px;outline:0;padding:0 12px}.announcement-file-row{border:1px solid var(--border2);background:#fff;border-radius:14px;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:12px;padding:12px 14px;display:grid}.announcement-file-row>svg{color:var(--primary);width:20px;height:20px}.announcement-file-row strong{overflow-wrap:anywhere;display:block}.announcement-file-row small{color:var(--muted);font-weight:700;display:block}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.timeline-detail-grid div{border:1px solid var(--border);background:#fff;border-radius:14px;padding:14px}.timeline-detail-grid span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:800;display:block}.timeline-detail-grid strong{color:var(--ink);font-size:14px}.scroll-page-hint{color:var(--muted);text-align:center;margin:16px 0 0;font-size:13px;font-weight:700}.family-row-actions{flex-wrap:nowrap;align-items:center}.family-icon-action{border:1px solid var(--border);width:38px;height:38px;color:var(--muted);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s,color .18s;display:inline-flex}.family-icon-action svg{width:15px;height:15px}.family-icon-action:hover,.family-icon-action:focus-visible{box-shadow:var(--shadow-sm);outline:none;transform:translateY(-1px)}.family-icon-action.assign{background:var(--green-lt);color:var(--green);border-color:#16a34a2e}.family-icon-action.assign:hover,.family-icon-action.assign:focus-visible{background:var(--green);color:#fff}.family-icon-action.edit{background:var(--blue-lt);color:var(--blue);border-color:#2563eb29}.family-icon-action.edit:hover,.family-icon-action.edit:focus-visible{background:var(--blue);color:#fff}.family-icon-action.deactivate{background:var(--red-lt);color:var(--red);border-color:#dc262629}.family-icon-action.deactivate:hover,.family-icon-action.deactivate:focus-visible{background:var(--red);color:#fff}.btn{font-size:13px;font-family:var(--font-display);cursor:pointer;color:#fff;background:var(--primary);border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-weight:700;display:inline-flex;box-shadow:0 8px 20px #1f4d3a2e}.btn:hover{background:var(--primary-hover);color:#fff;transform:translateY(-1px)}.btn-light{background:var(--surface-soft);color:var(--primary-hover);box-shadow:none}.btn-soft{background:var(--teal-lt);color:#375c6e;box-shadow:none}.btn-danger{background:var(--red-lt);color:var(--red);box-shadow:none}.btn-success{background:var(--green-lt);color:var(--green);box-shadow:none}.btn-light:hover,.btn-soft:hover,.btn-danger:hover,.btn-success:hover{filter:brightness(.98);transform:translateY(-1px)}.btn-light:hover{background:var(--surface-soft);color:var(--primary-hover)}.btn-soft:hover{background:var(--teal-lt);color:#375c6e}.btn-danger:hover{background:var(--red-lt);color:var(--red)}.btn-success:hover{background:var(--green-lt);color:#fff}.email-preview{border:1px solid var(--border);border-left:5px solid var(--primary);box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;margin-bottom:22px;padding:18px 20px}.email-label{color:#b45309;letter-spacing:.5px;font-size:11px;font-weight:800}.email-from{color:var(--muted);margin-top:9px;font-size:12px;font-weight:750}.email-subject{color:var(--ink);margin-top:6px;font-weight:800}.email-body{color:var(--ink2);margin-top:8px;font-size:13px;line-height:1.65}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#f2eded85;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:520px;box-shadow:var(--shadow-lg);border:1px solid var(--border);background:#fff;border-radius:20px;padding:28px;position:relative}.modal-close{background:var(--border2);cursor:pointer;width:34px;height:34px;color:var(--ink2);border:0;border-radius:50%;font-size:18px;position:absolute;top:16px;right:16px}.modal h2{letter-spacing:-.02em;font-family:var(--font-display);margin:0 0 4px}.modal p{color:var(--muted);margin:0 0 18px;font-weight:500}.confirm-modal-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.form-grid{gap:12px;display:grid}.admin-edit-card{max-width:980px}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;padding:22px}.admin-form-grid label{color:var(--ink);grid-template-rows:auto 44px minmax(18px,auto);align-content:start;gap:8px;font-weight:800;display:grid}.admin-form-grid label span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:900}.admin-form-grid label small{color:var(--muted);min-height:18px;font-size:12px;font-weight:700;line-height:1.25}.admin-form-grid label .field-error{color:var(--red);font-weight:800}.form-grid input.field-invalid,.form-grid select.field-invalid,.form-grid textarea.field-invalid{border-color:var(--red);background:#fff7f7}.form-grid input.field-invalid:focus,.form-grid select.field-invalid:focus,.form-grid textarea.field-invalid:focus{border-color:var(--red);box-shadow:0 0 0 4px #dc26261a}.admin-form-grid .error-alert,.admin-form-wide,.admin-form-actions{grid-column:1/-1}.admin-form-actions{border-top:1px solid var(--border2);justify-content:flex-end;gap:12px;margin-top:4px;padding-top:12px;display:flex}.admin-form-actions .btn{justify-content:center;min-width:124px}.form-grid input,.form-grid select,.form-grid textarea,.settings-card input{width:100%;min-height:44px;color:var(--ink);background:#effaf6;border:1px solid #04785724;border-radius:11px;outline:none;padding:13px 15px;font-weight:600}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.settings-card input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #1f4d3a1a}.form-grid textarea{resize:vertical;min-height:120px;line-height:1.5}.appointment-list{background:var(--surface);gap:14px;padding:18px;display:grid}.appointment-alert{border:1px solid #1f4d3a24;border-left:4px solid var(--primary);color:var(--ink);box-shadow:var(--shadow-sm);background:#f8fbfa;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:14px 16px;display:flex}.appointment-alert strong,.appointment-alert span{display:block}.appointment-alert span{color:var(--muted);margin-top:3px;font-weight:700}.appointment-alert button{background:var(--surface-soft);color:var(--primary-hover);cursor:pointer;border:1px solid #1f4d3a29;border-radius:999px;padding:10px 14px;font-weight:900}.appointment-row{border:1px solid var(--border2);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;grid-template-columns:74px minmax(190px,1.15fr) minmax(170px,.95fr) minmax(170px,.95fr) minmax(140px,.72fr);align-items:center;gap:18px;padding:18px 20px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;display:grid;position:relative}.appointment-row:hover{box-shadow:var(--shadow-md);background:#fff;border-color:#1f4d3a29;transform:translateY(-2px)}.appointment-row-clickable{cursor:pointer}.appointment-row-clickable:focus-visible{outline-offset:-3px;outline:3px solid #1f4d3a38}.appointment-row-target{background:#f0f8f4;box-shadow:inset 0 0 0 2px #1f4d3a47,0 10px 26px #1f4d3a1a}.appointment-row-pending{background:#fff;border-left:0}.appointment-row-pending:hover{background:#fff}.appointment-row-approved{border-left:0}.appointment-row-cancelled{opacity:.76;border-left:0}.appointment-row-completed{border-left:0}.appointment-party,.appointment-visit-meta{min-width:0}.appointment-party span,.appointment-visit-meta span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:900;display:block}.appointment-visit-meta span{color:var(--primary-hover);text-transform:none;letter-spacing:0;font-size:13px}.appointment-party strong,.appointment-visit-meta strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:15px;font-weight:850;line-height:1.25;display:block;overflow:hidden}.appointment-party small,.appointment-visit-meta small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;font-weight:700;line-height:1.35;display:block;overflow:hidden}.appointment-status-stack{justify-items:end;gap:9px;min-width:132px;display:grid}.appointment-actions{justify-content:flex-end;align-items:center;gap:7px;margin-left:0;display:inline-flex}.icon-action{width:32px;height:32px;color:var(--primary-hover);cursor:pointer;background:#f8fbfa;border:1px solid #1f4d3a1f;border-radius:999px;place-items:center;transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s;display:inline-grid;box-shadow:0 6px 14px #0f172a0d}.icon-action:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px);box-shadow:0 10px 20px #1f4d3a2e}.icon-action svg{width:17px;height:17px}.icon-action-success{background:var(--green-lt);color:var(--green);border-color:#0478572e}.icon-action-success:hover{background:var(--green);border-color:var(--green);color:#fff}.icon-action-danger{background:var(--red-lt);color:var(--red);border-color:#dc262629}.icon-action-danger:hover{background:var(--red);border-color:var(--red);color:#fff}.appointment-details-page{gap:22px;display:grid}.appointment-detail-hero{border:1px solid var(--border);background:linear-gradient(135deg, #fff, var(--surface-soft));box-shadow:var(--shadow-sm);border-radius:24px;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px;display:flex}.appointment-detail-hero h2{letter-spacing:-.03em;margin:5px 0 6px;font-size:28px}.appointment-detail-hero p{color:var(--muted);margin:0;font-weight:700}.appointment-detail-hero-pending{background:linear-gradient(135deg,#fffbebf2,#fff)}.appointment-detail-hero-approved{background:linear-gradient(135deg,#f0fdf4f2,#fff)}.appointment-detail-hero-cancelled{background:linear-gradient(135deg,#fef2f2f2,#fff)}.appointment-detail-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:22px;display:grid}.appointment-detail-main,.appointment-detail-side{overflow:hidden}.detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px;display:grid}.detail-list div,.appointment-contact-card,.appointment-detail-note{border:1px solid var(--border);background:#fff;border-radius:16px}.detail-list div{padding:15px}.detail-list span,.appointment-contact-card span,.appointment-detail-note span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:900;display:block}.detail-list strong{color:var(--ink);font-size:15px}.appointment-detail-note{margin:0 22px 22px;padding:16px}.appointment-detail-note p{color:var(--ink2);margin:0;font-weight:650;line-height:1.55}.appointment-detail-actions{gap:10px;padding:18px;display:grid}.appointment-detail-actions .btn{justify-content:center;text-decoration:none}.appointment-contact-card{margin:0 18px 18px;padding:16px}.appointment-contact-card strong,.appointment-contact-card p{margin:0;display:block}.appointment-contact-card strong{color:var(--ink)}.appointment-contact-card p{color:var(--muted);word-break:break-word;margin-top:6px;font-weight:700}.pagination-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:18px;display:flex}.pagination-bar button{border:1px solid var(--border);min-width:38px;height:38px;color:var(--muted);cursor:pointer;background:#fff;border-radius:12px;font-weight:900}.pagination-bar button:hover:not(:disabled),.pagination-bar button.active{background:var(--primary);border-color:var(--primary);color:#fff}.pagination-bar button:disabled{opacity:.45;cursor:not-allowed}.date-box{background:var(--surface-soft);color:var(--primary-hover);text-align:center;border:1px solid #1f4d3a1f;border-radius:15px;min-width:58px;padding:9px 13px}.date-box strong{font-size:23px;line-height:1;display:block}.date-box span{font-size:10px;font-weight:800;display:block}.date-box small{color:var(--muted);margin-top:2px;font-size:10px;font-weight:800;display:block}.appointment-info{flex:1}.appointment-info strong{color:var(--ink);display:block}.appointment-info span{color:var(--muted);margin-top:3px;font-size:12px;font-weight:700;display:block}.notification-card{border:0;border-bottom:1px solid var(--border2);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:linear-gradient(135deg,#fff 0%,#f8fbfa 100%);align-items:flex-start;gap:14px;padding:16px 22px;display:flex}.notification-card:hover{background:linear-gradient(135deg,#f7fbf9 0%,#eef8f3 100%)}.notification-icon{background:var(--blue-lt);color:#c8a96b;border-radius:15px;flex:0 0 42px;width:42px;height:42px;margin-top:1px;display:block;position:relative}.notification-icon svg{filter:drop-shadow(0 1px #fff7d6f2);width:19px;height:19px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.notification-body{flex:1;min-width:0}.notification-body strong{color:var(--ink);line-height:1.35;display:block}.notification-body p{color:var(--muted);margin:4px 0;font-size:13px;line-height:1.5}.notification-body span{color:var(--muted);font-size:11px;font-weight:700}.unread-dot{background:var(--primary);width:9px;height:9px;box-shadow:0 0 0 4px var(--primary-light);border-radius:50%;flex:0 0 9px;margin-top:9px}.success-alert{background:var(--green-lt);color:var(--green);border:1px solid #bbf7d0;border-radius:16px;margin-bottom:18px;padding:13px 15px;font-weight:700}.settings-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.settings-card{gap:14px;padding:22px;display:grid}.toggle-row{color:var(--ink2);justify-content:space-between;align-items:center;gap:14px;padding:10px 0;font-size:14px;font-weight:700;display:flex}.toggle-row input{accent-color:var(--blue)}.muted-text{color:var(--muted);font-size:13px;font-weight:800}.sidebar-backdrop{display:none}.empty-state{text-align:center;color:var(--muted);gap:4px;padding:44px;display:grid}.page-title{letter-spacing:-.2px;font-size:22px;font-weight:600}.sidebar-item{font-weight:500}.table th{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.table td{color:#1e293b;font-weight:400}.btn-primary{font-weight:500}.card-title{font-weight:600}.card-text{color:#64748b;font-weight:400}@media (width<=980px){.stats-grid,.settings-grid{grid-template-columns:1fr 1fr}.sidebar{transition:all .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:15;background:#0f172a59;border:0;display:block;position:fixed;inset:0}.main-area{margin-left:0}.menu-btn{display:block}.topbar{justify-content:flex-start}.admin-avatar{margin-left:auto}.content-area{padding:22px}.appointment-row{grid-template-columns:68px minmax(0,1fr) minmax(0,1fr);align-items:flex-start;padding:18px 20px}.appointment-visit-meta,.appointment-status-stack{grid-column:2/-1}.appointment-status-stack{justify-content:space-between;place-items:center stretch;min-width:0;display:flex}}@media (width<=640px){.stats-grid,.settings-grid{grid-template-columns:1fr}.page-header{flex-direction:column}.page-header h1{font-size:24px}.content-area{padding:16px}.topbar{padding:0 16px}.panel-header{flex-direction:column;align-items:flex-start}.modal{padding:22px}.appointment-row{grid-template-columns:64px minmax(0,1fr);padding:16px}.appointment-party,.appointment-visit-meta,.appointment-status-stack,.appointment-party-family{grid-column:2/-1}.appointment-status-stack{flex-direction:column;align-items:flex-start;gap:10px}.appointment-detail-hero{flex-direction:column}.appointment-detail-grid,.admin-form-grid,.announcement-audience-builder{grid-template-columns:1fr}.detail-list{grid-template-columns:1fr;padding:16px}.btn{width:auto}.login-card{padding:28px}}.loading-wrapper{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 20px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}.error-alert{background:var(--red-lt);color:var(--red);border:1px solid #fca5a5;border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:14px;font-weight:700}.success-alert{color:var(--primary);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:14px;font-weight:700}.error-block{background:var(--red-lt);text-align:center;color:var(--red);border:1px solid #fca5a5;border-radius:18px;margin:24px 0;padding:30px}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.filter-btn{border:1px solid var(--border);cursor:pointer;color:var(--muted);background:#fff;border-radius:12px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:800;transition:all .15s;display:flex}.filter-btn:hover{background:var(--primary-light);color:var(--primary)}.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.admin-status-tabs{box-sizing:border-box;align-items:center;gap:10px;width:100%;margin:0;padding:14px 22px 18px}.admin-status-tabs .filter-btn{justify-content:center;min-width:112px;min-height:40px;padding:0 18px;line-height:1}.filter-count{color:#fff;background:#ef4444;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:800}.sidebar-user{border-top:1px solid var(--border2);margin-top:auto;padding:12px 16px}.sidebar-user-info strong{font-size:13px;font-weight:800;display:block}.sidebar-user-info span{color:var(--muted);text-transform:capitalize;font-size:11px;font-weight:750}.topbar-right{align-items:center;gap:12px;display:flex;position:relative}.topbar .topbar-badge{background:var(--red);color:#fff;z-index:2;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-7px;right:-7px;box-shadow:0 4px 10px #dc26263d}.code-id{font-family:var(--font-body);background:var(--surface);color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:2px 6px;font-size:11px}.empty-hint{text-align:center;color:var(--muted);padding:40px 20px;font-size:14px;font-weight:700}.avatar-img{color:#0000;background:#fff;box-shadow:0 0 0 4px #1f4d3a14}.info-row{border-bottom:1px solid var(--border2);justify-content:space-between;align-items:center;padding:10px 0;font-size:14px;display:flex}.info-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:800}.settings-card label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:12px;font-weight:700;display:block}.settings-card label input{margin-top:4px;margin-bottom:12px}.appt-notes{color:var(--muted);background:var(--surface);border-radius:8px;margin-top:4px;padding:4px 8px;font-size:12px;display:inline-block}.notification-card.unread{border-left:3px solid var(--primary);background:linear-gradient(135deg,#f0fbf5 0%,#e6f6ee 100%)}.btn-success{background:var(--primary);color:#fff;border:none}.btn-success:hover{background:var(--primary-dark,#15803d)}.btn-soft{background:var(--teal-lt);color:#375c6e;border:1px solid #6e8fa33d}.topbar-right{cursor:pointer;position:relative}.topbar-profile-menu{border:1px solid var(--border);width:238px;box-shadow:var(--shadow-lg);z-index:1000;background:#fffffffa;border-radius:18px;gap:6px;padding:10px;display:grid;position:absolute;top:calc(100% + 12px);right:0}.topbar-profile-menu:before{content:"";border-left:1px solid var(--border);border-top:1px solid var(--border);background:#fff;width:12px;height:12px;position:absolute;top:-7px;right:18px;transform:rotate(45deg)}.profile-menu-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 8px 12px;display:flex}.profile-menu-avatar{background:var(--avatar-bg);width:38px;height:38px;color:var(--avatar-color);border:1px solid var(--avatar-ring);aspect-ratio:1;border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:900;line-height:1;display:inline-grid;overflow:hidden}.topbar .profile-menu-avatar{color:var(--avatar-color);place-items:center;font-size:12px;font-weight:900;display:inline-grid}.profile-menu-avatar img{object-fit:cover;width:100%;height:100%;display:block}.profile-menu-header strong{text-overflow:ellipsis;white-space:nowrap;max-width:160px;color:var(--ink);font-size:15px;font-family:var(--font-display);font-weight:900;display:block;overflow:hidden}.profile-menu-header>div>span{color:var(--muted);margin-top:1px;font-size:12px;font-weight:800;display:block}.admin-profile-preview{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;display:flex}.admin-profile-preview .avatar{width:46px;height:46px;box-shadow:none;border-radius:15px;font-size:14px}.admin-profile-preview strong,.admin-profile-preview>div span{display:block}.admin-profile-preview strong{color:var(--ink);font-family:var(--font-display);font-size:15px;font-weight:800}.admin-profile-preview>div span{color:var(--muted);margin-top:3px;font-size:12px;font-weight:700}.profile-photo-uploader{border-bottom:1px solid var(--border2);background:0 0;justify-items:center;gap:14px;padding:22px 16px 26px;display:grid}.profile-photo-uploader-avatar.avatar,.profile-photo-uploader-avatar.avatar-img,.profile-photo-uploader-avatar.avatar-initials{width:132px;min-width:132px;height:132px;box-shadow:none;aspect-ratio:1;border-radius:50%;flex-basis:132px;margin:0;font-size:34px;line-height:1;overflow:hidden}.profile-photo-uploader-avatar.avatar-img{object-fit:cover}.profile-photo-uploader-body{justify-items:center;gap:8px;min-width:0;display:grid}.profile-photo-status{color:var(--muted);font-size:12px;font-weight:700;line-height:1.45}.profile-photo-uploader-actions{color:var(--primary);align-items:center;gap:8px;font-size:16px;font-weight:700;display:inline-flex}.profile-photo-link{color:#00b45a;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.profile-photo-link:hover{color:var(--primary-hover);text-decoration:underline}.profile-photo-link:disabled{color:var(--muted-soft);cursor:not-allowed;text-decoration:none}.profile-photo-section{margin-bottom:4px}.admin-profile-preview .avatar.avatar-img,.admin-profile-preview .avatar.avatar-initials{width:46px;min-width:46px;height:46px;box-shadow:none;border-radius:15px;justify-content:center;align-items:center;margin:0;line-height:1;display:inline-flex}.profile-photo-uploader-avatar.avatar,.profile-photo-uploader-avatar.avatar-img,.profile-photo-uploader-avatar.avatar-initials{width:132px!important;min-width:132px!important;height:132px!important;box-shadow:none!important;border-radius:50%!important;overflow:hidden!important}.profile-menu-link,.profile-logout-btn{appearance:none;box-sizing:border-box;width:100%;min-height:42px;color:var(--ink);font-family:var(--font-body);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;justify-content:flex-start;align-items:center;padding:10px 11px;font-size:14px;font-weight:800;line-height:1.2;text-decoration:none;transition:background .18s,color .18s;display:flex}.profile-menu-link span,.profile-logout-btn span{color:inherit;font-size:14px;font-weight:800;line-height:1.2}.profile-menu-link:hover{background:var(--surface-soft);color:var(--primary-hover)}.profile-logout-btn{border-top:1px solid var(--border);color:var(--red);border-radius:0 0 12px 12px;margin-top:2px;padding-top:12px}.profile-logout-btn:hover{background:var(--red-lt)}@media (width<=760px){.list-toolbar{grid-template-columns:1fr;padding:12px}.dashboard-update-list{padding:14px}.dashboard-update-card{grid-template-columns:1fr;gap:14px}.announcement-link-attachment{grid-template-columns:30px minmax(0,1fr)}.announcement-link-attachment input,.announcement-link-attachment button{grid-column:2}.dashboard-update-time{border-left:0;border-top:1px solid var(--border2);padding-top:12px;padding-left:0}.family-icon-action{border-radius:10px;width:34px;height:34px}}
