/* ChoiceLife 官方品牌視覺：紅 #FC0A1B、湖水藍 #02BCCD、焦糖棕 #A7734C、淺灰 #8C8B8B、深灰 #5E5F61。僅作用於本外掛。 */
.lcpc-app {
  --ink: #3f4145;
  --dim: #70747a;
  --line: #d9dbde;
  --brand: #02BCCD;
  --brand-deep: #5E5F61;
  --brand-light: #e8f9fb;
  --brand-warm: #A7734C;
  --brand-alert: #FC0A1B;
  --brand-soft-gray: #8C8B8B;
  --soft: #f8fbfb;
  --warm: #faf5f0;
  --warm-line: #dcc3ac;
  box-sizing: border-box;
  font-family: inherit;
  color: var(--ink);
  max-width: 860px;
  margin: 0 auto;
  font-size: 15px;
  line-height: 1.65;
}
.lcpc-app *, .lcpc-app *::before, .lcpc-app *::after { box-sizing: border-box; }
.lcpc-app button, .lcpc-app input, .lcpc-app select, .lcpc-app textarea { font: inherit; }
.lcpc-app button { cursor: pointer; }
.lcpc-head { padding: 15px 3px 23px; margin-bottom: 18px; border-bottom: 2px solid var(--line); position: relative; }
.lcpc-head::after { content: ''; position: absolute; left: 0; bottom: -2px; width: 100%; height: 4px; background: linear-gradient(90deg,var(--brand) 0%,var(--brand-warm) 55%,var(--brand-alert) 100%); border-radius: 999px; }
.lcpc-eyebrow { color: var(--brand); font-weight: 750; font-size: 12px; letter-spacing: 1.3px; }
.lcpc-head h2 { font-size: clamp(25px, 3vw, 31px); line-height: 1.3; color: var(--brand-deep); margin: 7px 0; font-weight: 760; }
.lcpc-head p { margin: 6px 0 0; color: var(--dim); }
.lcpc-panel { background: #fff; border: 1px solid var(--line); border-radius: 15px; padding: 21px; margin: 0 0 15px; box-shadow: 0 6px 20px rgba(94, 95, 97, .05); }
.lcpc-section-heading, .lcpc-table-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 13px; flex-wrap: wrap; }
.lcpc-section-heading h3, .lcpc-table-heading h4 { margin: 0; color: var(--brand-deep); font-size: 18px; font-weight: 750; }
.lcpc-section-heading span { font-size: 12px; color: var(--dim); }
.lcpc-app input, .lcpc-app select, .lcpc-app textarea { background: #fff; color: var(--ink); border: 1px solid #cfd3d7; border-radius: 9px; padding: 9px 11px; box-shadow: none; min-width: 0; }
.lcpc-app input:focus, .lcpc-app select:focus, .lcpc-app textarea:focus { outline: 2px solid rgba(2, 188, 205, .25); outline-offset: 1px; border-color: var(--brand); }
.lcpc-app input[type="checkbox"] { accent-color: var(--brand); }
.lcpc-paste { display: block; width: 100%; min-height: 155px; resize: vertical; white-space: pre-wrap; line-height: 1.7; }
.lcpc-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 12px; }
.lcpc-btn { border-radius: 9px !important; border: 1px solid #d0d4d7 !important; background: #fff !important; padding: 9px 13px !important; color: var(--brand-deep) !important; font-weight: 650 !important; font-size: 14px !important; line-height: 1.4 !important; min-height: 41px; text-transform: none !important; box-shadow: none !important; }
.lcpc-btn:hover { border-color: var(--brand) !important; background: var(--brand-light) !important; }
.lcpc-primary { color: #fff !important; background: var(--brand) !important; border-color: var(--brand) !important; }
.lcpc-primary:hover { background: #01aab8 !important; border-color: #01aab8 !important; color: #fff !important; }
.lcpc-primary:focus-visible, .lcpc-btn:focus-visible, .lcpc-item-remove:focus-visible { outline: 3px solid rgba(167, 115, 76, .45); outline-offset: 2px; }
.lcpc-plain { background: #fafafa !important; }
.lcpc-message { font-size: 13px; margin-top: 8px; color: var(--brand-deep); white-space: pre-line; }
.lcpc-message:empty { display: none; }
.lcpc-message.warn { color: var(--brand-alert); }
.lcpc-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.lcpc-fields label { font-size: 13px; color: #5f6368; font-weight: 650; display: flex; flex-direction: column; gap: 5px; }
.lcpc-fields label input, .lcpc-fields label select { width: 100%; height: 44px; }
.lcpc-weekly { margin-top: 14px; }
.lcpc-small-label, .lcpc-aa-title { font-size: 13px; font-weight: 750; margin: 13px 0 8px; color: var(--brand-deep); }
.lcpc-daybuttons { display: flex; gap: 6px; flex-wrap: wrap; }
.lcpc-daybuttons label { position: relative; cursor: pointer; }
.lcpc-daybuttons input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lcpc-daybuttons span { display: flex; align-items: center; justify-content: center; width: 42px; height: 40px; border: 1px solid #cfd3d7; border-radius: 8px; background: #fff; color: var(--brand-deep); font-weight: 760; transition: background .15s, border-color .15s, color .15s, box-shadow .15s; }
.lcpc-daybuttons input:checked + span { background: var(--brand); color: #fff; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(2,188,205,.18); }
.lcpc-daybuttons input:focus-visible + span { outline: 2px solid rgba(167, 115, 76, .45); outline-offset: 2px; }
.lcpc-visits-note { background: var(--brand-light); border-left: 3px solid var(--brand); padding: 10px 12px; margin: 15px 0; border-radius: 8px; font-size: 13px; color: var(--brand-deep); }
.lcpc-table-heading { margin: 18px 0 9px; }
.lcpc-table-heading h4 { font-size: 15px; }
.lcpc-items { display: grid; gap: 8px; }
.lcpc-item { border: 1px solid var(--line); border-radius: 10px; padding: 12px; display: grid; grid-template-columns: minmax(150px, 2fr) minmax(70px, .8fr) minmax(88px, 1fr) minmax(78px, .8fr) auto; align-items: end; gap: 9px; }
.lcpc-item label { min-width: 0; display: flex; flex-direction: column; gap: 3px; color: var(--dim); font-size: 12px; }
.lcpc-item select, .lcpc-item input { width: 100%; height: 40px; padding: 6px 8px; font-size: 14px; }
.lcpc-item .lcpc-item-name { display: block; color: var(--dim); font-size: 11px; margin-top: 2px; }
.lcpc-item-remove { border: 1px solid #e4d3c5; border-radius: 8px; height: 40px; padding: 0 10px; background: #fff8f3; color: var(--brand-warm); }
.lcpc-empty { color: var(--dim); font-size: 13px; padding: 10px 0; }
.lcpc-aa-options { display: flex; gap: 7px; flex-wrap: wrap; }
.lcpc-aa-options label { border: 1px solid var(--line); border-radius: 8px; padding: 7px 10px; background: #fcfdfd; font-size: 12px; cursor: pointer; display: flex; gap: 5px; align-items: center; color: var(--ink); }
.lcpc-aa-options label.checked { background: var(--warm); border-color: var(--warm-line); color: var(--brand-deep); }
.lcpc-aa-options input { accent-color: var(--brand); margin: 0; }
.lcpc-hint, .lcpc-disclaimer { color: var(--dim); font-size: 12px; line-height: 1.65; margin: 12px 0 0; }
.lcpc-result { border-color: #cdd3d8; border-top: 4px solid var(--brand-warm); }
.lcpc-result-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.lcpc-kpi { padding: 15px 13px; background: #f6f7f8; border-radius: 10px; min-width: 0; }
.lcpc-kpi span { font-size: 12px; color: #6a7076; display: block; }
.lcpc-kpi strong { font-size: clamp(19px, 2.7vw, 25px); display: block; margin-top: 2px; color: var(--brand-deep); overflow-wrap: anywhere; line-height: 1.4; }
.lcpc-main-kpi { background: var(--brand-deep); border-top: 4px solid var(--brand); padding-top: 11px; }
.lcpc-main-kpi span, .lcpc-main-kpi strong { color: #fff; }
.lcpc-detail { margin-top: 14px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.lcpc-detail-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px; padding: 10px 13px; border-bottom: 1px solid #edf0f2; font-size: 13px; }
.lcpc-detail-row:last-child { border-bottom: 0; }
.lcpc-detail-row em { color: var(--dim); font-size: 12px; font-style: normal; display: block; }
.lcpc-detail-row strong { white-space: nowrap; font-size: 14px; }
.lcpc-total-row { background: var(--warm); font-weight: 700; color: var(--brand-deep); }
.lcpc-footer { font-size: 12px; color: var(--dim); padding: 2px 4px 18px; }
.lcpc-footer a { color: var(--brand); }
.lcpc-app [hidden] { display: none !important; }
@media (max-width: 720px) {
  .lcpc-panel { padding: 15px; border-radius: 12px; }
  .lcpc-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lcpc-item { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; }
  .lcpc-item .lcpc-code { grid-column: 1 / -1; }
  .lcpc-item-remove { grid-column: 1 / -1; height: 34px; }
  .lcpc-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lcpc-section-heading h3 { font-size: 16px; }
}
@media (max-width: 440px) {
  .lcpc-fields { grid-template-columns: 1fr; }
  .lcpc-item { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .lcpc-kpi { padding: 13px 9px; }
  .lcpc-kpi strong { font-size: 20px; }
  .lcpc-daybuttons span { width: 37px; height: 36px; }
}

/* v1.0.5 日期／時段自動加計區塊 */
.lcpc-auto-aa { display:flex; align-items:center; gap:9px; font-size:14px; font-weight:700; color:var(--brand-deep); cursor:pointer; margin-top:14px; }
.lcpc-auto-aa input[type="checkbox"] { width:18px; height:18px; padding:0; flex-shrink:0; }
.lcpc-auto-aa-note { background:var(--brand-light); border-left:3px solid var(--brand); border-radius:7px; padding:9px 12px; }

/* v1.0.6 CMS 額度／家屬獨立預估 */
.lcpc-budget-panel {border-top:4px solid var(--brand);}
.lcpc-budget-intro {margin:0 0 18px;}
.lcpc-budget-group {padding:16px; margin:0 0 13px; border:1px solid var(--line);border-radius:12px;background:#fff;}
.lcpc-budget-group-title {display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px;align-items:center;}
.lcpc-budget-group-title strong {color:var(--brand-deep);font-size:15px;}
.lcpc-budget-group-title span {font-size:12px;color:var(--dim);}
.lcpc-budget-fields {grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px;}
.lcpc-budget-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
.lcpc-budget-metric {border-radius:9px;padding:12px;background:#f6f7f8;min-width:0;}
.lcpc-budget-metric span {display:block;font-size:12px;color:var(--dim);}
.lcpc-budget-metric strong {display:block;font-size:clamp(16px,2.3vw,23px);line-height:1.5;overflow-wrap:anywhere;color:var(--brand-deep);}
.lcpc-budget-track {height:9px;margin:14px 0 9px;border-radius:100px;background:#e9edef;overflow:hidden;}
.lcpc-budget-fill {height:100%;width:0;background:var(--brand);border-radius:inherit;transition:width .2s ease;}
.lcpc-budget-track.over .lcpc-budget-fill {background:var(--brand-alert);}
.lcpc-budget-status {color:#356b60;font-size:13px;padding:8px 11px;border-radius:8px;background:#eef7f4;}
.lcpc-budget-status.over {background:#fff1f1;color:#a1131d;font-weight:700;border-left:3px solid var(--brand-alert);}
.lcpc-family-panel {background:#f8fafb;padding:16px;border-radius:12px;border:1px solid var(--line);margin-top:18px;}
.lcpc-family-caption {font-size:12px;color:var(--dim);}
.lcpc-family-report {font-size:14px;color:var(--brand-deep);line-height:1.75;}
.lcpc-family-title {font-weight:800;font-size:16px;border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:8px;}
.lcpc-family-row {display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;}
.lcpc-family-over {color:#a1131d;font-weight:700;}
.lcpc-family-report small {display:block;color:var(--dim);margin-top:8px;font-size:12px;}
@media(max-width:540px) {.lcpc-budget-fields {grid-template-columns:1fr;} .lcpc-budget-grid {gap:6px;} .lcpc-budget-metric {padding:9px;} .lcpc-budget-metric strong {font-size:16px;} .lcpc-family-panel,.lcpc-budget-group {padding:12px;}}

.lcpc-staff-over {color:#a1131d;border:1px solid #f4c7ca;border-left:4px solid var(--brand-alert);background:#fff2f2;padding:12px;margin-top:12px;border-radius:8px;font-weight:750;}

/* v1.1.0 CHOICE 雙模式首頁、家屬簡明試算：所有樣式均限制在外掛容器內 */
.lcpc-landing {padding: 14px 0 25px;}
.lcpc-landing-intro {text-align:center;color:var(--brand-deep);font-weight:750;font-size:18px;margin:14px 0 22px;}
.lcpc-landing-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.lcpc-identity-card {display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;border:1px solid #d7e8ec;border-radius:18px;padding:32px 18px;background:#fff;box-shadow:0 7px 22px rgba(94,95,97,.055);color:var(--ink);min-height:228px;transition:box-shadow .2s,border-color .2s,transform .2s;}
.lcpc-identity-card:hover,.lcpc-identity-card:focus-visible {border-color:var(--brand);box-shadow:0 10px 27px rgba(2,188,205,.13);transform:translateY(-2px);}
.lcpc-identity-card strong {font-size:20px;color:var(--brand-deep);}
.lcpc-identity-card span:not(.lcpc-identity-icon):not(.lcpc-identity-link) {color:var(--dim);font-size:13px;}
.lcpc-identity-card .lcpc-identity-icon {background:var(--brand-light);color:#048b96;border-radius:15px;width:68px;height:68px;display:flex;align-items:center;justify-content:center;font-size:37px;line-height:1;}
.lcpc-identity-family .lcpc-identity-icon {background:#f8f0e8;color:var(--brand-warm);}
.lcpc-identity-card .lcpc-identity-link {margin-top:13px;font-weight:750;color:#008e9a;border-bottom:2px solid var(--brand);font-size:14px;}
.lcpc-identity-family .lcpc-identity-link {color:var(--brand-warm);border-color:var(--brand-warm);}
.lcpc-landing-foot {text-align:center;color:var(--dim);font-size:12px;margin:17px 0 0;}
.lcpc-modebar {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 2px 18px;}
.lcpc-modebar strong {font-size:16px;color:var(--brand-deep);}
.lcpc-modebar .lcpc-back {min-height:34px;padding:6px 12px !important;font-size:13px !important;white-space:nowrap;}
.lcpc-modebar-family {border-left:4px solid var(--brand-warm);padding-left:11px;}
.lcpc-staff-budget-details {margin:0 0 14px;}
.lcpc-staff-budget-details > summary {cursor:pointer;display:list-item;padding:13px 17px;border:1px solid var(--line);border-radius:12px;background:#f8fafb;color:var(--brand-deep);font-size:14px;font-weight:650;}
.lcpc-staff-budget-details[open] > summary {margin-bottom:12px;}
.lcpc-staff-budget-details .lcpc-budget-panel {margin-bottom:0;}
.lcpc-family-basic,.lcpc-family-schedule {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;}
.lcpc-family-basic label,.lcpc-family-schedule label,.lcpc-family-service label {display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--brand-deep);min-width:0;}
.lcpc-family-basic input,.lcpc-family-basic select,.lcpc-family-schedule input,.lcpc-family-schedule select,.lcpc-family-service input,.lcpc-family-service select {width:100%;height:44px;font-size:14px;color:var(--ink);}
.lcpc-family-schedule {grid-template-columns:repeat(2,minmax(0,1fr));}
.lcpc-family-optional-paste,.lcpc-family-extra {margin-top:16px;border:1px solid var(--line);border-radius:10px;background:#fafbfc;overflow:hidden;}
.lcpc-family-optional-paste > summary,.lcpc-family-extra > summary {cursor:pointer;padding:12px 14px;font-size:13px;color:var(--brand-deep);font-weight:650;}
.lcpc-family-optional-paste[open],.lcpc-family-extra[open] {padding:0 13px 13px;}
.lcpc-family-optional-paste[open] > summary,.lcpc-family-extra[open] > summary {margin:0 -13px 11px;}
.lcpc-family-optional-paste textarea {width:100%;resize:vertical;min-height:96px;}
.lcpc-family-extra .lcpc-extra-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.lcpc-family-service-list {display:grid;gap:11px;margin:18px 0 12px;}
.lcpc-family-service {display:grid;grid-template-columns:minmax(0,2.8fr) minmax(85px, .75fr) auto auto;gap:10px;align-items:end;border:1px solid #e2e3e4;border-radius:11px;padding:13px;background:#fff;}
.lcpc-family-service .lcpc-family-unit {font-size:12px;color:var(--dim);padding:0 2px 13px;white-space:nowrap;}
.lcpc-family-service .lcpc-family-remove {height:44px;min-height:44px;padding:8px 12px !important;background:#fff9f5 !important;color:var(--brand-warm) !important;}
.lcpc-add-family {margin-top:1px;}
.lcpc-family-results {border-top:4px solid var(--brand-warm);}
.lcpc-family-kpis {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
.lcpc-family-kpi {border-radius:12px;background:#f5f6f7;padding:15px 13px;}
.lcpc-family-kpi span {display:block;color:var(--dim);font-size:12px;}
.lcpc-family-kpi strong {display:block;font-size:clamp(18px,2.5vw,25px);font-weight:800;color:var(--brand-deep);margin-top:3px;overflow-wrap:anywhere;}
.lcpc-family-primary-kpi {background:#5E5F61;border-top:3px solid var(--brand);padding-top:12px;}
.lcpc-family-primary-kpi span,.lcpc-family-primary-kpi strong {color:white;}
.lcpc-family-alert {margin:12px 0 0;border:1px solid #c9e5e6;background:#eff9f9;color:#37666b;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.7;}
.lcpc-family-alert.is-danger {background:#fff1f1;border-color:#ffcdd2;color:#a11222;font-weight:700;border-left:4px solid var(--brand-alert);}
.lcpc-family-lineitems {margin-top:14px;border-top:1px solid var(--line);}
.lcpc-family-detail-row {display:flex;justify-content:space-between;align-items:start;gap:10px;padding:9px 1px;border-bottom:1px solid var(--line);font-size:13px;}
.lcpc-family-detail-row strong {white-space:nowrap;}
.lcpc-family-g-summary {margin-top:13px;border-left:3px solid var(--brand-warm);padding:11px 13px;background:#faf5f0;color:var(--brand-deep);font-size:13px;border-radius:7px;}
.lcpc-family-results [data-family-action="copy"] {margin-top:16px;}
.lcpc-family-results [data-family-action="copy"]:disabled {opacity:.55;cursor:not-allowed;}
.lcpc-family-disclaimer {padding:2px 2px 16px;}
@media(max-width:700px) {
 .lcpc-family-service {grid-template-columns:minmax(0,1fr) minmax(90px,.38fr);}
 .lcpc-family-service .lcpc-family-unit {padding:4px 0;align-self:center;}
 .lcpc-family-service .lcpc-family-remove {height:38px;min-height:38px;}
 .lcpc-family-kpis {grid-template-columns:repeat(2,minmax(0,1fr));}
 .lcpc-family-primary-kpi {grid-column:1 / -1;}
}
@media(max-width:520px) {
 .lcpc-landing-grid {grid-template-columns:1fr;gap:12px;}
 .lcpc-identity-card {min-height:170px;padding:22px 12px;gap:6px;}
 .lcpc-identity-card .lcpc-identity-icon {width:53px;height:53px;font-size:28px;}
 .lcpc-identity-card .lcpc-identity-link {margin-top:7px;}
 .lcpc-modebar strong {font-size:14px;}
 .lcpc-family-basic {grid-template-columns:1fr;}
 .lcpc-family-schedule {grid-template-columns:1fr;}
 .lcpc-family-extra .lcpc-extra-grid {grid-template-columns:1fr;}
 .lcpc-family-kpi {padding:12px 10px;}
 .lcpc-family-kpi strong {font-size:20px;}
}

/* v1.4.0：每項服務獨立排班，點星期即可修正辨識結果 */
.lcpc-item-weekdays{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-top:6px;border-top:1px solid #e9e9e9}
.lcpc-item-weekdays>span{font-size:12px;color:#5E5F61;margin-right:3px;font-weight:650}
.lcpc-day-chip{width:34px;min-height:34px;border:1px solid #cdd3d6;border-radius:8px;background:#fff;color:#5E5F61;font-weight:700;padding:3px;cursor:pointer}
.lcpc-day-chip[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 3px rgba(2,188,205,.18)}
.lcpc-day-chip:focus-visible{outline:3px solid #02BCCD;outline-offset:2px}
.lcpc-family-item-weekdays{padding:7px 0;}


/* v1.5.0 居服員交班通知：可編輯後複製，完全不顯示薪資或拆帳。 */
.lcpc-notice-panel{border-top:3px solid #02BCCD}
.lcpc-notice-intro{font-size:13px;color:#5E5F61;margin:0 0 14px;line-height:1.7}
.lcpc-notice-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lcpc-notice-fields label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#5E5F61;min-width:0}
.lcpc-notice-fields textarea{width:100%;min-height:90px;resize:vertical;font-size:13px;line-height:1.65}
.lcpc-notice-preview-header{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:20px 0 9px}
.lcpc-notice-preview-header strong{color:#5E5F61;font-size:15px}
.lcpc-notice-preview-header span{color:#8C8B8B;font-size:12px}
.lcpc-notice-preview{display:block;width:100%;min-height:240px;background:#f8fafb!important;color:#5E5F61!important;line-height:1.65;white-space:pre-wrap;font-size:13px;border-color:#d9dbde;resize:vertical}
@media(max-width:600px){.lcpc-notice-fields{grid-template-columns:1fr}}

/* 明確列出指定日期，避免隱藏第二筆服務日。 */
.lcpc-app .lcpc-date-list-label {grid-column: 1 / -1;}
.lcpc-app .lcpc-date-list-label textarea {width:100%;min-height:76px;resize:vertical;}

/* v1.5.4：交班通知概略地址欄，與其它備註共用表單風格。 */
.lcpc-app .lcpc-notice-location { grid-column: 1 / -1; }
.lcpc-app .lcpc-notice-location input { width:100%; min-height:44px; }

/* v1.6.0 家屬額度分組與全自費估算 */
.lcpc-family-kpis {grid-template-columns:repeat(3,minmax(0,1fr));}
.lcpc-family-primary-kpi{grid-column:1/-1;order:-1;background:#5E5F61;border-top:4px solid #02BCCD}
.lcpc-family-primary-kpi strong{font-size:clamp(25px,3vw,33px)}
.lcpc-family-coverage{display:grid;gap:6px;margin-top:12px}
.lcpc-family-coverage:empty{display:none}
.lcpc-family-coverage-line{border-radius:8px;border:1px solid #d9dbde;padding:10px 12px;background:#fafbfc;color:#5E5F61;font-size:13px}
.lcpc-family-other-select{display:flex;flex-direction:column;gap:6px;margin-top:18px;font-size:13px;color:#5E5F61;font-weight:700}
.lcpc-family-other-select select{max-width:500px;min-height:43px}
.lcpc-family-price-details{grid-column:1/-1;overflow:hidden;border-top:1px solid #edf0f2;padding-top:8px}
.lcpc-family-price-details summary{cursor:pointer;font-size:12px;font-weight:700;color:#5E5F61;padding:3px 0}
.lcpc-family-price-details label{max-width:270px;margin:8px 0}
.lcpc-family-price-details .lcpc-hint{margin:5px 0 0}
.lcpc-family-duration{grid-column:1/-1;max-width:265px}
.lcpc-family-duration select{width:100%}
.lcpc-family-cms-help{margin:10px 0 0}
@media(max-width:700px){.lcpc-family-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.lcpc-family-primary-kpi{grid-column:1/-1}.lcpc-family-service{grid-template-columns:minmax(0,1fr) minmax(100px,.4fr)}}

.lcpc-family-detail-formula{display:block;font-size:12px;color:#70747a;margin-top:3px;line-height:1.5}

/* v1.6.8 家屬額度條：CHOICE 湖水藍額度內、紅色超額、灰色已占額。 */
.lcpc-family-quota-progress{display:grid;gap:12px;margin-top:15px}
.lcpc-family-quota-progress:empty{display:none}
.lcpc-family-quota-card{padding:14px;border:1px solid #e1e4e5;background:#fbfcfc;border-radius:12px}
.lcpc-family-quota-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;font-size:14px;color:#5E5F61;margin-bottom:11px}
.lcpc-quota-state{font-size:12px;font-weight:700;border-radius:20px;padding:3px 9px}
.lcpc-quota-state.is-within{color:#35616A;background:#EAF9FB}
.lcpc-quota-state.is-over{color:#c31826;background:#fff0f1}
.lcpc-family-quota-track{display:flex;width:100%;height:17px;border-radius:999px;background:#e6e9ec;overflow:hidden}
.lcpc-quota-segment{height:100%;flex:0 0 auto;min-width:0;transition:width .18s ease}
.lcpc-quota-covered{background:#02BCCD}
.lcpc-quota-over{background:#FC0A1B}
.lcpc-quota-occupied{background:#8C8B8B}
.lcpc-family-quota-legend{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:12px;color:#5E5F61;margin-top:9px}
.lcpc-quota-legend-item{display:inline-flex;align-items:center;gap:5px}
.lcpc-quota-dot{width:9px;height:9px;display:inline-block;border-radius:50%;flex:0 0 9px}
.lcpc-family-quota-foot{margin:8px 0 0;font-size:12px;line-height:1.6;color:#6e747b}
@media(max-width:440px){.lcpc-family-quota-card{padding:12px}.lcpc-family-quota-heading{font-size:13px}}


/* v1.6.2：家屬與居服員結果圖卡匯出按鈕 */
.lcpc-export-actions{flex-wrap:wrap;gap:10px}
.lcpc-export-actions .lcpc-btn{flex:0 0 auto}
@media(max-width:520px){.lcpc-export-actions .lcpc-btn{width:100%}}


/* v1.6.3：月份下拉欄位手機版避免跑版 */
.lcpc-app select[data-role="month"],.lcpc-app select[data-family="month"]{width:100%;max-width:100%;min-width:0;-webkit-appearance:none;appearance:none;background-image:none}


/* v1.6.6：brand-palette */
.lcpc-app .lcpc-card-title,.lcpc-app .lcpc-card-head h2,.lcpc-app .lcpc-hero h2{color:#5E5F61}
.lcpc-app .lcpc-primary{background:#02BCCD;border-color:#02BCCD}
.lcpc-app .lcpc-primary:hover{background:#01aab8;border-color:#01aab8}
.lcpc-app .lcpc-plain{color:#A7734C;border-color:#A7734C;background:#fff8f2}
.lcpc-app .lcpc-chip.checked,.lcpc-app .lcpc-badge.active{background:#02BCCD;color:#fff;border-color:#02BCCD}

/* v1.6.7: 居服員一欄整合照護注意事項 */
.lcpc-app .lcpc-notice-fields-simple{grid-template-columns:1fr;gap:16px}
.lcpc-app .lcpc-notice-fields-simple .lcpc-notice-location,
.lcpc-app .lcpc-notice-fields-simple .lcpc-notice-notes{grid-column:1/-1}
.lcpc-app .lcpc-notice-fields-simple textarea{min-height:180px;line-height:1.75}


/* v1.6.8 CHOICE 品牌與年長使用者閱讀優化（雙模式一致） */
.lcpc-app{--ink:#34393D;--dim:#5E5F61;--line:#DADDE0;--soft:#F6FAFB;--brand-light:#EAF9FB;--warm:#FBF4EC;color:var(--ink)}
.lcpc-head::after{background:linear-gradient(90deg,#A7734C 0 23%,#02BCCD 23% 75%,#FC0A1B 75% 100%)}
.lcpc-panel{border-color:#DADDE0;box-shadow:0 8px 25px rgba(94,95,97,.055)}
.lcpc-app .lcpc-primary{color:#273539!important;background:#02BCCD!important;border-color:#02BCCD!important;font-weight:800!important}
.lcpc-app .lcpc-primary:hover{color:#273539!important;background:#21C8D6!important}
.lcpc-app .lcpc-plain{color:#5E5F61!important;background:#F8F5F2!important;border-color:#D9C4B4!important}
.lcpc-family-results{border-top-color:#A7734C}
.lcpc-family-alert{border-color:#BFE7EC;background:#EDF9FB;color:#405E66}
.lcpc-family-alert.is-danger{border-color:#FFD0D4;background:#FFF3F3;color:#BB0D1C}
.lcpc-family-quota-card{background:#F9FBFC;border-color:#D9E2E5}
.lcpc-family-quota-track{height:20px}
.lcpc-family-quota-heading{font-size:16px}
.lcpc-family-detail-row{font-size:15px;line-height:1.6}
.lcpc-family-detail-formula{font-size:13px}
.lcpc-family-kpi span,.lcpc-kpi span{font-size:14px}
.lcpc-section-heading h3{font-size:19px}
.lcpc-daybuttons input:checked+span,.lcpc-day-chip[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 3px rgba(2,188,205,.18)}
.lcpc-notice-panel{border-top-color:#02BCCD}
.lcpc-notice-preview{font-size:15px;line-height:1.75}
.lcpc-app [data-family-action="share-card"],.lcpc-app [data-action="share-care-card"]{border:2px solid #02BCCD!important;background:#EDF9FB!important;color:#304C55!important;font-weight:800!important}
@media(max-width:520px){
  .lcpc-app{font-size:16px}
  .lcpc-panel{padding:16px}
  .lcpc-app .lcpc-btn{font-size:15px!important;min-height:45px}
  .lcpc-section-heading h3{font-size:18px}
  .lcpc-family-basic label,.lcpc-family-schedule label,.lcpc-notice-fields label{font-size:15px}
  .lcpc-family-kpi strong{font-size:25px}
  .lcpc-family-primary-kpi strong{font-size:38px}
  .lcpc-family-detail-row{font-size:15px}
  .lcpc-family-quota-heading{font-size:15px}
}

/* 1.7.0: plan details clarity */
.lcpc-app .lcpc-plan-extra{margin-top:12px;border:1px solid #B6E6E9;border-radius:14px;padding:12px 15px;background:#F5FCFD}
.lcpc-app .lcpc-plan-extra summary{font-weight:750;color:#5E5F61;cursor:pointer}
.lcpc-app .lcpc-plan-extra .lcpc-family-basic{margin-top:14px}

.lcpc-app input[data-family='g-cycle'],.lcpc-app input[data-role='g-cycle']{width:100%;min-width:0;max-width:100%;box-sizing:border-box}

/* v1.7.2: 家屬年度額度單位數、當月全自費組數 */
.lcpc-family-annual-summary{display:grid;gap:12px;margin:12px 0 16px}
.lcpc-family-annual-summary[hidden]{display:none!important}
.lcpc-family-annual-card{padding:16px 18px;border-radius:16px;border:1px solid #e9d3c2;background:#fbf6f1;line-height:1.6;color:#5E5F61}
.lcpc-family-annual-card strong{font-size:17px;display:block;margin-bottom:6px}
.lcpc-family-annual-card p{margin:4px 0;font-size:15px}
.lcpc-family-annual-card small{display:block;margin-top:6px;font-size:12px;color:#5E5F61}
.lcpc-family-annual-card .lcpc-year-over{color:#FC0A1B;font-weight:800}
.lcpc-annual-warning{border-left:4px solid #A7734C;background:#fbf6f1;padding:10px 14px;border-radius:8px}

/* v1.7.4 cache-version marker, assists users verifying latest code */
.lcpc-version{font-size:.78em;color:#8C8B8B;font-weight:500;letter-spacing:0;white-space:nowrap}

/* v1.7.5 精簡確認服務與 AA 設定 */
.lcpc-quick-summary{padding:12px 15px;margin:8px 0 16px;border:1px solid #bce6ea;background:#edfafd;border-radius:12px;font-size:15px;font-weight:750;color:#3a545b;line-height:1.6}
.lcpc-staff-main-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lcpc-conditional-fields{margin-top:0}
.lcpc-staff-options{border:1px solid #d8dedf;border-radius:12px;padding:0;margin:14px 0 18px;background:#fff}
.lcpc-staff-options>summary{font-size:15px;font-weight:800;color:#5E5F61;padding:15px 18px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px}
.lcpc-staff-options>summary::-webkit-details-marker{display:none}
.lcpc-staff-options>summary:after{content:'＋';font-size:20px;color:#A7734C}
.lcpc-staff-options[open]>summary:after{content:'−'}
.lcpc-staff-options[open]>summary{border-bottom:1px solid #e3e7e9;background:#f6fbfc;border-radius:12px 12px 0 0}
.lcpc-staff-advanced-fields,.lcpc-staff-options-body{padding:14px 17px}
.lcpc-staff-options>.lcpc-hint{margin:0;padding:0 17px 16px}
.lcpc-items-compact{display:grid;gap:12px}
.lcpc-compact-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px 16px;align-items:center;padding:15px;border:1px solid #dee3e5;background:#fcfdfd;border-radius:14px}
.lcpc-compact-item-main{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,140px);gap:12px;align-items:end}
.lcpc-compact-item-main label{min-width:0}
.lcpc-compact-item-main select,.lcpc-compact-item-main input{width:100%;min-width:0;max-width:100%}
.lcpc-compact-count{font-size:14px;font-weight:700;color:#5E5F61;grid-column:1/-1}
.lcpc-compact-item-more{grid-column:1;min-width:0}
.lcpc-compact-item-more>summary{font-size:13px;font-weight:750;color:#98704b;cursor:pointer;padding:6px 0}
.lcpc-compact-item-extras{padding-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lcpc-compact-item-extras label{font-size:13px;min-width:0}
.lcpc-compact-item .lcpc-item-remove{grid-column:2;align-self:center;max-width:90px}
.lcpc-compact-item .lcpc-item-weekdays{grid-column:1/-1;border-top:1px solid #e5e9ea;padding-top:10px;margin:0}
.lcpc-aa-brief{margin:14px 0 8px;color:#53666b;font-size:14px;font-weight:750;line-height:1.6}
.lcpc-aa-details .lcpc-aa-options{margin:10px 0 14px;gap:8px}
.lcpc-aa-details .lcpc-aa-title{font-size:14px;margin:14px 0 8px}
.lcpc-aa-details .lcpc-aa-selected-title{border-top:1px solid #e2e8e9;padding-top:14px}
.lcpc-aa-details .lcpc-aa-options label{font-size:13px;padding:9px 12px}
@media(max-width:600px){.lcpc-staff-main-fields{grid-template-columns:1fr 1fr}.lcpc-staff-main-fields>label:nth-child(3){grid-column:1/-1}.lcpc-quick-summary{font-size:14px}.lcpc-compact-item-main{grid-template-columns:minmax(0,1fr) 100px}.lcpc-compact-item-extras{grid-template-columns:1fr 1fr}}
@media(max-width:360px){.lcpc-staff-main-fields,.lcpc-compact-item-main{grid-template-columns:1fr}.lcpc-compact-item-extras{grid-template-columns:1fr}}

/* v1.7.5：個別星期設定隨進階選項收合 */
.lcpc-compact-item-more .lcpc-item-weekdays{margin-top:12px;padding-top:12px;border-top:1px solid #e5e9ea}

/* v1.8.0：家屬 GA09 耗盡可搭配已核定 SC09 */
.lcpc-family-sc-switch{margin:14px 0 4px;border:1px solid #bce5e8;background:#f0fafb;border-radius:16px;padding:14px 16px}
.lcpc-family-sc-toggle{display:flex!important;gap:12px!important;align-items:flex-start!important;cursor:pointer;font-size:16px!important;line-height:1.6}
.lcpc-family-sc-toggle input{width:24px!important;height:24px!important;min-width:24px!important;accent-color:#02BCCD;margin:2px 0 0!important}
.lcpc-family-sc-toggle strong{display:block;color:#5E5F61;font-size:17px;line-height:1.5}
.lcpc-family-sc-toggle small{display:block;font-size:14px;color:#53646b;margin-top:3px}
.lcpc-family-sc-switch .lcpc-hint{margin:10px 0 0;font-size:12px;line-height:1.6}
.lcpc-family-bridge-result{margin-top:12px;padding:13px 16px;border-left:5px solid #A7734C;background:#fbf6ef;color:#5E5F61;border-radius:10px;font-size:15px;font-weight:750;line-height:1.6}
.lcpc-family-bridge-result[hidden]{display:none!important}
@media(max-width:520px){.lcpc-family-sc-switch{padding:13px 14px}.lcpc-family-sc-toggle strong{font-size:16px}.lcpc-family-bridge-result{font-size:15px}}

/* v1.8.2 家屬／個管快速試算介面：在既有額度計算器上改善點選流程 */
.lcpc-app .lcpc-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.lcpc-family-method{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0 11px}
.lcpc-app .lcpc-method-btn{appearance:none;background:#fff;border:1px solid #cdd9dc;color:#5E5F61;border-radius:12px;min-height:48px;padding:11px 9px;font-size:15px;font-weight:800;cursor:pointer}
.lcpc-app .lcpc-method-btn[aria-pressed="true"]{background:#E9F9FA;border:2px solid #02BCCD;color:#31545A}
.lcpc-family-optional-paste{margin:2px 0 0}
.lcpc-family-presets{padding:16px;background:#F7FBFC;border:1px solid #D9EAED;border-radius:16px}
.lcpc-family-preset-heading,.lcpc-family-frequency-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:11px;color:#5E5F61}
.lcpc-family-preset-heading strong,.lcpc-family-frequency-heading strong{font-size:17px}
.lcpc-family-preset-heading span,.lcpc-family-frequency-heading span{font-size:12px;color:#70747a}
.lcpc-family-preset-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.lcpc-family-preset-modes{display:flex;gap:8px;flex-wrap:wrap}
.lcpc-family-preset-modes button{appearance:none;background:#fff;border:1px solid #C8CFD3;border-radius:999px;color:#5E5F61;min-height:40px;padding:8px 14px;font-size:13px;font-weight:800;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
.lcpc-family-preset-modes button.is-active,.lcpc-family-preset-modes button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 6px 14px rgba(2,188,205,.2)}
.lcpc-family-preset-tip{font-size:12px;color:#70747a}
.lcpc-family-preset-scroll{max-height:340px;overflow:auto;padding-right:4px}
.lcpc-family-preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.lcpc-family-preset-grid button{appearance:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;min-height:104px;background:#fff;border:1.5px solid #CBD8DC;border-radius:14px;padding:13px 12px;cursor:pointer;text-align:left;transition:background .15s,border-color .15s,box-shadow .15s,transform .12s}
.lcpc-family-preset-grid button:hover,.lcpc-family-preset-grid button:focus-visible{background:#E7F8FA;border-color:#02BCCD;box-shadow:0 8px 18px rgba(2,188,205,.14);outline-offset:2px;transform:translateY(-1px)}
.lcpc-family-preset-grid button.is-added{background:var(--brand-light);border-color:var(--brand);box-shadow:0 0 0 3px rgba(2,188,205,.18)}
.lcpc-family-preset-grid button strong{font-size:25px;color:#384B50;font-weight:900;line-height:1.05;letter-spacing:.3px}
.lcpc-family-preset-grid button small{font-size:12px;color:#5E5F61;font-weight:700;line-height:1.35}
.lcpc-family-frequency-heading{margin-top:20px}
.lcpc-family-frequency-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:11px}
.lcpc-family-frequency-chips button{appearance:none;background:#fff;border:1px solid #C8CFD3;border-radius:10px;color:#5E5F61;min-height:46px;font-size:14px;font-weight:800;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
.lcpc-family-frequency-chips button:hover{border-color:var(--brand);background:#F4FBFC}
.lcpc-family-frequency-chips button[aria-pressed="true"]{border:2px solid var(--brand);background:var(--brand);color:#fff;box-shadow:0 8px 16px rgba(2,188,205,.18)}
.lcpc-family-day-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 11px}
.lcpc-family-day-shortcuts button{appearance:none;border:1px solid #D5D8DA;border-radius:9px;padding:7px 13px;background:#fff;color:#4E5155;font-weight:800;min-height:39px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.lcpc-family-day-shortcuts button:hover,.lcpc-family-day-shortcuts button:focus-visible{border-color:#02BCCD;background:#EAF9FB;color:#25525B}
.lcpc-family-service{position:relative;align-items:start;row-gap:12px!important}
.lcpc-family-service .lcpc-family-unit{padding-top:33px;padding-bottom:0;white-space:normal}
.lcpc-family-service .lcpc-family-qty-label{min-width:132px}
.lcpc-family-qty-stepper{display:flex;align-items:stretch;width:100%;min-height:44px;gap:3px}
.lcpc-family-qty-stepper button{appearance:none;min-width:38px;padding:0 5px;background:#F3F6F7;border:1px solid #D0D7DB;border-radius:9px;color:#5E5F61;font-size:23px;font-weight:700;cursor:pointer}
.lcpc-family-qty-stepper button:disabled{opacity:.4;cursor:not-allowed}
.lcpc-family-qty-stepper input{min-width:43px!important;width:54px!important;flex:1;text-align:center;padding:5px 1px!important;appearance:textfield;-moz-appearance:textfield}
.lcpc-family-qty-stepper input::-webkit-inner-spin-button,.lcpc-family-qty-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.lcpc-family-duration-buttons{display:flex;gap:6px;flex-wrap:wrap}
.lcpc-family-duration-buttons button{appearance:none;padding:7px 10px;border:1px solid #CBD5DA;border-radius:8px;color:#4A555A;background:#fff;min-height:38px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
.lcpc-family-duration-buttons button[aria-pressed="true"]{background:var(--brand);border:2px solid var(--brand);color:#fff;box-shadow:0 6px 14px rgba(2,188,205,.18)}
.lcpc-family-duration-note{font-size:12px;color:#6B7378;margin-top:5px}
.lcpc-family-copy-days{appearance:none;border:1px solid #D6C2B1;background:#FCF6F1;color:#8A5935;padding:7px 11px;border-radius:8px;font-size:12px;font-weight:750;cursor:pointer;min-height:36px}
.lcpc-family-item-weekdays{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.lcpc-family-item-summary{grid-column:1/-1;background:#F0F9FA;color:#4C6166;font-size:13px;border-radius:9px;padding:8px 11px;font-weight:750}
.lcpc-family-quick-result{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;border:1px solid #BEE6E9;border-left:5px solid #02BCCD;border-radius:12px;background:#F1FAFB;padding:15px 16px}
.lcpc-family-quick-result>div{display:flex;flex-direction:column;gap:2px}
.lcpc-family-quick-result>div span{font-size:13px;color:#5E5F61}
.lcpc-family-quick-result>div strong{font-size:clamp(18px,2.4vw,26px);color:#5E5F61}
.lcpc-family-quick-result .lcpc-family-quick-count{color:#50686B;font-size:13px;font-weight:700}
.lcpc-app .lcpc-add-family{border:1.5px dashed #A7734C!important;color:#8D6142!important;background:#FFF9F4!important;font-weight:800!important}
@media(max-width:750px){.lcpc-family-frequency-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){
 .lcpc-family-method{gap:6px}.lcpc-app .lcpc-method-btn{font-size:14px;padding:10px 7px}
 .lcpc-family-preset-grid button{min-height:92px;padding:10px 9px;gap:5px}
 .lcpc-family-preset-grid button strong{font-size:22px}
 .lcpc-family-preset-grid button small{font-size:11px;line-height:1.3}
 .lcpc-family-preset-scroll{max-height:300px}
 .lcpc-family-presets{padding:13px}
 .lcpc-family-service{grid-template-columns:minmax(0,1fr) minmax(135px,.8fr)!important;gap:10px!important}
 .lcpc-family-service .lcpc-family-unit{padding:1px 0;grid-column:1/-1}
 .lcpc-family-service .lcpc-family-remove{grid-column:1/-1!important;min-width:100%}
 .lcpc-family-day-shortcuts button{flex:1}
 .lcpc-family-duration-buttons button{flex:1 0 auto}
 .lcpc-family-qty-stepper button{min-width:36px}
}
.lcpc-family-service-range{margin:10px 0;border:1px solid #D7E5E8;border-radius:12px;padding:8px 12px;background:#FBFDFD}
.lcpc-family-service-range summary{font-size:13px;color:#5E5F61;font-weight:750;cursor:pointer}
.lcpc-family-service-range .lcpc-extra-grid{margin-top:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:520px){.lcpc-family-service-range .lcpc-extra-grid{grid-template-columns:1fr}}


/* v1.8.7：修正 iPhone 四欄服務卡片文字溢出，碼別為主、中文為輔 */
.lcpc-app .lcpc-family-preset-scroll{
  width:100%;max-width:100%;min-width:0;
  overflow-x:hidden!important;overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
}
.lcpc-app .lcpc-family-preset-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:minmax(91px,auto);
  gap:7px;
  width:100%;max-width:100%;min-width:0;
  align-items:stretch;
}
.lcpc-app .lcpc-family-preset-grid>button{
  box-sizing:border-box!important;
  min-width:0!important;width:100%!important;max-width:100%!important;
  height:100%!important;min-height:91px!important;
  padding:11px 5px!important;
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:flex-start!important;
  text-align:center!important;gap:7px!important;
  overflow:hidden!important;
  border-radius:12px;
}
.lcpc-app .lcpc-family-preset-grid>button .lcpc-preset-code{
  display:block!important;width:100%;max-width:100%;min-width:0;
  flex:0 0 auto;
  font-size:18px;
  font-weight:900;
  line-height:1.15!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  overflow:visible;
  color:#36464C;
  font-variant-numeric:tabular-nums;
}
.lcpc-app .lcpc-family-preset-grid>button .lcpc-preset-name{
  display:block!important;width:100%;max-width:100%;min-width:0;
  font-size:11px!important;
  font-weight:650!important;
  line-height:1.35!important;
  color:#5E5F61!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  hyphens:auto;
}
@media(max-width:520px){
  .lcpc-app .lcpc-family-preset-grid{gap:5px;grid-auto-rows:minmax(88px,auto)}
  .lcpc-app .lcpc-family-preset-grid>button{min-height:88px!important;padding:10px 3px!important;gap:6px!important}
  .lcpc-app .lcpc-family-preset-grid>button .lcpc-preset-name{font-size:10.5px!important}
}

/* v1.8.9：分段導覽與操作進度（保留原有表單欄位及試算函式）。 */
.lcpc-app [data-view="staff"],
.lcpc-app [data-view="family"] { --lcpc-progress-teal:#02BCCD; --lcpc-progress-brown:#A7734C; --lcpc-progress-gray:#5E5F61; }
.lcpc-app .lcpc-flow-nav {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;
  position:sticky;top:18px;z-index:8;margin:0 0 17px;padding:10px;
  border:1px solid #D5E4E7;border-radius:15px;background:rgba(255,255,255,.97);
  box-shadow:0 7px 20px rgba(94,95,97,.08);
}
.lcpc-app .lcpc-flow-nav-button {
  appearance:none;min-width:0;min-height:59px;display:flex;align-items:center;justify-content:center;
  gap:7px;background:#F5F6F7;color:#5E5F61;border:1px solid #E2E5E7;
  border-radius:10px;padding:8px 5px;text-align:center;font-size:12px;font-weight:800;
  white-space:normal;line-height:1.3;
}
.lcpc-app .lcpc-flow-nav-button .lcpc-flow-nav-index {
  display:inline-flex;justify-content:center;align-items:center;flex:0 0 24px;
  width:24px;height:24px;background:#E3E6E9;border-radius:999px;font-size:13px;color:#5E5F61;
}
.lcpc-app .lcpc-flow-nav-button.is-complete:not(.is-current){background:#F6FAFB;border-color:#BED9DD;}
.lcpc-app .lcpc-flow-nav-button.is-complete:not(.is-current) .lcpc-flow-nav-index{background:#5E5F61;color:#FFF;}
.lcpc-app .lcpc-flow-nav-button.is-current{color:#17474E;background:#EAF9FB;border:2px solid #02BCCD;box-shadow:0 2px 10px rgba(2,188,205,.12);}
.lcpc-app .lcpc-flow-nav-button.is-current .lcpc-flow-nav-index{background:#02BCCD;color:#FFF;}
.lcpc-app .lcpc-flow-step {position:relative;border:1px solid #D8DDE0;box-shadow:0 4px 15px rgba(94,95,97,.045);}
.lcpc-app .lcpc-flow-step.is-current{border:2px solid #02BCCD;box-shadow:0 7px 22px rgba(2,188,205,.1);}
.lcpc-app .lcpc-flow-step.is-current::before {content:"";position:absolute;top:0;left:17px;height:5px;width:58px;background:#A7734C;border-radius:0 0 5px 5px;}
.lcpc-app .lcpc-flow-step > .lcpc-section-heading{display:flex;align-items:center;gap:8px;margin:0 0 9px;}
.lcpc-app .lcpc-flow-step > .lcpc-section-heading h3 {font-size:clamp(18px,2vw,21px);font-weight:850;line-height:1.35;flex:1 1 auto;min-width:0;}
.lcpc-app .lcpc-flow-step .lcpc-flow-heading-hint{font-size:11px;flex:0 0 auto;}
.lcpc-app .lcpc-flow-heading-toggle {appearance:none;flex:0 0 38px;width:38px;height:38px;display:flex;justify-content:center;align-items:center;
  background:#F5F7F8;color:#5E5F61;border:1px solid #D8DDE0;border-radius:10px;cursor:pointer;}
.lcpc-app .lcpc-flow-heading-toggle:hover,.lcpc-app .lcpc-flow-heading-toggle:focus-visible {background:#EAF9FB;border-color:#02BCCD;outline:2px solid transparent;}
.lcpc-app .lcpc-flow-caret {font-size:24px;line-height:1;font-weight:800;}
.lcpc-app .lcpc-flow-summary {background:#F5F7F8;color:#5E5F61;padding:10px 12px;margin:0 0 12px;border-radius:9px;
  font-size:13px;line-height:1.6;overflow-wrap:anywhere;font-weight:650;border-left:4px solid #D0D5D8;}
.lcpc-app .lcpc-flow-step.is-complete .lcpc-flow-summary {border-left-color:#A7734C;background:#FAF7F3;}
.lcpc-app .lcpc-flow-step.is-current .lcpc-flow-summary {border-left-color:#02BCCD;background:#EAF9FB;}
.lcpc-app .lcpc-flow-body {min-width:0;}
.lcpc-app .lcpc-flow-step-actions {display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid #E2E6E8;margin-top:20px;padding-top:16px;}
.lcpc-app .lcpc-flow-step-actions button {appearance:none;padding:11px 16px;border-radius:10px;min-height:44px;font-size:14px;font-weight:800;line-height:1.4;}
.lcpc-app .lcpc-flow-inline-prev {border:1px solid #CAD2D6;background:#FFF;color:#5E5F61;}
.lcpc-app .lcpc-flow-inline-next {margin-left:auto;border:1px solid #02BCCD;background:#02BCCD;color:#10383D;}
.lcpc-app .lcpc-flow-date-warning {border:1px solid #EAD6C4;border-left:4px solid #A7734C;background:#FCF7F2;padding:12px 13px;
  border-radius:10px;color:#795332;line-height:1.7;font-size:13px;font-weight:720;margin-bottom:12px;}
.lcpc-app .lcpc-flow-quota-intro {margin:0 0 14px;}
.lcpc-app .lcpc-family-quota-step .lcpc-family-sc-switch {margin:0 0 14px;}
.lcpc-app .lcpc-family-quota-step .lcpc-family-other-select {display:block;margin:0 0 13px;}
.lcpc-app .lcpc-flow-dock {display:none;}
@media(max-width:800px){
  .lcpc-app .lcpc-flow-nav {top:115px;padding:7px;gap:5px;}
  .lcpc-app .lcpc-flow-nav-button {min-height:58px;display:flex;flex-direction:column;gap:4px;font-size:11px;}
  .lcpc-app .lcpc-flow-nav-button .lcpc-flow-nav-index {flex:0 0 21px;width:21px;height:21px;}
}
@media(max-width:600px){
  .lcpc-app [data-view="family"],.lcpc-app [data-view="staff"]{padding-bottom:78px;}
  .lcpc-app .lcpc-flow-step{padding:15px;}
  .lcpc-app .lcpc-flow-step > .lcpc-section-heading h3 {font-size:18px;}
  .lcpc-app .lcpc-flow-heading-hint {display:none;}
  .lcpc-app .lcpc-flow-summary {font-size:12px;}
  .lcpc-app .lcpc-flow-dock {display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;align-items:center;gap:8px;
    padding:10px max(13px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(13px,env(safe-area-inset-right));
    background:rgba(255,255,255,.98);border-top:1px solid #D8DFE2;box-shadow:0 -7px 19px rgba(94,95,97,.12);}
  .lcpc-app .lcpc-flow-dock-info{min-width:0;flex:1;font-size:12px;font-weight:850;color:#5E5F61;}
  .lcpc-app .lcpc-flow-dock button{font-size:12px;font-weight:800;min-height:40px;padding:7px 10px;border-radius:10px;white-space:nowrap;}
  .lcpc-app .lcpc-flow-dock-prev{background:#fff;border:1px solid #CDD5DA;color:#5E5F61;}
  .lcpc-app .lcpc-flow-dock-next{background:#02BCCD;border:1px solid #02BCCD;color:#10383D;}
}
@media(max-width:360px){
  .lcpc-app .lcpc-flow-nav-button{font-size:10px;}
  .lcpc-app .lcpc-flow-dock-info{font-size:11px;}
  .lcpc-app .lcpc-flow-dock button{padding:6px 8px;}
}
