:root { --izi-green:#087a50; --izi-green-dark:#05643f; --izi-green-soft:#e8f6ef; --izi-navy:#173b57; --izi-bg:#f3f6f5; --izi-line:#dfe7e3; --izi-text:#17201d; --izi-muted:#68736f; --izi-yellow:#e5a11a; --izi-red:#b14838; }
* { box-sizing: border-box; }
body.izidose-page-patient { margin:0; background:var(--izi-bg); color:var(--izi-text); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
button,input { font:inherit; }
.izidose-pair-shell { min-height:100vh; padding:26px; display:grid; place-items:center; background:radial-gradient(circle at top,#e1f4eb 0,var(--izi-bg) 48%); }
.izidose-pair-card { width:min(100%,420px); padding:34px 28px; text-align:center; border:1px solid var(--izi-line); border-radius:28px; background:#fff; box-shadow:0 24px 70px rgba(23,59,87,.1); }
.izidose-pair-card > img:first-child { width:76px; height:76px; border-radius:23px; }
.izidose-pair-logo { width:142px; display:block; margin:17px auto 24px; }
.izidose-pair-card h1 { margin:0; font-size:27px; letter-spacing:-.04em; }
.izidose-pair-card > p { margin:8px 0 22px; color:var(--izi-muted); font-size:14px; line-height:1.5; }
.izidose-pair-card form { display:grid; gap:10px; text-align:left; }
.izidose-pair-card label { display:grid; gap:7px; color:var(--izi-muted); font-size:11px; font-weight:750; }
.izidose-pair-card input { width:100%; height:56px; padding:0 16px; text-align:center; text-transform:uppercase; letter-spacing:.13em; border:1px solid var(--izi-line); border-radius:15px; outline:0; font-size:18px; font-weight:800; }
.izidose-pair-card input:focus { border-color:var(--izi-green); box-shadow:0 0 0 4px var(--izi-green-soft); }
.izidose-pair-card form button { height:52px; border:0; border-radius:15px; color:#fff; background:var(--izi-green); font-weight:800; cursor:pointer; }
.izidose-pair-card > small { display:block; margin-top:16px; color:#929c98; font-size:10px; }
.izidose-mobile-app { min-height:100vh; padding-bottom:35px; }
.izidose-mobile-header { height:70px; padding:0 max(20px,calc((100vw - 540px)/2)); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--izi-line); background:rgba(255,255,255,.96); position:sticky; top:0; z-index:20; backdrop-filter:blur(12px); }
.izidose-mobile-header img { width:122px; height:auto; }
.izidose-mobile-header button { min-height:35px; padding:0 12px; border:1px solid #b9d7c8; border-radius:11px; color:var(--izi-green-dark); background:var(--izi-green-soft); font-size:10px; font-weight:800; }
.izidose-mobile-main { width:min(100%,540px); margin:0 auto; padding:22px 18px; }
.izidose-mobile-welcome { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.izidose-mobile-welcome span { color:var(--izi-muted); font-size:12px; }
.izidose-mobile-welcome h1 { margin:1px 0 3px; font-size:27px; line-height:1.05; letter-spacing:-.045em; }
.izidose-mobile-welcome p { margin:0; color:var(--izi-muted); font-size:11px; text-transform:capitalize; }
.izidose-mobile-avatar { width:50px; height:50px; flex:0 0 50px; display:grid; place-items:center; border-radius:16px; color:#fff !important; background:linear-gradient(145deg,var(--izi-green),var(--izi-navy)); font-size:19px !important; font-weight:850; }
.izidose-mobile-reminders { margin-top:19px; padding:15px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:5px 12px; border:1px solid #cce6d8; border-radius:17px; background:var(--izi-green-soft); }
.izidose-mobile-reminders div { display:grid; gap:3px; }
.izidose-mobile-reminders strong { color:var(--izi-green-dark); font-size:12px; }
.izidose-mobile-reminders small { color:var(--izi-muted); font-size:9px; line-height:1.4; }
.izidose-mobile-reminders button { min-height:38px; padding:0 12px; border:0; border-radius:11px; color:#fff; background:var(--izi-green); font-size:10px; font-weight:800; cursor:pointer; }
.izidose-mobile-reminders button.is-enabled { color:var(--izi-green-dark); background:#fff; border:1px solid #b8d9c7; }
.izidose-mobile-reminders p { grid-column:1/-1; margin:2px 0 0; color:var(--izi-muted); font-size:9px; }
.izidose-mobile-progress { margin-top:12px; padding:16px; display:grid; gap:11px; border:1px solid var(--izi-line); border-radius:17px; background:#fff; box-shadow:0 8px 26px rgba(23,59,87,.035); }
.izidose-mobile-progress div { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.izidose-mobile-progress div span { color:var(--izi-muted); font-size:10px; }
.izidose-mobile-progress div strong { color:var(--izi-navy); font-size:11px; }
.izidose-mobile-progress > span { height:7px; border-radius:99px; overflow:hidden; background:#e6ece9; }
.izidose-mobile-progress i { display:block; height:100%; border-radius:inherit; background:var(--izi-green); }
.izidose-mobile-section-title { margin:25px 2px 11px; display:flex; align-items:end; justify-content:space-between; }
.izidose-mobile-section-title span { color:var(--izi-green); font-size:9px; font-weight:850; letter-spacing:.14em; }
.izidose-mobile-section-title h2 { margin:3px 0 0; font-size:18px; letter-spacing:-.025em; }
.izidose-mobile-section-title > strong { width:29px; height:29px; display:grid; place-items:center; border-radius:10px; color:var(--izi-navy); background:#e7eef2; font-size:11px; }
.izidose-dose-list { display:grid; gap:11px; }
.izidose-dose-card { padding:15px; display:grid; grid-template-columns:70px 1fr; gap:13px; border:1px solid var(--izi-line); border-radius:19px; background:#fff; box-shadow:0 9px 28px rgba(23,59,87,.04); }
.izidose-dose-card.status-pending,.izidose-dose-card.status-late { border-color:#ebcf96; background:#fffcf5; }
.izidose-dose-card.status-taken { border-color:#b9dfcc; background:#fbfefc; }
.izidose-dose-time { padding-right:12px; display:flex; flex-direction:column; justify-content:center; border-right:1px solid #e7ecea; }
.izidose-dose-time strong { color:var(--izi-navy); font-size:18px; line-height:1; }
.izidose-dose-time span { margin-top:5px; color:var(--izi-muted); font-size:8px; font-weight:750; }
.status-pending .izidose-dose-time strong,.status-late .izidose-dose-time strong { color:#bd7410; }
.status-taken .izidose-dose-time strong { color:var(--izi-green); }
.izidose-dose-info { display:flex; align-items:center; gap:10px; min-width:0; }
.izidose-dose-icon { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; border-radius:12px; color:var(--izi-green); background:var(--izi-green-soft); font-size:11px; }
.izidose-dose-info h3 { margin:0 0 2px; font-size:14px; line-height:1.1; }
.izidose-dose-info strong { color:var(--izi-navy); font-size:10px; }
.izidose-dose-info p { margin:3px 0 0; color:var(--izi-muted); font-size:10px; }
.izidose-dose-guidance { grid-column:1/-1; margin:0; padding:10px 11px; border-radius:11px; color:#65551e; background:#fff8e8; font-size:10px; line-height:1.45; }
.izidose-dose-actions { grid-column:1/-1; display:grid; grid-template-columns:1.2fr 1fr .75fr; gap:7px; }
.izidose-dose-actions form { margin:0; }
.izidose-dose-actions button { width:100%; min-height:43px; padding:0 8px; border-radius:12px; font-size:10px; font-weight:800; cursor:pointer; transition:transform .12s ease; }
.izidose-dose-actions button:active { transform:scale(.98); }
.izidose-taken-button { border:1px solid var(--izi-green); color:#fff; background:var(--izi-green); box-shadow:0 7px 15px rgba(8,122,80,.14); }
.izidose-snooze-button { border:1px solid #d8e0dc; color:var(--izi-navy); background:#f6f9f8; }
.izidose-skip-button { border:1px solid #efd1ca; color:var(--izi-red); background:#fff7f5; }
.izidose-dose-result { grid-column:1/-1; padding:11px; text-align:center; border-radius:12px; font-size:10px; font-weight:800; }
.izidose-dose-result.success { color:var(--izi-green-dark); background:var(--izi-green-soft); }
.izidose-dose-result.skipped { color:var(--izi-red); background:#fff2ef; }
.izidose-dose-result.future { color:var(--izi-muted); background:#f1f4f3; }
.izidose-mobile-empty { padding:28px; text-align:center; border:1px dashed #c8d5cf; border-radius:18px; background:#fff; }
.izidose-mobile-empty strong { font-size:14px; }
.izidose-mobile-empty p { margin:6px 0 0; color:var(--izi-muted); font-size:11px; }
.izidose-medical-note { margin:18px 5px 0; color:#89958f; text-align:center; font-size:9px; line-height:1.5; }
.izidose-disconnect { margin-top:18px; text-align:center; }
.izidose-disconnect button { border:0; color:#8a9691; background:transparent; text-decoration:underline; font-size:9px; cursor:pointer; }
.izidose-mobile-notice { margin:0 0 15px; padding:12px 14px; border-radius:13px; border:1px solid var(--izi-line); color:var(--izi-text); background:#fff; font-size:11px; font-weight:700; line-height:1.4; }
.izidose-mobile-notice.success { border-color:#b9dfcc; color:var(--izi-green-dark); background:var(--izi-green-soft); }
.izidose-mobile-notice.error { border-color:#efcbc3; color:var(--izi-red); background:#fff4f1; }
.izidose-mobile-notice.info { border-color:#e7d39e; color:#795c19; background:#fff9ea; }
@media (max-width:390px) { .izidose-dose-actions { grid-template-columns:1fr 1fr; } .izidose-dose-actions form:last-child { grid-column:1/-1; } }
