:root{color:#18303a;background:radial-gradient(circle at 0 0,#fce2c6bf,#0000 30%),radial-gradient(circle at 100% 0,#b2dbd8b3,#0000 28%),linear-gradient(#f7f5ef 0%,#eef4f3 100%);font-family:Noto Sans TC,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none;transform:none}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:32px 0 48px}.auth-shell{place-items:center;min-height:100vh;display:grid}.hero{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.hero-badges{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.hero-badge{color:#4e6874;background:#ffffffc7;border:1px solid #d6e0e1e6;border-radius:999px;padding:8px 12px;font-size:.92rem}.hero-badge.strong{color:#143f4f;background:linear-gradient(135deg,#0f55671f,#f08f5529)}.hero h1,.auth-card h1{margin:6px 0 12px;font-size:clamp(2rem,3vw,3rem);line-height:1.15}.hero p,.auth-card p,.panel-head p,.field span,.score-row p,.toggle-row span,.user-chip span,.warning-box p,.auth-notes p,.helper-text,.record-card p{color:#5b6d76}.eyebrow,.mini-title{letter-spacing:.12em;text-transform:uppercase;color:#7a4b2b;font-size:.78rem;display:inline-block}.user-chip,.auth-card,.panel,.history-card,.stat-card,.report-card,.menu-card,.loading-banner,.empty-state,.record-card,.patient-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;border:1px solid #d6e0e1e6;box-shadow:0 18px 48px #1d374214}.auth-card{border-radius:28px;width:min(520px,100%);padding:32px}.google-button{min-height:44px;margin:24px 0 18px}.warning-box,.loading-banner,.empty-state{border-radius:18px;padding:16px 18px}.error-text{color:#ae2b1f;font-weight:700}.auth-notes{margin-top:16px;font-size:.94rem}.user-chip{border-radius:24px;align-items:center;gap:14px;min-width:280px;padding:14px 16px;display:flex}.user-chip img,.avatar-fallback{object-fit:cover;border-radius:50%;width:52px;height:52px}.avatar-fallback{color:#fff;background:linear-gradient(135deg,#0f5567,#f08f55);place-items:center;font-weight:700;display:grid}.step-bar{scrollbar-width:none;flex-wrap:nowrap;gap:12px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.step-bar::-webkit-scrollbar{display:none}.step,.ghost-button,.secondary-button,.primary-button,.edit-button,.seg{border:0;border-radius:999px;transition:transform .18s,box-shadow .18s,background .18s}.step,.ghost-button,.secondary-button,.edit-button,.seg{color:#244450;background:#ffffffd6;padding:12px 18px}.step.active,.primary-button,.seg.active{color:#fff;background:linear-gradient(135deg,#0f5567,#1c8a87);box-shadow:0 14px 32px #125b6b38}.primary-button,.edit-button,.secondary-button,.ghost-button{padding:12px 20px}.edit-button{color:#204a7a;background:linear-gradient(135deg,#e8f0fb,#bed5f5)}.secondary-button{color:#673920;background:linear-gradient(135deg,#f3e1d0,#efc8aa)}.step:hover,.ghost-button:hover,.secondary-button:hover,.edit-button:hover,.primary-button:hover,.menu-card:hover,.seg:hover,.patient-card:hover{transform:translateY(-1px)}.panel{border-radius:28px;padding:28px}.workspace-switcher{gap:10px;margin-bottom:18px;padding-bottom:2px;display:flex;overflow-x:auto}.workspace-tab{white-space:nowrap;color:#284a57;background:#e9f0f0e6;border:0;border-radius:999px;padding:11px 16px}.workspace-tab.active{color:#fff;background:linear-gradient(135deg,#0f5567,#1c8a87)}.workspace-tab.muted{color:#7a4b2b;background:#f3e1d0f2}.workspace-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.dashboard-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.workspace-summary-card{background:#f7faf9eb;border:1px solid #dce7e7;border-radius:22px;padding:18px}.workspace-summary-card span{color:#60727a}.workspace-summary-card strong{margin-top:8px;font-size:1.35rem;display:block}.workspace-summary-card.highlight{background:linear-gradient(#fff4ebf5,#fffbf7f5)}.panel-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.panel-head h2,.category-head h3{margin:0}.grid{gap:18px;display:grid}.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-layout{grid-template-columns:1.45fr .95fr;gap:18px;display:grid}.roster-dashboard-layout{grid-template-columns:minmax(320px,.9fr) minmax(0,1.3fr);align-items:start;gap:18px;display:grid}.report-layout,.report-grid,.menu-grid{gap:16px;display:grid}.report-layout{grid-template-columns:1.15fr .95fr}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-subsection,.category-block,.history-card,.record-card,.report-card,.toggle-row,.score-row{background:#fafcfce6;border:1px solid #dde7e8;border-radius:22px;padding:18px}.panel-subtitle{margin-bottom:8px;font-size:1.08rem;font-weight:700}.field{gap:8px;display:grid}.field-wide{grid-column:1/-1}.field input,.field select,.field textarea,.score-row select{color:#18303a;background:#ffffffe6;border:1px solid #d3dddf;border-radius:18px;width:100%;padding:14px 16px}.field textarea{resize:vertical}.date-grid{grid-template-columns:1.4fr 1fr 1fr;gap:10px;display:grid}.patient-list,.history-list,.record-list,.stack-list{gap:14px;display:grid}.patient-search-field{margin-top:14px;margin-bottom:14px}.patient-card{text-align:left;border-radius:20px;gap:10px;padding:16px;display:grid}.compact-patient-list{max-height:760px;padding-right:4px;overflow:auto}.patient-list-row{border:1px solid #dde7e8;width:100%}.patient-row-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.dashboard-list-meta{color:#60727a;margin-bottom:10px;font-size:.94rem}.patient-card.active{border-color:#14506159;box-shadow:0 14px 30px #0f55671f}.patient-card strong,.record-card strong,.toggle-row strong,.score-row strong{display:block}.patient-card span{color:#5b6d76}.patient-card-main{color:#154958;text-align:center;background:#f4f9f6f2;border:1px solid #d7e6e8;border-radius:16px;padding:12px 14px}.detail-header-card{background:linear-gradient(#fff4ebf5,#fffbf7f5);border:1px solid #e8d6c8;border-radius:22px;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex}.detail-header-card h3,.detail-header-card p{margin:0}.detail-header-card p{color:#5b6d76;margin-top:6px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.detail-item{background:#fafcfce6;border:1px solid #dde7e8;border-radius:18px;padding:14px 16px}.detail-item-wide{grid-column:1/-1}.detail-item span{color:#60727a;margin-bottom:6px;display:block}.detail-item strong{word-break:break-word;display:block}.dashboard-action-row,.roster-form-panel{margin-top:18px}.reminder-panel{margin-bottom:18px}.reminder-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.reminder-card{text-align:left;background:#ffffffe0;border:1px solid #dde7e8;border-radius:20px;gap:8px;padding:16px;display:grid}.reminder-card span{color:#5b6d76}.reminder-badge{color:#92400e;background:#fef3c7;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:700;display:inline-block}.reminder-badge.urgent{color:#b91c1c;background:#fee2e2}.reminder-badge.today{color:#92400e;background:#fde68a}.reminder-badge.week{color:#9a3412;background:#fed7aa}.reminder-badge.month{color:#1d4ed8;background:#dbeafe}.reminder-badge.later{color:#166534;background:#dcfce7}.reminder-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.menu-card{text-align:left;border:0;border-radius:24px;gap:8px;padding:22px;display:grid}.menu-card strong{font-size:1.05rem}.menu-card span,.category-head span,.summary-strip span,.stat-card span{color:#60727a}.menu-card.accent{color:#fff;background:linear-gradient(135deg,#0f5567f0,#f08f55f0)}.menu-card.accent span{color:#ffffffd1}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.summary-strip.single{grid-template-columns:1fr}.summary-strip div,.stat-card{background:#f7faf9eb;border:1px solid #dce7e7;border-radius:22px;padding:18px}.summary-strip strong,.stat-card strong{margin-top:6px;font-size:1.6rem;display:block}.toggle-row,.score-row,.history-top,.action-row,.category-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.segmented{background:#e9f0f0;border-radius:999px;padding:4px;display:inline-flex}.seg{min-width:64px}.score-row select{max-width:110px}.report-card.warm{background:linear-gradient(#fff4ebf5,#fffbf7f5)}.multiline{white-space:pre-line}.action-row{flex-wrap:wrap;margin-top:24px}.action-row.compact{margin-top:0}.inline-actions{align-items:center}.info-box{background:#f4f9f6eb;border:1px solid #d7e3de;border-radius:22px;margin-top:18px;padding:18px}.info-box strong{margin-bottom:8px;display:block}.compact-box,.top-gap{margin-top:18px}.quick-dock{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #d6e0e1f2;border-radius:24px;grid-template-columns:1.2fr repeat(3,auto);align-items:center;gap:10px;margin-top:18px;padding:12px;display:grid;position:sticky;bottom:12px;box-shadow:0 20px 42px #1d374224}.quick-dock-label{display:grid}.quick-dock-label span{color:#60727a;font-size:.86rem}.quick-dock-label strong{font-size:1rem}.discharged-badge{color:#b91c1c;background:#fee2e2;border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.closure-button{color:#fff;background:#7c3aed;border-color:#7c3aed}.closure-button:hover{background:#6d28d9}.reason-checkbox-group{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.checkbox-item{cursor:pointer;align-items:center;gap:8px;display:flex}.checkbox-item input[type=checkbox]{cursor:pointer;width:18px;height:18px}.checkbox-item span{font-size:.95rem}.top-gap{margin-top:20px}@media (width<=900px){.hero,.panel-head,.toggle-row,.score-row,.category-head,.history-top{flex-direction:column;align-items:stretch}.roster-layout,.roster-dashboard-layout,.workspace-summary-grid,.menu-grid,.two-up,.report-grid,.report-layout,.summary-strip{grid-template-columns:1fr}.user-chip{min-width:0}.quick-dock{grid-template-columns:1fr 1fr}.quick-dock-label{grid-column:1/-1}.dashboard-summary-grid,.detail-grid,.reminder-list{grid-template-columns:1fr}}@media (width<=640px){.app-shell{width:min(100% - 20px,1180px);padding:20px 0 32px}.panel,.auth-card{border-radius:22px;padding:20px}.step-bar{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f5efeb;border-radius:18px;padding:10px;position:sticky;top:8px}.hero{gap:18px}.hero h1,.auth-card h1{font-size:1.8rem}.workspace-switcher{margin-left:-2px;margin-right:-2px}.mobile-secondary{display:none}.patient-list{gap:12px}.dashboard-summary-grid{grid-template-columns:1fr}.patient-card{gap:8px}.step,.primary-button,.edit-button,.secondary-button,.ghost-button{justify-content:center;width:100%}.date-grid{grid-template-columns:1fr}.user-chip{flex-wrap:wrap}.quick-dock{grid-template-columns:1fr;bottom:8px}}
