body.companion-page{background:#f5f4fc;padding-bottom:env(safe-area-inset-bottom)}.companion-header{position:sticky;top:0;z-index:20;padding:16px max(20px,env(safe-area-inset-left));border-bottom:1px solid #e8e5f0;background:#ffffffed;backdrop-filter:blur(12px)}.companion-header .brand{font-size:23px}.companion-header button{font-size:12px;border-radius:24px;padding:10px 14px}.connection-state{text-align:center;padding:7px 16px;margin:0;font-size:11px;color:#456960;background:#eaf5ee}.connection-state[data-offline=true]{background:#fff0d5;color:#7a591b}.companion-welcome{max-width:560px;margin:0 auto;padding:48px 24px}.companion-welcome h1{font-size:40px;letter-spacing:-1.5px;line-height:1.13}.companion-welcome>p{line-height:1.7}.welcome-orbit{display:grid;place-items:center;width:74px;height:74px;color:#fff;border-radius:26px;background:linear-gradient(135deg,#4c60bb,#7955cf);font-size:40px;margin-bottom:32px}.companion-welcome .actions{display:grid;gap:12px}.companion-roles{margin:32px 0;display:grid;gap:12px}.companion-roles>a,.companion-roles>div{display:grid;gap:8px;background:#fff;padding:20px;border:1px solid #e4e1ee;border-radius:20px;text-decoration:none;color:var(--ink)}.companion-roles span,.companion-roles p{font-size:13px;color:var(--muted);margin:0}.companion-page .portal-layout{max-width:1100px;grid-template-columns:220px minmax(0,1fr);gap:20px;padding:24px}.companion-page aside{border-radius:22px;background:white;border:1px solid #e4e1ee;align-self:start;padding:20px}.companion-page .portal-content{min-width:0;padding:0}.mobile-greeting{display:flex;align-items:center;gap:14px;margin-bottom:26px}.mobile-avatar{display:grid;place-items:center;width:58px;height:58px;background:#e3ddfa;color:#6550b5;border-radius:50%;font-size:24px;font-weight:800;flex-shrink:0}.mobile-greeting h2{font-size:26px;letter-spacing:-.7px;margin:0 0 6px}.mobile-greeting p{font-size:13px;margin:0;color:var(--muted)}.mobile-greeting .eyebrow{font-size:9px;margin-bottom:7px}.mobile-day,.mobile-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.mobile-day{margin-bottom:18px}.mobile-day h3{font-size:20px;margin:0}.mobile-day .eyebrow{font-size:10px;margin-bottom:6px}.mobile-day button{font-size:12px;border-radius:30px}.mobile-call-card{position:relative;overflow:hidden;border-radius:28px;padding:28px;background:linear-gradient(135deg,#3656b4,#7351c8);color:white;box-shadow:0 16px 30px #5b4bc82a}.mobile-call-card:after{content:'';position:absolute;width:210px;height:210px;border:1px solid #ffffff25;border-radius:50%;right:-85px;top:-85px;pointer-events:none}.mobile-call-card .eyebrow{color:#d8d7ff;font-size:10px}.mobile-call-card h2{font-size:30px;letter-spacing:-.8px;margin:12px 0}.mobile-call-card p{max-width:360px;font-size:14px;line-height:1.6}.mobile-call-card .primary{background:#fff;color:#4a46a1;border:0;display:inline-flex;border-radius:26px;padding:13px 18px}.mobile-call-card small{display:block;margin-top:12px;color:#e0ddff;font-size:11px}.mobile-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#b4e4b8;float:right}.mobile-counts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.mobile-counts>div{padding:20px;background:white;border-radius:20px;border:1px solid #e7e3f2}.mobile-counts strong{font-size:28px;display:block}.mobile-counts span{font-size:12px;color:var(--muted)}.mobile-section-heading h3{font-size:20px}.mobile-section-heading button{font-size:12px}.mobile-appointment{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #e6e2ef;border-radius:22px;padding:18px;margin:12px 0}.mobile-appointment h3{font-size:15px;margin:0 0 6px}.mobile-appointment p{font-size:12px;margin:0 0 5px}.mobile-appointment small{font-size:11px;color:var(--muted);display:block}.mobile-appointment .badge{display:inline-block;font-size:10px;margin-top:9px}.mobile-appointment button{margin-left:auto}.appointment-avatar{width:38px;height:38px;flex-shrink:0;border-radius:14px;background:#eee9ff;display:grid;place-items:center;color:#6652b8}.mobile-empty{background:#fff;border:1px dashed #d6ccec;border-radius:22px;padding:24px}.mobile-empty h3{font-size:17px}.mobile-empty p{font-size:13px;color:var(--muted);line-height:1.6}.mobile-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.mobile-tool-grid button{display:grid;text-align:left;background:#fff;border:1px solid #e3dfed;border-radius:22px;padding:20px;gap:8px;color:var(--ink)}.mobile-tool-grid button span{font-size:25px;color:#6e55bb}.mobile-tool-grid strong{font-size:14px}.mobile-tool-grid small{font-size:11px;color:var(--muted)}.companion-page .card{border-radius:22px}.companion-page footer{padding:24px;font-size:12px;gap:16px;justify-content:center}.companion-page dialog{max-width:540px;width:calc(100% - 32px);border:1px solid #ddd7ef;border-radius:22px;padding:28px}.companion-page dialog::backdrop{background:#18244480}.shared-data-note{text-align:center;font-size:11px}.companion-page #owner-admin-link{display:block;margin:18px 0}.companion-page .side{border-radius:12px}.companion-page a.side{display:block;text-decoration:none}.mobile-nav{display:none}@media(max-width:760px){.companion-page .portal-layout{display:block;padding:22px 18px}.companion-page aside{margin-top:24px}.companion-page #portal aside{order:2}.companion-page .portal-layout{display:flex;flex-direction:column}.companion-page .portal-content{order:1;width:100%}.companion-page .view-top{display:block}.companion-page .view-top h2{font-size:29px}.companion-page .form-grid{grid-template-columns:1fr}.companion-page .stats{grid-template-columns:1fr}.companion-page .table-wrap{overflow:auto}.companion-page .workstation-tools{grid-template-columns:1fr}.companion-page:has(#portal:not([hidden])){padding-bottom:84px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#ffffffed;backdrop-filter:blur(16px);border-top:1px solid #e3dfed;z-index:30;padding:10px 8px calc(10px + env(safe-area-inset-bottom));justify-content:space-around;gap:4px}.mobile-nav button,.mobile-nav a{display:grid;gap:5px;text-align:center;text-decoration:none;color:#6b7083;font-size:10px;min-width:54px;background:none;border:none;padding:7px;border-radius:14px}.mobile-nav span{font-size:20px;line-height:1}.mobile-nav .active{background:#eee9ff;color:#6050b5}.companion-page .companion-welcome .mobile-nav{display:none}.companion-page #portal[hidden]~.mobile-nav{display:none}.companion-page header .brand{font-size:21px}.companion-page footer{flex-wrap:wrap}}@media(prefers-reduced-motion:no-preference){.mobile-call-card{animation:companion-arrive .45s ease-out}@keyframes companion-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}

@media(max-width:760px){.companion-page .table-wrap{border:0;background:none;box-shadow:none;overflow:visible}.companion-page table,.companion-page tbody,.companion-page tr,.companion-page td{display:block;width:100%}.companion-page thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.companion-page tbody tr{background:#fff;border:1px solid #e4deee;border-radius:20px;padding:12px 16px;margin:12px 0}.companion-page td{border:0;padding:8px 0;white-space:normal;overflow-wrap:anywhere}.companion-page td::before{content:attr(data-label);display:block;font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.8px;margin-bottom:5px}.companion-page .row-actions{flex-wrap:wrap}.companion-page .row-actions button{font-size:12px}.companion-page #notice{bottom:90px}}.client-link-form{margin:12px 0}.client-link-form input{width:100%;font-size:13px}.client-link-form button{margin-top:10px;font-size:12px}.client-link-form p{font-size:12px}
