:root{--ink:#183b3a;--muted:#6b7f7e;--teal:#0f766e;--teal-dark:#115e59;--mint:#e7f5f1;--line:#dbe9e6;--paper:#f7fbfa;--white:#fff;--gold:#d28b27;--shadow:0 12px 30px rgba(21,76,70,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;line-height:1.6}.topbar{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar-inner{max-width:1180px;margin:auto;height:72px;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand-mark{width:37px;height:37px;border-radius:12px;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:20px}.brand strong,.brand small{display:block}.brand strong{font-size:16px;letter-spacing:.08em}.brand small{font-size:11px;color:var(--muted)}.status-pill{font-size:12px;color:var(--teal-dark);background:var(--mint);border-radius:30px;padding:6px 12px}.status-dot{display:inline-block;width:7px;height:7px;background:#29a77b;border-radius:50%;margin-right:5px}.shell{max-width:1180px;margin:auto;padding:46px 28px 110px}.hero{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:10px 0 34px}.eyebrow{margin:0 0 8px;color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.18em}.hero h1{margin:0;font-size:clamp(31px,4vw,52px);line-height:1.28;letter-spacing:.02em}.hero h1 span{color:var(--teal)}.hero-copy{color:var(--muted);margin:15px 0 0;font-size:15px}.hero-badge{min-width:160px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px 18px;box-shadow:var(--shadow)}.hero-badge strong{display:block;color:var(--teal);font-size:34px;line-height:1}.hero-badge span{font-size:12px;color:var(--muted)}.search-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.search-box{display:flex;align-items:center;gap:10px;border:1px solid #c9ddda;border-radius:12px;padding:0 14px;height:48px}.search-box span{font-size:27px;color:var(--teal);line-height:1;transform:rotate(-20deg)}input,select{border:0;background:transparent;color:var(--ink);font:inherit;outline:0}input{width:100%;font-size:15px}.filter-row{display:flex;gap:8px;overflow:auto;padding:14px 0 4px}.filter-button{white-space:nowrap;border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:30px;padding:8px 14px;font:inherit;font-size:13px;cursor:pointer}.filter-button.active,.filter-button:hover{background:var(--teal);border-color:var(--teal);color:#fff}.sort-line{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;padding-top:11px;border-top:1px solid #edf3f1}.sort-line select{font-size:12px;color:var(--teal-dark);cursor:pointer}.trust-strip{display:flex;gap:10px;align-items:center;margin:22px 0 36px;padding:13px 16px;border-radius:12px;background:#edf8f4;color:#476765;font-size:12px}.trust-strip strong{color:var(--teal-dark)}.trust-icon{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#b8e5d5;color:var(--teal-dark);font-weight:bold}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.section-heading h2{margin:0;font-size:23px}.view-label{color:var(--muted);font-size:13px}.view-label b{color:var(--teal)}.caregiver-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.caregiver-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px;box-shadow:0 5px 18px rgba(21,76,70,.05);transition:transform .2s,box-shadow .2s}.caregiver-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card-head{display:flex;gap:12px;align-items:center}.avatar{width:57px;height:57px;border-radius:17px;display:grid;place-items:center;background:var(--mint);font-weight:800;font-size:21px;color:var(--teal-dark)}.card-name{margin:0;font-size:18px}.verified{font-size:11px;color:var(--teal);margin-top:2px}.star{color:var(--gold);font-size:14px;margin-right:3px}.rating{font-weight:800;margin-right:4px}.review-count{font-size:12px;color:var(--muted)}.location{color:var(--muted);font-size:12px;margin:12px 0}.tags{display:flex;gap:6px;flex-wrap:wrap;min-height:27px}.tag{font-size:11px;padding:4px 8px;border-radius:6px;background:#f0f6f4;color:#3d6864}.scores{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid #edf3f1;border-bottom:1px solid #edf3f1;margin:15px 0;padding:13px 0}.score{text-align:center;font-size:11px;color:var(--muted)}.score b{display:block;font-size:16px;color:var(--ink)}.card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.price{font-size:12px;color:var(--muted)}.price b{font-size:16px;color:var(--teal-dark)}.detail-button{border:0;border-radius:9px;background:var(--teal);color:#fff;font:inherit;font-size:12px;padding:9px 13px;cursor:pointer}.empty-state{text-align:center;color:var(--muted);padding:55px 0}.bottom-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:10px;background:rgba(255,255,255,.95);border-top:1px solid var(--line);padding:9px 18px env(safe-area-inset-bottom,9px);backdrop-filter:blur(10px)}.nav-item{color:var(--muted);text-decoration:none;text-align:center;font-size:11px;min-width:82px}.nav-item span{display:block;font-size:20px;line-height:1.1}.nav-item.active{color:var(--teal);font-weight:800}.dialog-backdrop{position:fixed;inset:0;z-index:30;background:rgba(12,45,42,.42);display:grid;place-items:center;padding:20px}.dialog{position:relative;width:min(520px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:27px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.close-button{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:28px;color:var(--muted);cursor:pointer}.dialog h2{margin:0 0 5px}.detail-summary{display:flex;gap:12px;align-items:center;margin:18px 0}.detail-list{padding-left:19px;color:var(--muted);font-size:14px}.detail-cta{width:100%;border:0;background:var(--teal);color:#fff;padding:13px;border-radius:10px;font:inherit;font-weight:800;margin-top:12px}@media(max-width:850px){.caregiver-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.topbar-inner{height:62px;padding:0 16px}.shell{padding:29px 16px 100px}.hero{align-items:start;padding-bottom:25px}.hero-badge{min-width:100px;padding:13px 10px}.hero-badge strong{font-size:27px}.hero h1{font-size:32px}.hero-copy{font-size:13px}.caregiver-grid{grid-template-columns:1fr;gap:12px}.section-heading h2{font-size:20px}.search-card{padding:13px}.filter-row{margin-right:-4px}.trust-strip{margin:17px 0 27px}.caregiver-card{padding:16px}}
:root{--blue:#2f6f8f;--orange:#c8752c}
.role-switcher{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px 18px;margin-bottom:18px;box-shadow:0 5px 18px rgba(21,76,70,.05)}.role-switcher .eyebrow{margin-bottom:2px}.role-switcher strong{font-size:14px}.role-buttons{display:flex;gap:7px;flex-wrap:wrap}.role-button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:9px;padding:8px 12px;font:inherit;font-size:12px;cursor:pointer}.role-button.active{background:var(--teal);border-color:var(--teal);color:#fff}.workflow-panel{background:#eaf5f2;border:1px solid #cfe8e2;border-radius:16px;padding:18px;margin-bottom:28px}.workflow-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.workflow-head h2{margin:0;font-size:20px}.workflow-head p{color:var(--muted);font-size:12px;margin:4px 0 0}.workflow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.workflow-step{background:#fff;border-radius:11px;padding:12px;border:1px solid #dcece8;min-height:95px}.workflow-step.current{border:2px solid var(--teal);padding:11px}.workflow-step.done{background:#f5fbf8}.step-number{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#d9eee8;color:var(--teal-dark);font-size:11px;font-weight:bold}.workflow-step.current .step-number{background:var(--teal);color:#fff}.workflow-step h3{font-size:13px;margin:8px 0 3px}.workflow-step p{font-size:11px;color:var(--muted);margin:0}.workflow-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.workflow-actions button{border:0;background:var(--teal);color:#fff;border-radius:8px;padding:9px 13px;font:inherit;font-size:12px;cursor:pointer}.workflow-actions button.secondary{background:#fff;color:var(--teal-dark);border:1px solid #b9d9d2}.status-label{display:inline-block;border-radius:20px;background:#fff3dc;color:#9a621e;padding:4px 9px;font-size:11px}.admin-alert{background:#fff6ed;border:1px solid #f0d5b4}.admin-alert .step-number{background:#f7dfc2;color:#91551a}@media(max-width:850px){.workflow-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.role-switcher{display:block}.role-buttons{margin-top:12px}.workflow-grid{grid-template-columns:1fr 1fr}.workflow-panel{padding:14px}.workflow-head h2{font-size:18px}}
:root{--blue:#2f6f8f;--orange:#c8752c}.top-actions{display:flex;align-items:center;gap:8px}.login-button{border:1px solid var(--teal);background:#fff;color:var(--teal-dark);border-radius:9px;padding:7px 13px;font:inherit;font-size:12px;cursor:pointer}.auth-dialog{max-width:410px}.auth-copy,.auth-note{color:var(--muted);font-size:13px}.social-button{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:10px;padding:13px;margin-top:10px;font:inherit;font-weight:700;cursor:pointer}.social-button span{font-weight:900;font-size:18px}.google-button{background:#f4f7f8;color:#183b3a}.apple-button{background:#101817;color:#fff}.auth-note{font-size:11px;text-align:center;margin:17px 0 0}@media(max-width:620px){.top-actions{gap:5px}.status-pill{padding:6px 8px}.login-button{padding:6px 10px}}
:root{--blue:#2f6f8f;--orange:#c8752c}.ops-panel{margin:0 0 30px}.ops-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 5px 18px rgba(21,76,70,.05)}.ops-card h2{font-size:19px;margin:0}.ops-card-header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:14px}.ops-card-header p{font-size:12px;color:var(--muted);margin:3px 0 0}.ops-table{width:100%;border-collapse:collapse;font-size:12px}.ops-table th,.ops-table td{text-align:left;padding:10px 8px;border-top:1px solid #edf3f1;vertical-align:middle}.ops-table th{color:var(--muted);font-weight:600}.ops-table td strong{display:block}.ops-table small{color:var(--muted)}.status-chip{display:inline-block;border-radius:20px;padding:4px 8px;font-size:11px;white-space:nowrap}.status-chip.pending{background:#fff3dc;color:#9a621e}.status-chip.verified{background:#e5f6ef;color:#16705b}.status-chip.danger{background:#ffebe7;color:#a54c3d}.table-action{border:1px solid #b8d9d2;border-radius:7px;background:#fff;color:var(--teal-dark);font:inherit;font-size:11px;padding:6px 8px;cursor:pointer}.table-action.primary{background:var(--teal);border-color:var(--teal);color:#fff}.case-list{display:grid;gap:10px}.case-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e4efed;border-radius:10px;padding:12px}.case-item h3{font-size:13px;margin:0 0 3px}.case-item p{font-size:11px;color:var(--muted);margin:0}.case-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.saved-button{border:1px solid var(--line);background:#fff;color:var(--teal);border-radius:8px;font:inherit;font-size:12px;padding:8px 10px;cursor:pointer}.saved-button.saved{background:#fff3dc;color:#a06a19;border-color:#efd4a0}.card-foot-actions{display:flex;gap:6px;align-items:center}@media(max-width:620px){.ops-card{padding:14px;overflow:auto}.ops-table{min-width:640px}.case-item{align-items:flex-start;flex-direction:column}.case-actions{justify-content:flex-start}.card-foot{align-items:flex-end}.card-foot-actions{flex-wrap:wrap;justify-content:flex-end}}
:root{--blue:#2f6f8f;--orange:#c8752c}.booking-form{display:grid;gap:11px;margin-top:16px}.booking-form label{font-size:12px;color:var(--muted);display:grid;gap:5px}.booking-form input,.booking-form select,.booking-form textarea{border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff}.booking-form textarea{min-height:70px;resize:vertical}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review-stars{display:flex;gap:7px}.review-stars input{display:none}.review-stars label{font-size:28px;color:#cbd9d6;cursor:pointer}.review-stars input:checked~label,.review-stars label:hover{color:var(--gold)}.review-form button{margin-top:4px}@media(max-width:620px){.booking-grid{grid-template-columns:1fr}}
