:root{color:#21312b;background:#f7f3ea;font-family:Arial,Helvetica,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{align-items:center;background:#2f6f63;border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;gap:10px;justify-content:center;min-height:48px;padding:12px 18px;transition:background-color .12s ease,box-shadow .12s ease,opacity .12s ease,transform 80ms ease}button:hover{background:#285f55}button:active{box-shadow:inset 0 3px 8px #00000038;transform:translateY(2px) scale(.99)}button:focus-visible{outline:4px solid #d7b95f;outline-offset:3px}button[disabled]{cursor:wait;opacity:.72}button.secondary{background:#5d6460}button.secondary:hover{background:#4f5652}.tv-screen{display:grid;gap:clamp(12px,1.6vw,28px);grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);grid-template-rows:auto minmax(0,1fr) auto auto auto;height:100vh;overflow:hidden;padding:clamp(16px,2.2vw,42px)}.time-panel{grid-column:1 / -1}.day-label{font-size:clamp(24px,4vh,62px);font-weight:700;margin:0 0 clamp(4px,.8vh,10px);text-transform:capitalize}.time-panel h1{font-size:clamp(56px,12vh,190px);line-height:.9;margin:0}.comfort-text{color:#476157;font-size:clamp(22px,3vh,44px);margin:clamp(8px,1.6vh,22px) 0 0}.agenda-grid{display:grid;gap:clamp(12px,1.4vw,24px);grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}.agenda-column{background:#fffdf8;border:3px solid #e0d4bd;border-radius:8px;min-height:0;overflow:hidden;padding:clamp(14px,1.8vw,28px)}.agenda-column h2{font-size:clamp(28px,4vh,64px);margin:0 0 clamp(10px,1.8vh,22px)}.agenda-column ul{display:grid;gap:18px;list-style:none;margin:0;padding:0}.agenda-column li{border-top:2px solid #eadfc9;display:grid;gap:5px;padding-top:clamp(8px,1.4vh,18px)}.agenda-column span{color:#2f6f63;font-size:clamp(22px,3vh,42px);font-weight:800}.agenda-column strong{font-size:clamp(22px,3vh,42px)}.agenda-column em{color:#6a756f;font-size:clamp(18px,2.4vh,30px);font-style:normal;text-transform:capitalize}.agenda-column small,.empty{color:#5e6b65;font-size:clamp(20px,2.6vh,34px)}.photo-panel{align-self:start;background:#fffdf8;border-radius:8px;display:grid;grid-template-rows:minmax(0,1fr) clamp(94px,13vh,154px);height:clamp(300px,47vh,680px);overflow:hidden;position:relative}.photo-panel img{background:#e8e0d2;display:block;height:100%;min-height:0;object-fit:contain;width:100%}.photo-panel div{background:#fffdf8;border-top:3px solid #e0d4bd;display:flex;flex-direction:column;justify-content:center;padding:clamp(12px,1.6vw,22px) clamp(16px,2vw,28px)}.medication-status{align-items:center;background:#fffdf8;border:3px solid #e0d4bd;border-radius:8px;display:flex;gap:16px;grid-column:1 / -1;padding:clamp(10px,1.4vh,18px) clamp(14px,1.8vw,24px)}.medication-status p{font-size:clamp(22px,3vh,42px);font-weight:800;margin:0}.visit-status{background:#eff6f3;border:3px solid #d3e3dc;border-radius:8px;grid-column:1 / -1;padding:clamp(10px,1.3vh,16px) clamp(14px,1.8vw,24px)}.visit-status p{color:#2f6f63;font-size:clamp(22px,2.8vh,38px);font-weight:800;margin:0}.connection-status{background:#fffdf8;border:2px solid #e0d4bd;border-radius:8px;grid-column:1 / -1;padding:12px 18px}.connection-status p,.night-mode-screen small{color:#aebdb6;font-size:clamp(18px,2vw,28px);font-weight:700;margin:0}.connection-status p{color:#6a756f}.call-suggestion{align-items:center;background:#eef5f1;border:3px solid #cfe2da;border-radius:8px;color:#21312b;display:flex;gap:18px;grid-column:1 / -1;padding:clamp(10px,1.4vh,18px) clamp(14px,1.8vw,24px)}.call-suggestion p{font-size:clamp(22px,3vh,42px);font-weight:800;line-height:1.25;margin:0}.call-suggestion span{color:#476157;display:block;font-size:clamp(20px,2.6vh,34px);margin-top:6px}.photo-panel p,.photo-panel strong{display:block;font-size:clamp(22px,3vh,42px);margin:0}.overlay-screen{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:42px;text-align:center}.overlay-screen h1{font-size:clamp(58px,8vw,120px);margin:24px 0}.overlay-screen p{font-size:clamp(34px,4vw,64px);margin:0}.overlay-screen small{color:#5d6460;font-size:24px}.confirm-call-screen{align-items:center;background:#f7f3ea;color:#21312b;display:flex;justify-content:center;min-height:100vh;padding:48px;text-align:center}.confirm-call-screen section{max-width:1180px}.confirm-call-screen p{color:#476157;font-size:clamp(30px,4vw,56px);font-weight:800;margin:0 0 22px}.confirm-call-screen h1{font-size:clamp(44px,6vw,92px);line-height:1.12;margin:0 0 42px}.confirm-call-actions{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(280px,1fr))}.confirm-call-actions button{font-size:clamp(28px,4vw,54px);min-height:130px;padding:24px}.simple-tv-message{align-items:center;background:#f7f3ea;color:#21312b;display:flex;min-height:100vh;justify-content:center;padding:48px;text-align:center}.simple-tv-message section{max-width:1100px}.simple-tv-message h1{font-size:clamp(54px,7vw,108px);line-height:1.1;margin:0 0 28px}.simple-tv-message p{color:#476157;font-size:clamp(32px,4vw,64px);font-weight:800;margin:0}.night-mode-screen{align-items:center;background:#111817;color:#f7f3ea;display:flex;justify-content:center;min-height:100vh;padding:48px;text-align:center}.night-mode-screen.dimmed{filter:brightness(.72)}.night-mode-screen section{display:grid;gap:18px}.night-mode-screen p,.night-mode-screen time{color:#aebdb6;font-size:clamp(22px,2.4vw,34px);margin:0}.night-mode-screen h1{font-size:clamp(64px,9vw,132px);line-height:1;margin:18px 0 0}.night-mode-screen h2{color:#dbe7e0;font-size:clamp(42px,6vw,86px);margin:0}.daily-call-screen{background:#101816;height:100vh;overflow:hidden;position:relative;width:100vw}.daily-call-frame{height:100%;position:relative;width:100%}.daily-call-notice{align-items:center;background:#f7f3eaf5;color:#21312b;display:flex;inset:0 0 auto;justify-content:center;min-height:92px;padding:18px 32px;position:absolute;text-align:center;z-index:2}.daily-call-notice strong{font-size:clamp(34px,5vw,76px)}.daily-call-status{align-items:center;background:#101816;color:#f7f3ea;display:flex;flex-direction:column;gap:14px;height:100%;justify-content:center;padding:28px;text-align:center}.daily-call-status strong{font-size:clamp(28px,5vw,64px)}.daily-call-status p{color:#d8e2dc;font-size:clamp(18px,2.5vw,30px);line-height:1.35;margin:0;max-width:780px}.daily-call-status small{color:#9fc8b7;font-size:16px;line-height:1.35;max-width:820px;overflow-wrap:anywhere}.daily-debug-panel{background:#101816d6;border:1px solid rgba(159,200,183,.5);border-radius:8px;bottom:12px;color:#f7f3ea;left:12px;max-width:min(560px,calc(100% - 24px));padding:10px 12px;position:absolute;z-index:3}.daily-debug-panel strong{display:block;font-size:14px;margin-bottom:6px}.daily-debug-panel ul{display:grid;gap:3px;list-style:none;margin:0;padding:0}.daily-debug-panel li{color:#d8e2dc;font-size:12px;line-height:1.3}.family-portal-screen{margin:0 auto;max-width:1360px;padding:28px}.family-portal-screen header{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px}.family-portal-screen header p,.family-portal-screen header h1{margin:0}.family-portal-screen header p{color:#476157;font-weight:700}.family-legacy-layout{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.family-legacy-panel{background:#fffdf8;border:1px solid #e0d4bd;border-radius:8px;display:flex;flex-direction:column;gap:14px;padding:18px}.family-legacy-panel h2{margin:0}label{display:grid;gap:6px;font-weight:700}input,select,textarea{border:2px solid #d3c5ab;border-radius:8px;min-height:44px;padding:10px 12px;width:100%}.family-portal-screen{max-width:1480px}.family-portal-screen header{align-items:flex-start}.family-call-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.portal-notice{background:#e4f3ec;border:2px solid #9fc8b7;border-radius:8px;color:#21312b;font-size:20px;font-weight:800;margin:0 0 18px;padding:14px 18px}.portal-tabs{background:#fffdf8;border:1px solid #e0d4bd;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:10px}.portal-tabs button{min-height:44px;padding:10px 16px}.portal-tabs button.active{background:#2f6f63;box-shadow:inset 0 -3px #0000002e}.family-call-panel{background:#fffdf8;border:2px solid #9fc8b7;border-radius:8px;display:grid;gap:14px;grid-template-columns:1fr auto;margin:0 0 18px;padding:16px}.incoming-call-panel{align-items:center;background:#e4f3ec;border:3px solid #2f7d6c;border-radius:8px;display:grid;gap:18px;grid-template-columns:1fr auto;margin:0 0 18px;padding:22px}.incoming-call-panel p,.incoming-call-panel h2{margin:0}.incoming-call-panel p{color:#2f7d6c;font-weight:900}.incoming-call-panel h2{font-size:32px}.family-call-panel p,.family-call-panel h2{margin:0}.family-call-panel p{color:#476157;font-weight:800}.family-call-panel h2{font-size:24px}.family-call-frame{border-radius:8px;grid-column:1 / -1;height:420px;overflow:hidden}.family-call-frame .daily-call-screen{height:420px;min-height:0;width:100%}.family-call-frame .daily-call-notice{min-height:58px;padding:10px 16px}.family-call-frame .daily-call-notice strong{font-size:24px}.family-call-frame .daily-call-status strong{font-size:28px}.family-call-frame .daily-call-status p{font-size:18px}.family-call-frame .daily-call-status small{font-size:14px}.family-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.family-tab-panel{grid-template-columns:minmax(0,1fr)}.family-block{background:#fffdf8;border:1px solid #e0d4bd;border-radius:8px;display:flex;flex-direction:column;gap:16px;padding:20px}.family-block h2{font-size:30px;margin:0}.family-form{display:grid;gap:12px}.form-row{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.family-list{display:grid;gap:12px}.empty-list{color:#5e6b65;font-size:18px;margin:0}.family-list-item{align-items:stretch;display:grid;gap:8px;grid-template-columns:1fr auto}.family-list-item>button:first-child,.photo-list-item,.medication-list-item,.visit-list-item{background:#eff6f3;border-radius:8px;color:#21312b;display:grid;gap:4px;padding:12px;text-align:left}.family-list-item>button:first-child{align-items:flex-start;justify-content:start}.family-list-item>button:first-child:hover,.photo-list-item:hover,.medication-list-item:hover,.visit-list-item:hover{background:#e1f0eb}.family-list strong,.family-list-item strong{font-size:18px}.family-list span,.family-list small,.family-list-item span,.family-list-item small{color:#476157}.agenda-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.repeat-chip{align-items:center;background:#dfeee8;border-radius:999px;color:#2f6f63;display:inline-flex;font-weight:800;gap:5px;padding:4px 9px}.icon-danger{background:#8b4a42;min-height:48px;min-width:52px;padding:12px}.icon-danger:hover{background:#793e37}.photo-list-item{grid-template-columns:96px 1fr}.photo-list-row{align-items:stretch;display:grid;gap:8px;grid-template-columns:1fr auto}.photo-list-item img{aspect-ratio:4 / 3;border-radius:6px;height:100%;object-fit:cover;width:96px}.medication-list-item{align-items:center;grid-template-columns:1fr}.split-actions{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.visit-quick-actions{background:#f7f3ea;border:1px solid #e0d4bd;border-radius:8px;display:grid;gap:12px;padding:14px}.visit-history{border-top:1px solid #e0d4bd;display:grid;gap:8px;padding-top:12px}.visit-history h3,.visit-history p{margin:0}.visit-history h3{font-size:20px}.visit-history div{background:#eff6f3;border-radius:8px;display:grid;gap:2px;padding:10px 12px}.visit-history span,.visit-history p{color:#476157}.settings-section{background:#eff6f3;border-radius:8px;display:grid;gap:6px;padding:14px}.settings-section h3,.settings-section p{margin:0}.settings-section p,.settings-note{color:#476157;line-height:1.35}.settings-toggle{align-items:center;background:#eff6f3;border-radius:8px;cursor:pointer;display:flex;gap:12px;justify-content:space-between;min-height:56px;padding:12px 14px}.settings-toggle input{accent-color:#2f6f63;height:24px;min-height:0;width:24px}.settings-toggle span{color:#21312b;font-weight:800}.billing-summary{background:#eff6f3;border-radius:8px;display:grid;gap:4px;padding:16px}.billing-summary p,.billing-summary h3{margin:0}.billing-summary h3{font-size:30px}.billing-summary span{color:#2f6f63;font-weight:900}.billing-usage{display:grid;gap:8px}.billing-usage progress{accent-color:#2f6f63;height:18px;width:100%}.billing-usage small{color:#476157}.upload-placeholder.compact{min-height:86px}textarea{min-height:92px;resize:vertical}.item-list,.contact-actions{display:grid;gap:10px}.item-list button{align-items:flex-start;background:#eff6f3;color:#21312b;flex-direction:column;text-align:left}.item-list span{color:#476157;font-size:14px}.upload-placeholder{align-items:center;border:2px dashed #b8a989;border-radius:8px;color:#476157;display:flex;justify-content:center;min-height:160px;text-align:center}.upload-placeholder input{display:none}.home-screen{align-items:center;display:flex;flex-direction:column;gap:18px;justify-content:center;min-height:100vh}.home-screen h1{font-size:72px;margin:0}.home-screen a{background:#2f6f63;border-radius:8px;color:#fff;font-size:24px;font-weight:800;min-width:260px;padding:16px 24px;text-align:center;text-decoration:none}@media(max-width:900px){.tv-screen,.agenda-grid,.family-legacy-layout,.family-grid,.form-row{grid-template-columns:1fr}.tv-screen{padding:24px}.family-portal-screen header{align-items:stretch;flex-direction:column}.family-call-actions{justify-content:stretch}.family-call-panel,.confirm-call-actions{grid-template-columns:1fr}}@media(max-height:820px)and (min-width:901px){.tv-screen{gap:12px;padding:16px}.time-panel h1{font-size:clamp(52px,10vh,92px)}.day-label{font-size:clamp(22px,3.4vh,34px)}.comfort-text{font-size:clamp(20px,2.8vh,30px);margin-top:6px}.agenda-column{padding:14px}.agenda-column h2{font-size:clamp(26px,3.8vh,34px);margin-bottom:8px}.agenda-column ul{gap:10px}.agenda-column span,.agenda-column strong{font-size:clamp(20px,2.9vh,30px)}.agenda-column em,.agenda-column small,.empty{font-size:clamp(17px,2.4vh,24px)}.photo-panel{grid-template-rows:minmax(0,1fr) 100px;height:min(43vh,360px)}.photo-panel p,.photo-panel strong,.medication-status p,.visit-status p,.call-suggestion p{font-size:clamp(20px,2.8vh,30px)}.call-suggestion span{font-size:clamp(18px,2.4vh,24px)}}
