:root{--bg:#f5f7fb;--surface:#ffffff;--soft:#eaf2ff;--text:#1f2d3d;--muted:#657386;--line:#d8e0ec;--primary:#2563eb;--primary-dark:#1d4ed8;--warning:#fff1f5;--warning-border:#e9a3b2;--danger:#b95045;--share-blue:#0f4fb8;--shadow:0 18px 44px rgba(32,54,92,0.13)}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-size:17px}body{margin:0;font-family:Arial,Hiragino Sans,Yu Gothic,Meiryo,sans-serif;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.mobile-shell{margin:0 auto;max-width:560px;min-height:100vh;padding:18px 14px 34px}.with-nav{padding-bottom:104px}.app-header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:16px}.header-actions{display:grid;grid-gap:8px;gap:8px;justify-items:end}.app-header h1,.auth-card h1,.detail-hero h1{font-size:2.15rem;line-height:1.12;margin:4px 0 0}.eyebrow{color:var(--primary);font-size:.9rem;font-weight:800;margin:0}.auth-card p,.lead,.muted{color:var(--muted);line-height:1.65}.danger-action,.line-action,.primary-action,.secondary-action{align-items:center;border:0;border-radius:8px;display:inline-flex;font-weight:800;justify-content:center;min-height:54px;padding:13px 16px;text-align:center}.primary-action{background:var(--primary);color:white}.secondary-action{background:var(--surface);border:1px solid var(--line);color:var(--text)}.line-action{background:var(--share-blue);color:white}.danger-action{background:#fff2ef;border:1px solid #efc4bd;color:var(--danger)}.small{min-height:46px;padding:10px 14px}.full{width:100%}.line-notify-button{align-items:center;background:#06c755;border:0;border-radius:8px;color:white;display:inline-flex;font-weight:900;justify-content:center;min-height:54px;padding:13px 16px;text-align:center}.line-notify-button:disabled{background:#d8e0ec;color:var(--muted);cursor:not-allowed}.line-notify-button.stop{background:#eef4fb;border:1px solid #c8d8ec;color:var(--primary-dark)}.text-button{font-weight:800;padding:8px}.auth-screen{display:grid;min-height:100vh;padding:18px 14px;place-items:center}.brand-screen{background:#f8fbf7;color:var(--text);display:grid;grid-gap:24px;gap:24px;min-height:100svh;overflow:hidden auto;padding:14px 16px 26px;position:relative}.brand-nav{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:920px;position:relative;width:100%;z-index:2}.brand-nav a{color:#0f6d45;font-size:1.12rem;font-weight:900;text-decoration:none}.brand-nav button{background:rgba(255,255,255,.86);border:1px solid rgba(94,129,112,.24);border-radius:999px;color:var(--text);font-weight:900;min-height:42px;padding:8px 16px}.brand-hero{align-content:end;border-radius:8px;display:grid;grid-gap:18px;gap:18px;margin:0 auto;max-width:920px;min-height:calc(100svh - 126px);overflow:hidden;padding:min(11vh,78px) 0 22px;position:relative;width:100%;z-index:1}.brand-hero:after{background:linear-gradient(180deg,rgba(248,251,247,.1),rgba(248,251,247,.94) 70%);content:"";inset:0;position:absolute;z-index:-1}.brand-hero-image{height:min(62vh,620px);object-fit:contain;opacity:.38;position:absolute;right:50%;top:2%;transform:translateX(50%);width:min(92vw,760px);z-index:-2}.brand-hero-copy{display:grid;grid-gap:14px;gap:14px;max-width:620px}.brand-kicker{color:#0f6d45;font-weight:900;margin:0}.brand-hero h1{color:#153325;font-size:clamp(4.2rem,21vw,7.8rem);line-height:.92;margin:0}.brand-hero p{color:#435468;font-size:1.08rem;line-height:1.85;margin:0}.brand-actions{display:grid;grid-gap:12px;gap:12px;margin-top:8px;max-width:520px}.brand-proof{display:flex;flex-wrap:wrap;gap:8px;max-width:520px}.brand-proof span{background:rgba(255,255,255,.86);border:1px solid rgba(94,129,112,.24);border-radius:999px;color:#355345;font-size:.82rem;font-weight:900;padding:8px 11px}.lp-content{margin:0 auto;max-width:920px;width:100%}.lp-content,.lp-section{display:grid;grid-gap:14px;gap:14px}.lp-section{background:rgba(255,255,255,.9);border:1px solid rgba(94,129,112,.18);border-radius:8px;padding:18px}.lp-section h2{font-size:1.45rem;line-height:1.35;margin:0}.lp-section p{color:var(--muted);line-height:1.7;margin:0}.lp-feature-grid{display:grid;grid-gap:10px;gap:10px}.lp-feature-grid div,.lp-flow li{background:#f4f8f6;border:1px solid rgba(94,129,112,.16);border-radius:8px;display:grid;grid-gap:6px;gap:6px;padding:14px}.lp-feature-grid strong,.lp-flow strong{color:var(--text);font-size:1.02rem}.lp-flow{display:grid;grid-gap:10px;gap:10px;list-style:none;margin:0;padding:0}.lp-flow span{background:#dff2e8;border-radius:999px;color:#0f6d45;display:grid;font-weight:900;height:32px;place-items:center;width:32px}.install-action,.lp-install{align-items:center}.install-action{background:linear-gradient(135deg,#0f6d45,#39a976);border:1px solid rgba(15,109,69,.24);border-radius:8px;box-shadow:0 16px 34px rgba(15,109,69,.18);color:white;display:grid;grid-gap:3px;gap:3px;min-height:70px;padding:13px 16px;text-align:center}.install-action span{font-size:1.02rem;font-weight:900}.install-action small{color:rgba(255,255,255,.86);font-size:.78rem;font-weight:800}.secondary-action.dark{background:rgba(255,255,255,.74);border-color:rgba(101,115,134,.28);color:var(--text)}.attention-panel,.auth-card,.calendar-card,.detail-hero,.focus-panel,.form-grid,.section-block{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:18px}.auth-card{max-width:520px;width:100%}.detail-hero{margin-bottom:14px}.detail-hero.needs-escort{background:linear-gradient(135deg,#ffffff,var(--warning));border-color:var(--warning-border)}.patient-hero-icon{background:var(--soft);border:1px solid #cfe0f8;border-radius:999px;display:grid;font-size:2rem;height:58px;margin:8px 0 10px;place-items:center;width:58px}.visit-place{background:transparent;border:0;border-left:5px solid var(--primary);border-radius:0;display:grid;grid-gap:8px;gap:8px;margin:18px 0 16px;padding:2px 0 2px 14px}.visit-place strong{color:var(--text);font-size:1.78rem;line-height:1.18}.visit-place span{color:var(--primary-dark);font-size:1.24rem;font-weight:900;line-height:1.35}.shared-detail .visit-place strong{font-size:2rem}.shared-detail .visit-place span{font-size:1.34rem}.large-date{font-size:1.22rem;font-weight:800;margin:12px 0}.attention-panel{background:var(--warning);border-color:var(--warning-border);margin-bottom:12px}.attention-panel.calm{background:var(--soft);border-color:#bfd4f4}.attention-panel p{color:var(--muted);margin:6px 0 0}.action-grid,.button-row,.top-actions{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:14px}.action-grid.no-bottom{margin-bottom:0}.top-actions.single{grid-template-columns:1fr}.next-actions{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr;margin-bottom:14px}.line-notify-panel{align-items:center;background:#effaf3;border:1px solid #bce7c9;border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:12px;gap:12px;margin-bottom:14px;padding:16px}.line-notify-panel.lower{margin:20px 0 8px}.line-notify-panel.detail-bottom{box-shadow:none;margin:10px 0 0}.line-notify-panel p{color:var(--muted);line-height:1.55;margin:6px 0 0}.filter-row{align-items:center;display:flex;gap:10px;justify-content:space-between;margin:12px 0 0;overflow-x:auto;padding-bottom:2px}.filter-row span{color:var(--muted);font-size:.86rem;font-weight:800}.filter-chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--text);flex:0 0 auto;font-weight:900;min-height:44px;padding:9px 14px}.filter-chip.active{background:#f7dce5;border-color:var(--warning-border);color:#9d2246}.filter-chip.history{background:#eef2f7;color:var(--muted)}.auth-mode-switch,.segmented{background:#e6edf8;border-radius:8px;display:grid;grid-gap:4px;gap:4px;grid-template-columns:1fr 1fr;margin:14px 0;padding:4px}.auth-mode-switch button{background:transparent;border:0;border-radius:7px;color:var(--muted);font-weight:900;min-height:46px}.auth-mode-switch button.active{background:var(--surface);box-shadow:0 8px 18px rgba(32,54,92,.12);color:var(--text)}.segmented button{background:transparent;border:0;border-radius:7px;color:var(--muted);font-weight:800;min-height:46px}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 8px 18px rgba(32,54,92,.12)}.appointment-feed,.button-column,.detail-stack,.feed-group,.group-list,.inline-form,.member-list,.mini-schedules{display:grid;grid-gap:12px;gap:12px}.feed-group h2{font-size:1rem;margin:16px 0 0}.group-card,.schedule-card{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:82px 1fr;padding:14px;position:relative}.schedule-card.urgent{background:linear-gradient(90deg,var(--warning),var(--surface));border-color:var(--warning-border)}.schedule-card.past{background:#eef2f6;border-color:#c8d1dd;box-shadow:none}.schedule-card.past .date-tile{background:#dde5ef}.schedule-card.past .date-tile strong,.schedule-card.past .schedule-main strong{color:#364457}.schedule-card.past .date-tile span,.schedule-card.past .schedule-main p{color:#6d7786}.schedule-card.self-escort{border-color:#8bb6f3;box-shadow:0 14px 34px rgba(37,99,235,.12)}.after-visit-panel{border:1px solid #c7d8ee;border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:12px;gap:12px;margin:14px 0;padding:16px}.after-visit-modal-panel,.after-visit-panel{background:linear-gradient(135deg,#ffffff,#eef6ff)}.after-visit-summary{background:rgba(255,255,255,.72);border:1px solid #d8e6f5;border-radius:8px;display:grid;grid-gap:4px;gap:4px;margin-bottom:12px;padding:14px}.after-visit-summary strong{color:var(--text);font-size:1.05rem;line-height:1.45}.after-visit-summary p{color:var(--muted);font-size:.9rem;font-weight:800;line-height:1.5;margin:0}.after-visit-done-panel{background:#f1f8f4;border:1px solid #bddcc8;border-radius:8px;box-shadow:0 14px 34px rgba(32,92,58,.1);display:grid;grid-gap:12px;gap:12px;margin:14px 0;padding:16px}.after-visit-done-panel strong{color:#205c3a;display:block;font-size:1.08rem;line-height:1.45}.after-visit-done-panel p{color:#4f6759;font-size:.92rem;font-weight:800;line-height:1.5;margin:6px 0 0}.after-visit-done-actions{display:grid;grid-gap:8px;gap:8px;grid-template-columns:1fr 1fr}.after-visit-heading{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.after-visit-heading h2{font-size:1.35rem;margin:3px 0 0}.after-visit-heading>span{background:var(--primary);border-radius:999px;color:white;font-size:.82rem;font-weight:900;padding:7px 10px}.after-visit-list{display:grid;grid-gap:10px;gap:10px}.after-visit-card{background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:14px}.after-visit-card strong{display:block;font-size:1.12rem;margin-bottom:5px}.after-visit-card p{color:var(--muted);font-size:.92rem;font-weight:800;line-height:1.45;margin:0}.after-visit-actions,.history-follow-actions,.history-status-actions{display:grid;grid-gap:8px;gap:8px;grid-template-columns:1fr 1fr}.after-visit-actions .text-button,.history-detail-link{grid-column:1/-1;justify-self:start;padding:4px 0}.history-follow-actions,.history-status-actions{margin-top:10px}.history-follow-actions .primary-action,.history-follow-actions .secondary-action,.history-status-actions .primary-action,.history-status-actions .secondary-action{min-height:44px;padding:10px 12px}.status-badges{align-items:center;display:flex;flex-wrap:wrap;gap:7px;grid-column:1/-1;margin-bottom:-2px}.self-escort-badge{background:#dbeafe;border:1px solid #9fc3f8;border-radius:999px;color:var(--primary-dark)}.self-escort-badge,.soon-badge{display:inline-flex;font-size:.75rem;font-weight:900;justify-content:center;line-height:1;padding:6px 9px}.soon-badge{background:#fdf2f8;border:1px solid #f9a8d4;border-radius:999px;color:#9d174d}.date-tile{background:var(--soft);border-radius:8px;display:grid;min-height:74px;place-items:center;text-align:center}.date-tile span{color:var(--muted);font-size:.82rem;font-weight:800}.date-tile strong{font-size:1.12rem}.patient-avatar{align-items:center;background:#eef4ff;border:1px solid #d6e4f8;border-radius:999px;display:inline-grid;flex:0 0 auto;font-size:1.25rem;height:44px;justify-items:center;line-height:1;overflow:hidden;place-items:center;position:relative;text-align:center;width:44px}.patient-avatar>span{display:block;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;line-height:1;left:50%;position:absolute;top:50%;transform:translate(-50%,-53%)}.patient-avatar.small{font-size:1rem;height:32px;width:32px}.after-visit-card .patient-avatar.small>span,.schedule-card .patient-avatar.small>span{transform:translate(-50%,-53%)}.patient-avatar.tiny{font-size:.82rem;height:24px;width:24px}.calendar-schedule .patient-avatar.tiny>span{transform:translate(-50%,-53%)}.patient-name-line{align-items:center;display:inline-flex;gap:8px;min-width:0}.group-card strong,.schedule-main strong{display:block;font-size:1.18rem}.group-card .patient-name-line,.schedule-main .patient-name-line{align-items:center;display:inline-flex}.group-card p,.schedule-main p{color:var(--muted);margin:4px 0 10px}.mini-list,.schedule-meta,.summary-tags{display:flex;flex-wrap:wrap;gap:8px}.mini-pill,.schedule-meta span,.summary-tags span{background:#edf2fa;border-radius:999px;border:0;color:var(--muted);font-size:.82rem;font-weight:800;padding:7px 10px}.mini-pill{cursor:pointer}.schedule-card.urgent .schedule-meta span:first-child{background:#b43458;color:white}.mini-pill.on{background:var(--soft);color:var(--primary-dark)}.calendar-card{margin-top:12px;padding:14px}.calendar-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.calendar-title strong{font-size:1.2rem}.calendar-title span{background:var(--soft);border-radius:999px;color:var(--primary-dark);font-size:.82rem;font-weight:900;padding:6px 10px}.calendar-grid{display:grid;grid-gap:5px;gap:5px;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-grid.header{color:var(--muted);font-size:.82rem;font-weight:900;margin-bottom:6px;text-align:center}.calendar-day{aspect-ratio:1/1.08;background:#f7faff;border:1px solid #dce8fb;border-radius:8px;display:grid;min-height:44px;padding:5px;position:relative;text-align:left}.calendar-day span{color:var(--text);font-size:.88rem;font-weight:900;line-height:1}.calendar-day strong{align-self:end;background:var(--primary);border-radius:999px;color:white;font-size:.68rem;justify-self:end;min-width:20px;padding:3px 5px;text-align:center}.calendar-day.has-events{background:#eaf2ff;border-color:#b9cff7}.calendar-day.today:after{background:#b43458;border-radius:999px;content:"";height:6px;position:absolute;right:6px;top:6px;width:6px}.calendar-day.selected{border-color:var(--primary);box-shadow:inset 0 0 0 2px var(--primary)}.muted-day{opacity:.42}.calendar-day-list{border-top:1px solid var(--line);display:grid;grid-gap:10px;gap:10px;margin-top:14px;padding-top:14px}.calendar-day-list h2{font-size:1rem;margin:0}.calendar-schedule{align-items:center;background:#f7faff;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:12px;position:relative}.calendar-schedule.urgent{background:var(--warning);border-color:var(--warning-border)}.calendar-schedule.self-escort{border-color:#8bb6f3}.calendar-schedule strong{color:var(--primary-dark);font-size:1.04rem}.calendar-schedule span{color:var(--muted);font-weight:800;line-height:1.45}.bottom-nav{background:rgba(255,253,248,.94);border:1px solid var(--line);border-radius:8px 8px 0 0;bottom:0;box-shadow:0 -12px 30px rgba(49,61,55,.12);display:grid;grid-template-columns:1fr 1fr;left:50%;max-width:560px;padding:8px 10px 14px;position:fixed;transform:translateX(-50%);width:100%;z-index:10}.bottom-nav a{border-radius:8px;color:var(--muted);display:grid;font-weight:900;min-height:52px;place-items:center}.bottom-nav a.active{background:var(--primary);color:white}.form-grid{display:grid;grid-gap:16px;gap:16px}label{color:var(--text);display:grid;font-weight:800;grid-gap:8px;gap:8px}input,select,textarea{background:#fbfdff;border:1px solid var(--line);border-radius:8px;color:var(--text);min-height:54px;padding:12px 14px;width:100%}textarea{line-height:1.6;resize:vertical}.reminder-fieldset{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;margin:0;padding:14px}.reminder-fieldset legend{font-weight:900;padding:0 6px}.switch-line{align-items:center;display:flex;justify-content:space-between}.switch-line input{height:26px;min-height:26px;width:26px}.upload-box input{display:none}.upload-box span{background:var(--soft);border:1px dashed var(--primary);border-radius:8px;color:var(--primary-dark);display:grid;min-height:84px;place-items:center}.history-prompt{align-items:center;background:#f7faff;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr auto;padding:14px}.history-prompt p{color:var(--muted);line-height:1.5;margin:4px 0 0}.history-list{display:grid;grid-gap:10px;gap:10px}.history-card{background:#f7faff;border:1px solid var(--line);border-radius:8px;color:var(--text);display:grid;grid-gap:5px;gap:5px;padding:14px;text-align:left}.history-card strong{font-size:1.08rem}.history-card small,.history-card span{color:var(--muted);font-weight:800}.reservation-image,.reservation-preview{background:white;border:1px solid var(--line);border-radius:8px;max-height:460px;object-fit:contain;width:100%}.reservation-edit-preview{display:grid;grid-gap:8px;gap:8px}.reservation-edit-preview .reservation-preview{max-height:300px}.focus-panel{display:grid;grid-gap:14px;gap:14px}.profile-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:12px;gap:12px;margin-bottom:14px;padding:18px}.profile-panel h2{font-size:1.16rem;margin:0}.profile-main-panel h2{font-size:1.45rem}.profile-accordion{padding:0}.profile-accordion summary{align-items:center;cursor:pointer;display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;list-style:none;padding:18px}.profile-accordion summary::-webkit-details-marker{display:none}.profile-accordion summary:after{color:var(--primary);content:"▶︎";font-weight:900;grid-column:1;grid-row:1;text-align:center;width:24px}.profile-accordion[open] summary:after{content:"▼"}.profile-accordion summary span{color:var(--text);font-size:1.08rem;font-weight:900;grid-column:2}.profile-accordion summary strong{color:var(--muted);font-size:.84rem;font-weight:900;grid-column:3;overflow-wrap:anywhere;text-align:right}.profile-accordion>:not(summary){margin-left:18px;margin-right:18px}.profile-accordion>:last-child{margin-bottom:18px}.profile-panel p{color:var(--muted);line-height:1.6;margin:0}.profile-panel .compact-form{gap:10px}.profile-panel .compact-form label{align-items:center;background:#f4f7fb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(96px,1fr) minmax(118px,148px);padding:12px}.profile-panel .compact-form input[type=time]{background:var(--surface);min-height:46px;padding:8px 10px;text-align:center}.profile-panel.danger-zone{border-color:#f0c4cc}.profile-link-list{display:grid;grid-gap:10px;gap:10px}.profile-link-list a{background:#f4f7fb;border:1px solid var(--line);border-radius:8px;color:var(--text);font-weight:900;padding:14px;text-decoration:none}.help-text{color:var(--muted);font-size:.9rem;font-weight:700;line-height:1.55;margin:0}.profile-status-list{display:grid;grid-gap:8px;gap:8px}.profile-status-list div{align-items:center;background:#f4f7fb;border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:12px}.profile-status-list span{color:var(--muted);font-weight:800}.profile-status-list strong{color:var(--text);font-weight:900;overflow-wrap:anywhere;text-align:right}.notification-history-list{display:grid;grid-gap:10px;gap:10px}.notification-history-card{background:#f4f7fb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:13px}.notification-history-card div{align-items:flex-start;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto}.notification-history-card strong{color:var(--text);font-weight:900}.notification-history-card span{color:var(--muted);font-size:.82rem;font-weight:800;text-align:right;white-space:nowrap}.notification-history-card p{font-size:.92rem}@media (max-width:420px){.notification-history-card div,.profile-panel .compact-form label{grid-template-columns:1fr}.notification-history-card span,.profile-panel .compact-form input[type=time]{text-align:left}}.escort-box{border-radius:8px;margin-top:8px;padding:14px}.escort-box.ready{background:var(--soft)}.escort-box.missing{background:var(--warning);border:1px solid var(--warning-border)}.escort-box p{color:var(--muted);margin:6px 0 0}.notify-line{margin-top:12px}.info-grid{display:grid;grid-gap:12px;gap:12px}.info-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px}.info-panel h2,.section-block h2{font-size:1.1rem;margin:0 0 8px}.info-panel p,.section-block p{color:var(--muted);line-height:1.65;margin:0}.compact-form,.section-block.compact{margin-top:12px}.section-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.section-heading h2{margin:0}.section-heading a,.section-heading span{color:var(--primary);font-weight:800}.member-row,.mini-schedules a{align-items:center;background:#eef4ff;border:0;border-radius:8px;color:var(--text);display:flex;justify-content:space-between;padding:12px;text-align:left}.member-row.editable{background:#eaf2ff;border:1px solid #b9cff7}.member-row:disabled{cursor:default;opacity:1}.member-list span,.mini-schedules span{color:var(--muted);font-weight:800}.hero-edit-action{margin-top:14px}.group-card{grid-template-columns:44px 1fr auto}.group-card>span:not(.patient-avatar){background:var(--soft);border-radius:999px;color:var(--primary-dark);font-weight:900;padding:7px 10px}.icon-picker{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;margin:0;padding:14px}.icon-picker legend{font-weight:900;padding:0 6px}.icon-picker div{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(6,minmax(0,1fr))}.icon-picker button{background:#f4f7fb;border:1px solid var(--line);border-radius:8px;font-size:1.3rem;min-height:44px}.icon-picker button.active{background:#eaf2ff;border-color:var(--primary);box-shadow:inset 0 0 0 2px var(--primary)}.back-link{color:var(--primary);display:inline-block;font-weight:900;margin-bottom:12px}.empty-state,.share-notice{background:var(--surface);border:1px dashed var(--line);border-radius:8px;padding:20px;text-align:center}.empty-state{display:grid;grid-gap:12px;gap:12px}.empty-state h2,.empty-state p{margin:0}.onboarding-steps{display:grid;grid-gap:10px;gap:10px;margin-top:4px;position:relative;text-align:left}.onboarding-close{background:transparent;border:0;color:var(--muted);font-weight:900;justify-self:end;padding:0 2px 2px}.onboarding-steps div{background:#f4f7fb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;grid-template-columns:auto 1fr;padding:13px}.onboarding-steps span{align-items:center;background:var(--primary);border-radius:999px;color:white;display:inline-flex;font-weight:900;height:30px;justify-content:center;line-height:1;width:30px}.onboarding-steps strong{align-self:center;color:var(--text);font-size:1rem;font-weight:900}.onboarding-steps p{color:var(--muted);font-size:.9rem;font-weight:700;grid-column:2;line-height:1.5}.share-notice{background:var(--warning);border-color:var(--warning-border);font-weight:900;margin-bottom:12px}.share-appointment-hero{background:var(--surface);border:1px solid #c9d8ee;border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:16px;gap:16px;margin-bottom:18px;padding:20px}.share-patient{align-items:center;color:var(--text);display:flex;gap:10px;font-size:1.48rem;font-weight:900;margin:0}.share-appointment-hero time{color:var(--primary-dark);font-size:1.28rem;font-weight:900;line-height:1.35}.share-primary-info{border-top:1px solid var(--line);display:grid;grid-gap:7px;gap:7px;padding-top:14px}.share-primary-info span{color:var(--muted);font-size:.86rem;font-weight:900}.share-primary-info strong{color:var(--text);font-size:1.68rem;font-weight:900;line-height:1.18}.share-companion{border-radius:8px;font-size:1.08rem;font-weight:900;padding:13px 14px}.share-companion.ready{background:var(--soft);color:var(--primary-dark)}.share-companion.missing{background:var(--warning);border:1px solid var(--warning-border);color:#9d2246}.shared-detail .focus-panel,.shared-detail .info-panel{box-shadow:none}.shared-detail .focus-panel,.shared-detail .info-panel{padding:14px}.error-text{color:var(--danger)!important;font-weight:800}.notice-text{color:var(--primary-dark)!important;font-weight:800}.auth-help{background:#f4f7fb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;padding:12px}.auth-help strong{font-size:.92rem}.auth-help p{color:var(--muted);font-size:.86rem;line-height:1.5;margin:0}.auth-help a{color:var(--primary);display:inline-block;font-weight:900;margin-left:4px}.legal-inline{color:var(--muted);font-size:.84rem;line-height:1.55;margin:12px 0 0;text-align:center}.legal-inline.dark,.legal-inline.dark a{color:rgba(255,255,255,.86)}.brand-screen .legal-inline.dark,.brand-screen .legal-inline.dark a{color:#274336;font-weight:900;text-shadow:0 1px 0 rgba(255,255,255,.9)}.brand-screen .legal-inline.dark{background:rgba(255,255,255,.82);border:1px solid rgba(94,129,112,.18);border-radius:8px;box-shadow:0 10px 24px rgba(32,54,92,.08);padding:12px 14px}.brand-screen .legal-inline.dark a{display:inline-block;padding:3px 2px}.legal-inline a{color:var(--primary);font-weight:900}.legal-shell{padding-bottom:34px}.legal-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:14px;gap:14px;padding:20px}.legal-card h1{font-size:1.72rem;line-height:1.2;margin:0}.legal-card h2{font-size:1.08rem;margin:8px 0 0}.legal-card p{color:var(--muted);line-height:1.75;margin:0}.legal-card a{color:var(--primary);font-weight:900}.legal-card .legal-date{color:var(--muted);font-size:.9rem;margin-top:8px}.support-list{display:grid;grid-gap:10px;gap:10px}.support-list div{background:#f4f7fb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:5px;gap:5px;padding:14px}.support-list strong{color:var(--text)}.install-card{gap:18px}.install-preview{align-items:center;background:#f4f7fb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;grid-template-columns:72px 1fr;padding:14px}.install-preview img{border-radius:18px;box-shadow:0 10px 24px rgba(49,61,55,.14);height:72px;width:72px}.install-preview strong{color:var(--text);display:block;font-size:1.18rem}.install-preview span{color:var(--muted);font-weight:800}.install-section{display:grid;grid-gap:10px;gap:10px}.install-steps{display:grid;grid-gap:8px;gap:8px;margin:0;padding-left:24px}.install-steps li{color:var(--text);font-weight:900;line-height:1.55}.about-hero,.about-section{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:14px;gap:14px;margin-bottom:14px;padding:20px}.about-hero{background:linear-gradient(135deg,#ffffff,#edf4ff)}.about-hero h1{color:var(--text);font-size:2.4rem;line-height:1.1;margin:0}.about-hero p,.about-section p{color:var(--muted);line-height:1.7;margin:0}.about-section h2{font-size:1.22rem;margin:0}.about-list{display:grid;grid-gap:10px;gap:10px}.about-list div{background:#f4f7fb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:5px;gap:5px;padding:14px}.about-list strong{color:var(--text);font-weight:900}.about-steps{display:grid;grid-gap:10px;gap:10px;margin:0;padding-left:24px}.about-steps li{color:var(--text);font-weight:900;line-height:1.5}.line-connect-card{display:grid;grid-gap:14px;gap:14px}.modal-backdrop{align-items:flex-end;background:rgba(24,34,45,.62);display:flex;inset:0;justify-content:center;overflow:hidden;padding:14px;position:fixed;z-index:80}.modal-backdrop.top-modal{align-items:flex-start;padding-top:18px}.modal-panel{background:var(--surface);border-radius:8px;box-shadow:0 24px 70px rgba(24,34,45,.28);max-height:calc(100dvh - 28px);max-width:560px;overscroll-behavior:contain;overflow:auto;padding:0 18px 18px;width:100%;-webkit-overflow-scrolling:touch}.past-history-panel{background:#f5f7fb}.past-history-list{display:grid;grid-gap:10px;gap:10px}.modal-header{align-items:center;background:var(--surface);display:flex;gap:12px;justify-content:space-between;margin:0 -18px 14px;padding:16px 18px 12px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-header h2{font-size:1.25rem;margin:0}.text-button{background:transparent;border:0;color:var(--primary);font-weight:900;min-height:44px;padding:8px 0 8px 14px}@media (min-width:760px){.mobile-shell{padding-top:28px}.brand-actions{grid-template-columns:1fr 1fr}.brand-hero-image{opacity:.5;right:4%;transform:none;width:min(50vw,560px)}.lp-feature-grid{grid-template-columns:1fr 1fr}.lp-install{grid-template-columns:1fr 260px}.info-grid{grid-template-columns:1fr 1fr}.modal-backdrop{align-items:center}}@media (max-width:390px){html{font-size:16px}.action-grid,.top-actions{grid-template-columns:1fr}}