:root{--cream: #FAF6F0;--card: #FFFFFF;--ink: #33404C;--soft: #7A8794;--terra: #1B3A93;--terra-dk: #152E78;--sage: #4A80D4;--sage-lt: #E3EDFB;--blue: #5B87A6;--blue-lt: #E4EEF5;--gold: #E3B23C;--line: #EDE6DC;--open: #DFF0D8;--danger: #C0564B}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:#efe9e1;font-family:Arial,Helvetica,sans-serif;color:var(--ink)}#phone{max-width:430px;min-height:100vh;min-height:100dvh;margin:0 auto;background:var(--cream);display:flex;flex-direction:column;position:relative;box-shadow:0 0 30px #0000001f;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}h1,h2,h3{margin:0}button{font-family:inherit;cursor:pointer}.screen-login{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}.logo{font-size:30px;font-weight:700;color:var(--terra);letter-spacing:.5px}.logo span{color:var(--sage)}.tagline{color:var(--soft);font-size:14px;font-style:italic;margin:6px 0 26px}.pin-dots{display:flex;gap:14px;justify-content:center;margin:10px 0 22px}.pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--terra);background:transparent}.pin-dot.filled{background:var(--terra)}.pinpad{display:grid;grid-template-columns:repeat(3,72px);gap:12px;justify-content:center}.pinpad button{width:72px;height:72px;border-radius:50%;border:none;background:var(--card);font-size:26px;color:var(--ink);box-shadow:0 2px 5px #00000014}.pinpad button:active{background:var(--sage-lt)}.pinpad button.hidden-key{visibility:hidden}.pin-hint{margin-top:22px;font-size:12px;color:var(--soft);line-height:1.7}.pin-err{color:var(--danger);font-size:13px;height:18px;margin-top:8px}.screen-pad{flex:1;display:flex;flex-direction:column;padding:26px 18px}.btn{display:block;width:100%;padding:15px;border:none;border-radius:14px;background:var(--terra);color:#fff;font-size:17px;font-weight:700}.btn:disabled{background:#d8cfc4;color:#fff}.btn.secondary{background:var(--card);color:var(--terra);border:2px solid var(--terra)}.btn.sage{background:var(--sage)}.btn.danger{background:var(--danger)}.btn.danger:disabled{background:#d8cfc4}.linkbtn{background:none;border:none;color:var(--soft);font-size:13px;text-decoration:underline;padding:14px 8px;min-height:44px;align-self:center}.card{background:var(--card);border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:0 1px 4px #0000000f;text-align:left}.card h3{font-size:16px;color:var(--terra);margin-bottom:10px}.muted{color:var(--soft);font-size:12px}.form{width:100%;max-width:340px;text-align:left}.card.form{max-width:none}.form label{display:block;font-size:13px;color:var(--soft);margin-bottom:12px}.form input,.form select,.danger-zone input{display:block;width:100%;margin-top:5px;padding:13px 12px;font-size:16px;font-family:inherit;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:12px}.form input:focus,.form select:focus,.danger-zone input:focus{outline:none;border-color:var(--terra)}.form-err{color:var(--danger);font-size:13px;min-height:18px;margin:2px 0 10px}.seg{display:flex;background:#f1ebe3;border-radius:12px;padding:3px;margin-bottom:14px}.seg button{flex:1;border:none;background:none;padding:11px 4px;border-radius:10px;font-size:13px;color:var(--soft)}.seg button.on{background:var(--card);color:var(--terra);font-weight:700;box-shadow:0 1px 3px #0000001a}.agree-card{background:var(--card);border-radius:18px;padding:22px;box-shadow:0 2px 8px #00000012}.agree-card h2{color:var(--terra);font-size:20px;margin-bottom:12px}.agree-card p{font-size:14px;line-height:1.6}.agree-card ul{font-size:14px;line-height:1.7;padding-left:20px}.agree-row{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:14px}.agree-row input{width:24px;height:24px;margin-top:0;flex:none;accent-color:var(--sage)}.screen-app{flex:1;display:flex;flex-direction:column;padding-bottom:76px}.appbar{display:flex;align-items:center;gap:10px;padding:14px 16px 10px}.avatar{width:44px;height:44px;border-radius:50%;border:none;background:var(--sage);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:17px;flex:none}.appbar .who{flex:1;min-width:0}.appbar .who .patient{font-size:17px;font-weight:700}.rolebadge{font-size:11px;padding:3px 9px;border-radius:10px;color:#fff;display:inline-block;margin-top:2px}.rb-admin{background:var(--terra)}.rb-family{background:var(--blue)}.rb-caregiver{background:var(--sage)}.rb-patient{background:var(--gold);color:#5c4a12}.logout{background:none;border:none;color:var(--soft);font-size:13px;text-decoration:underline;min-height:44px}.view{padding:4px 16px 20px}.nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:5}.nav button{flex:1;border:none;background:none;padding:9px 2px 10px;font-size:11px;color:var(--soft);display:flex;flex-direction:column;align-items:center;gap:2px;min-height:52px}.nav button .ico{font-size:21px;line-height:1}.nav button.on{color:var(--terra);font-weight:700}.shift-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.shift-row:last-child{border-bottom:none}.shift-row .t{font-size:14px;font-weight:700}.shift-row .s{font-size:12px;color:var(--soft);overflow-wrap:anywhere}.pill{border:none;border-radius:20px;padding:11px 16px;font-size:13px;font-weight:700;color:#fff;min-height:44px;flex:none}.pill.claim{background:var(--sage)}.pill.cancel{background:#fff;color:var(--danger);border:1.5px solid var(--danger)}.member-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch;flex:none}.member-actions select{font-family:inherit;font-size:13px;padding:9px 8px;min-height:44px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}.code-card{text-align:center;border:2px solid var(--sage)}.code{font-size:30px;font-weight:700;letter-spacing:5px;color:var(--ink);background:var(--sage-lt);border-radius:12px;padding:14px;margin:12px 0;-webkit-user-select:all;user-select:all}.modal-bg{position:fixed;inset:0;background:#28231e73;display:flex;align-items:flex-end;justify-content:center;z-index:20}.modal{background:var(--cream);width:100%;max-width:430px;border-radius:20px 20px 0 0;padding:22px 18px calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;max-height:90dvh;overflow-y:auto}.modal h3{font-size:18px}.modal .muted{margin:4px 0 14px}.danger-zone{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.danger-zone input{margin-bottom:10px}.toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--ink);color:#fff;font-size:14px;padding:11px 16px;border-radius:12px;max-width:340px;width:max-content;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s;z-index:30}.toast.show{opacity:1}.cal-head{display:flex;align-items:center;justify-content:space-between;margin:6px 2px 10px}.cal-head h2{font-size:19px}.cal-head button{border:none;background:var(--card);width:44px;height:44px;border-radius:50%;font-size:19px;color:var(--terra);box-shadow:0 1px 3px #0000001a}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.dow{text-align:center;font-size:11px;color:var(--soft);padding:4px 0}.day{background:var(--card);border-radius:10px;min-height:56px;padding:4px 3px;font-size:12px;border:2px solid transparent;text-align:left;display:block;width:100%;color:var(--ink);overflow:hidden}.day.empty{background:transparent}.day .num{font-size:12px;display:block}.day.today{border-color:var(--gold)}.day.sel{border-color:var(--terra)}.tag{display:block;border-radius:6px;font-size:9px;padding:1px 3px;margin-top:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.t-open{background:var(--card);color:var(--terra);font-weight:700;border:1px dashed var(--terra);padding:0 2px}.t-mine{background:var(--terra);color:#fff;font-weight:700}.t-other,.t-blind{background:#d6e4fa;color:var(--terra)}.legend{display:flex;gap:10px;flex-wrap:wrap;margin:10px 2px;font-size:11px;color:var(--soft)}.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:4px;vertical-align:-1px}.pill.taken{background:#ede7df;color:#9a9186;display:inline-flex;align-items:center}.pill:disabled{opacity:.6}.minilink{background:none;border:none;color:var(--soft);font-size:12px;text-decoration:underline;padding:6px;min-height:32px}.switchrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;font-size:14px}.sw{position:relative;width:46px;height:26px;flex:none}.sw input{opacity:0;width:0;height:0}.sw .sl{position:absolute;inset:0;background:#d8cfc4;border-radius:26px;transition:.15s;cursor:pointer}.sw .sl:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.15s}.sw input:checked+.sl{background:var(--sage)}.sw input:checked+.sl:before{left:23px}.modal-title{color:var(--terra);margin-bottom:10px}.modal-text{font-size:15px;line-height:1.6;margin:0 0 14px}.chk{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px;min-height:48px}.chk:last-of-type{border-bottom:none}.chk input{width:28px;height:28px;accent-color:var(--sage);flex:none}.chk .lbl{flex:1}.chk .by{font-size:11px;color:var(--soft);margin-top:2px}.cal-head button:disabled{opacity:.35}.daypick{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:0 2px 12px}.daypick label{font-size:12px;color:var(--soft);flex:1}.daypick input{display:block;width:100%;margin-top:4px;padding:10px;font-size:16px;font-family:inherit;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:12px}.editrow{display:flex;gap:8px;align-items:center;margin-bottom:8px}.editrow input{margin-top:0;flex:1;min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.card-head h3{margin-bottom:0}.editbtn{border:1.5px solid var(--terra);background:#fff;color:var(--terra);font-size:13px;font-weight:700;border-radius:20px;padding:8px 18px;min-height:40px;flex:none}.editblock{border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:12px}.editblock input{margin-top:0;margin-bottom:8px}.form textarea{display:block;width:100%;margin-top:5px;padding:12px;font-size:16px;font-family:inherit;line-height:1.5;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:12px;resize:vertical}.form textarea:focus{outline:none;border-color:var(--terra)}.form .btn.secondary{margin-bottom:0}.pctrow{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.pctrow label{margin-bottom:0;width:120px}.bodytext{font-size:14px;line-height:1.6;margin:0;white-space:pre-wrap}.plainlist{margin:0;padding-left:20px;font-size:14px;line-height:1.8}.overall{font-size:14px;line-height:1.6;background:var(--sage-lt);border-radius:10px;padding:10px;margin:0 0 4px}.subhead{font-weight:700;font-size:13px;margin:12px 0 8px;color:var(--soft)}.goalrow{display:flex;justify-content:space-between;gap:10px;font-size:14px}.goalbar{height:8px;background:#f1ebe3;border-radius:8px;margin-top:5px;overflow:hidden}.goalbar i{display:block;height:100%;background:var(--sage);border-radius:8px}.savebar{position:sticky;bottom:calc(60px + env(safe-area-inset-bottom));z-index:4;display:flex;gap:10px;background:var(--card);border-top:1px solid var(--line);padding:10px 0 8px;margin-top:12px}.savebar .btn{padding:13px 10px;font-size:16px}.savebar .btn.sage{flex:2}.savebar .btn.secondary{flex:1}.contact{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.contact:last-of-type{border-bottom:none}.c-av{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;flex:none}.c-in{flex:1;min-width:0}.c-nm{font-size:14px;font-weight:700}.c-rl{font-size:11px;color:var(--soft)}.callbtn{text-decoration:none;background:var(--sage-lt);color:#4d6b45;font-size:13px;font-weight:700;padding:11px 13px;border-radius:18px;flex:none;white-space:nowrap}.contact-form{max-width:none;background:#fcfaf6;border:1.5px solid var(--line);border-radius:14px;padding:2px 14px 0;margin:8px 0 12px}.contact-form .savebar{background:#fcfaf6}.confirmbox{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;margin:6px 0}.form label.chk{display:flex;font-size:15px;color:var(--ink);margin-bottom:0}.form input[type=checkbox]{display:inline-block;width:28px;height:28px;margin:0;padding:0;border:initial;border-radius:0;flex:none}.secnav{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}.secnav button{border:1.5px solid var(--line);background:var(--card);color:var(--ink);font-size:14px;border-radius:20px;padding:9px 14px;min-height:42px}.secnav button.on{background:var(--terra);border-color:var(--terra);color:#fff;font-weight:700}.paytable{width:100%;border-collapse:collapse;font-size:14px}.paytable th{text-align:left;color:var(--soft);font-size:11px;padding:6px 4px;border-bottom:1.5px solid var(--line)}.paytable td{padding:9px 4px;border-bottom:1px solid var(--line)}.paytable tr:last-child td{border-bottom:none}.paytable .r{text-align:right}.paytable .total-row td{font-weight:700;color:var(--terra)}.brandlogo{display:block;width:200px;max-width:62%;height:auto;margin:0 auto 8px}.segbar{margin:0 0 10px}.segbar button{font-size:12px;padding:8px 4px;min-height:36px}
