:root{color:#1f2824;font-synthesis:none;text-rendering:optimizelegibility;--surface:#fbfcfa;--surface-muted:#f1f3f0;--ink:#1f2824;--muted:#68716c;--line:#d9ded9;--green:#246248;--green-deep:#183f30;--green-soft:#e6f0e9;--coral:#d85e43;--coral-soft:#fff0eb;--amber:#b46d17;--amber-soft:#fff6e7;--panel-width:438px;background:#d8dedb;font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box;letter-spacing:0}html,body,#root{width:100%;min-width:320px;height:100%;margin:0}body{overflow:hidden}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #2876a1}button{-webkit-tap-highlight-color:transparent}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.institution-app{width:100%;height:100%;position:relative;overflow:hidden}.institution-map-stage,.map-canvas{position:absolute;inset:0}.directory-panel{z-index:20;width:var(--panel-width);color:var(--ink);background:var(--surface);border-right:1px solid #cbd2cc;flex-direction:column;display:flex;position:absolute;inset:0 auto 0 0;box-shadow:8px 0 28px #1a231e26}.directory-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:82px;padding:16px 20px 13px;display:flex}.directory-header h1{margin:2px 0 0;font-size:23px;font-weight:720;line-height:1.2}.directory-kicker{color:var(--muted);font-size:11px;font-weight:650;display:block}.dataset-total{color:#fff;background:var(--green-deep);border-radius:5px;place-items:center;min-width:54px;height:36px;padding:0 9px;font-size:15px;font-weight:750;display:grid}.summary-strip{min-height:38px;color:var(--muted);background:var(--surface-muted);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;font-size:12px;display:grid}.summary-strip>span{justify-content:center;align-items:center;gap:6px;height:100%;display:flex}.summary-strip>span+span{border-left:1px solid var(--line)}.summary-strip>span:first-child svg{color:var(--green)}.summary-strip>span:last-child svg{color:var(--amber)}.summary-strip strong{color:var(--ink)}.directory-controls{border-bottom:1px solid var(--line);gap:10px;padding:14px 16px;display:grid}.directory-search{background:#fff;border:1px solid #bfc8c1;border-radius:6px;grid-template-columns:22px minmax(0,1fr) 32px;align-items:center;min-height:46px;padding:0 7px 0 13px;display:grid}.directory-search:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #2462481a}.directory-search>svg{color:var(--green)}.directory-search input{min-width:0;height:44px;color:var(--ink);background:0 0;border:0;outline:0;padding:0 9px;font-size:14px}.directory-search input::placeholder{color:#8a928d}.directory-search button{color:#758079;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:30px;height:30px;padding:0;display:grid}.directory-search button:hover{color:var(--ink);background:var(--surface-muted)}.category-tabs{background:#e9ece8;border-radius:6px;grid-template-columns:repeat(5,1fr);height:36px;padding:3px;display:grid}.category-tabs button{color:#65706a;cursor:pointer;background:0 0;border:0;border-radius:4px;font-size:12px;font-weight:650}.category-tabs button:hover:not(.is-active){color:var(--ink)}.category-tabs button.is-active{color:var(--green-deep);background:#fff;box-shadow:0 1px 3px #1a231e1f}.select-filters{grid-template-columns:1fr 1fr;gap:8px;display:grid}.select-filters label{min-width:0}.select-filters select{color:#3d4742;cursor:pointer;background:#fff;border:1px solid #ccd2cd;border-radius:5px;width:100%;height:36px;padding:0 28px 0 10px;font-size:12px}.results-heading{min-height:42px;color:var(--muted);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;padding:0 16px;font-size:12px;display:flex}.results-heading strong{color:var(--ink)}.results-breakdown{color:#7b837e}.institution-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b4bcb6 transparent;flex:auto;min-height:0;overflow-y:auto}.institution-row{width:100%;min-height:136px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e2e6e2;grid-template-columns:28px minmax(0,1fr);gap:9px;padding:13px 16px;display:grid}.institution-row:hover{background:#f4f6f3}.institution-row.is-selected{background:var(--green-soft);box-shadow:inset 3px 0 0 var(--green)}.status-mark{border-radius:50% 50% 50% 4px;place-items:center;width:26px;height:26px;margin-top:18px;display:grid;transform:rotate(-45deg)}.status-mark svg{transform:rotate(45deg)}.status-mark--confirmed{color:#fff;background:var(--green)}.status-mark--unconfirmed{color:#85500d;background:#f7d699}.institution-copy{align-content:start;gap:4px;min-width:0;display:grid}.institution-meta{gap:5px;min-width:0;display:flex;overflow:hidden}.institution-meta>span{color:#607069;text-overflow:ellipsis;white-space:nowrap;background:#edf0ed;border-radius:3px;max-width:120px;padding:2px 5px;font-size:9px;font-weight:650;overflow:hidden}.institution-copy>strong,.source-address,.match-note{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.institution-copy>strong{font-size:14px;line-height:1.35}.source-address{color:var(--muted);cursor:help;font-size:11px}.source-phone{color:#46524c;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;align-items:flex-start;gap:4px;min-width:0;font-size:11px;line-height:1.35;display:flex}.source-phone svg{color:var(--green);flex:none;margin-top:2px}.source-phone--empty,.source-phone--empty svg{color:#8b938e}.institution-facts{color:#46524c;font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;font-size:10px;line-height:1.35;display:grid}.institution-facts>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.institution-facts .is-missing{color:#8b938e}.match-note{font-size:10px}.match-note--confirmed{color:#39725a}.match-note--unconfirmed{color:#9b5d13}.load-more-button{width:calc(100% - 32px);height:40px;color:var(--green-deep);background:var(--green-soft);cursor:pointer;border:1px solid #bad1c1;border-radius:5px;margin:12px 16px 16px;font-size:12px;font-weight:700;display:block}.load-more-button:hover{background:#dcebe1}.directory-empty{color:#77807b;text-align:center;align-content:center;justify-items:center;gap:9px;min-height:190px;padding:24px;display:grid}.data-load-state{min-height:190px;color:var(--green);text-align:center;align-content:center;justify-items:center;gap:8px;padding:24px;display:grid}.data-load-state strong{color:#4a534e;font-size:13px}.data-load-state span{max-width:300px;color:var(--muted);font-size:11px}.data-load-state--error{color:#9a4f38}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.directory-empty strong{color:#4a534e;font-size:13px}.directory-empty button{color:var(--green);cursor:pointer;background:0 0;border:1px solid #b9c9bf;border-radius:4px;padding:6px 10px;font-size:11px}.institution-marker{cursor:pointer;border:2px solid #fff;border-radius:50%;width:14px;height:14px;padding:0;box-shadow:0 2px 6px #1c252047}.institution-marker--childcare,.legend-dot--childcare,.selected-map-marker__pin--childcare{background:var(--green)}.institution-marker--kindergarten,.legend-dot--kindergarten,.selected-map-marker__pin--kindergarten{background:var(--coral)}.institution-marker--nursery,.legend-dot--nursery,.selected-map-marker__pin--nursery{background:#2876a1}.institution-marker--early-education,.legend-dot--early-education,.selected-map-marker__pin--early-education{background:#84577a}.institution-marker--unconfirmed,.legend-dot--unconfirmed,.selected-map-marker__pin--unconfirmed{background:#d99a3e}.institution-marker--unconfirmed{border-color:#fff8e8;box-shadow:0 0 0 2px #814d0d52,0 2px 6px #1c25203d}.selected-map-marker{width:min(292px,100vw - 32px);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex}.selected-map-card{background:#fffffff7;border:1px solid #2d3a3333;border-radius:6px;gap:6px;width:100%;padding:12px 13px;display:grid;box-shadow:0 8px 24px #18221c3d}.selected-map-card__heading{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.selected-map-card__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;line-height:1.35;overflow:hidden}.selected-map-card__status{border-radius:3px;flex:none;padding:2px 5px;font-size:9px;font-weight:700}.selected-map-card__status--confirmed{color:var(--green-deep);background:var(--green-soft)}.selected-map-card__status--unconfirmed{color:#85500d;background:#f7d699}.selected-map-card__meta,.selected-map-card__address,.selected-map-card__facts{min-width:0;color:var(--muted);font-size:10px;line-height:1.4;display:block}.selected-map-card__meta{color:#53615a;font-weight:650}.selected-map-card__address{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.selected-map-card__facts{color:#38453f;border-top:1px solid #e3e7e3;grid-template-columns:1fr 1fr;gap:3px 8px;padding-top:6px;display:grid}.selected-map-card__facts>span:first-child{overflow-wrap:anywhere;grid-column:1/-1}.selected-map-card__reviews{color:var(--green);text-align:right;border-top:1px solid #e3e7e3;padding-top:7px;font-size:11px;font-weight:750;display:block}.review-dialog-backdrop{z-index:1000;background:#12191585;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.review-dialog{background:var(--surface);border:1px solid #cbd2cc;border-radius:7px;flex-direction:column;width:min(720px,100%);max-height:min(820px,100vh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 64px #0e161152}.review-dialog__header{color:#fff;background:var(--green-deep);justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 20px;display:flex}.review-dialog__header span{opacity:.72;font-size:11px}.review-dialog__header h2{margin:3px 0 0;font-size:19px;line-height:1.35}.icon-button{width:34px;height:34px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;padding:0;display:grid}.icon-button:hover{background:#ffffff1f}.review-dialog__body{grid-template-columns:118px minmax(250px,.9fr) minmax(280px,1.1fr);min-height:0;display:grid;overflow:auto}.review-summary{color:var(--muted);border-right:1px solid var(--line);background:#edf2ee;flex-direction:column;align-items:center;padding:25px 12px;display:flex}.review-summary strong{color:var(--green-deep);font-size:34px;line-height:1}.review-summary span{margin-top:8px;font-size:11px}.review-form{border-right:1px solid var(--line);flex-direction:column;gap:12px;padding:22px 18px;display:flex}.review-form__heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.review-form__heading>strong{font-size:14px}.rating-input{display:flex}.rating-input button{color:#a7aca8;cursor:pointer;background:0 0;border:0;place-items:center;width:27px;height:28px;padding:0;display:grid}.rating-input button.is-active{color:#cc7c20}.review-form label{color:#4f5b55;gap:5px;font-size:11px;font-weight:700;display:grid}.review-form input,.review-form textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cfd6d0;border-radius:4px;padding:9px 10px}.review-form textarea{resize:vertical;min-height:118px}.review-form label small{color:var(--muted);text-align:right;font-weight:500}.review-submit{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;gap:7px;min-height:39px;font-weight:700;display:flex}.review-submit:disabled{cursor:wait;opacity:.65}.review-form__message{color:var(--green-deep);text-align:center;margin:0;font-size:12px}.review-list{min-height:280px;padding:8px 16px 16px;overflow:auto}.review-item{border-bottom:1px solid var(--line);padding:14px 0}.review-item header{align-items:center;gap:7px;font-size:12px;display:flex}.review-item header strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-item header time{color:var(--muted);margin-left:auto;font-size:10px}.review-item__rating{color:#a85f12;align-items:center;gap:2px;font-weight:750;display:flex}.review-item p{color:#3f4944;overflow-wrap:anywhere;white-space:pre-wrap;margin:8px 0;font-size:13px;line-height:1.65}.review-report-button,.review-report-actions button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:3px 0;font-size:10px;display:inline-flex}.review-report-actions{align-items:center;gap:8px;display:flex}.review-report-actions select{border:1px solid var(--line);min-width:0;height:30px;font-size:11px}.review-state{min-height:160px;color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.review-state--error{color:#894638}.review-state button{color:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.review-admin{width:100%;height:100%;color:var(--ink);background:#edf1ee;overflow:auto}.review-admin__header,.review-admin__controls,.review-admin__list,.review-admin__message,.review-admin__pagination{width:min(980px,100% - 32px);margin-inline:auto}.review-admin__header{justify-content:space-between;align-items:center;padding:28px 0 20px;display:flex}.review-admin__header span{color:var(--muted);font-size:11px}.review-admin__header h1{margin:3px 0 0;font-size:24px}.review-admin__header a{color:var(--green);font-size:13px;font-weight:700}.review-admin__controls{background:var(--surface);border:1px solid var(--line);border-radius:6px;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr) 88px;gap:10px;padding:14px;display:grid}.review-admin__controls label{border:1px solid var(--line);background:#fff;border-radius:4px;align-items:center;gap:8px;padding:0 10px;display:flex}.review-admin__controls input{border:0;outline:0;width:100%;height:40px}.review-admin__controls>button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:4px}.review-admin__message{color:var(--muted);font-size:13px}.review-admin__list{padding:12px 0 40px}.review-admin__list article{background:var(--surface);border-bottom:1px solid var(--line);padding:16px 18px}.review-admin__list article:first-child{border-radius:6px 6px 0 0}.review-admin__list article:last-child{border-radius:0 0 6px 6px}.review-admin__list article.is-deleted{opacity:.55}.review-admin__list header,.review-admin__list footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-admin__list header span,.review-admin__list footer{color:var(--muted);font-size:11px}.review-admin__list p{line-height:1.6}.review-admin__list footer button{color:#a14635;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;display:inline-flex}.review-admin__pagination{color:var(--muted);justify-content:space-between;align-items:center;padding:0 0 32px;font-size:12px;display:flex}.review-admin__pagination>div{gap:6px;display:flex}.review-admin__pagination button{width:34px;height:34px;color:var(--green-deep);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:4px;place-items:center;display:grid}.review-admin__pagination button:disabled{color:#aab1ad;cursor:not-allowed;background:#f1f3f1}.selected-map-marker__pin{border:4px solid #fff;border-radius:50% 50% 50% 4px;flex:none;width:24px;height:24px;margin-top:7px;transform:rotate(-45deg);box-shadow:0 3px 8px #18221c47}.data-notice{z-index:30;top:18px;right:0;left:var(--panel-width);width:336px;max-width:calc(100% - var(--panel-width) - 36px);color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fbfcfaf7;border:1px solid #32423938;border-radius:6px;margin-inline:auto;position:absolute;overflow:hidden;box-shadow:0 8px 28px #18221c2e}.data-notice__trigger{width:100%;min-height:46px;color:var(--green-deep);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:22px minmax(0,1fr) 20px;align-items:center;gap:8px;padding:0 13px;display:grid}.data-notice__trigger:hover{background:var(--green-soft)}.data-notice__trigger>span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:720;overflow:hidden}.data-notice__trigger>svg:last-child{color:#68766e}.data-notice.is-open{max-height:calc(100dvh - 36px)}.data-notice__content{overscroll-behavior:contain;border-top:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#b4bcb6 transparent;max-height:calc(100dvh - 82px);overflow-y:auto}.data-notice__section{border-bottom:1px solid var(--line);gap:9px;padding:15px 16px;display:grid}.data-notice__section--last{border-bottom:0}.data-notice__section-title,.data-notice__section-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.data-notice__section-title{color:var(--green);justify-content:flex-start}.data-notice h2{color:var(--ink);margin:0;font-size:13px;font-weight:750;line-height:1.35}.data-notice__section-heading>span{color:var(--coral);font-size:11px;font-weight:700}.data-notice p{color:#46524c;margin:0;font-size:11px;line-height:1.65}.data-notice p.data-notice__muted{color:#737c77}.payment-tabs{background:#e9ece8;border-radius:5px;grid-template-columns:1fr 1fr;height:34px;padding:3px;display:grid}.payment-tabs button{color:#65706a;cursor:pointer;background:0 0;border:0;border-radius:3px;font-size:11px;font-weight:700}.payment-tabs button.is-active{color:var(--green-deep);background:#fff;box-shadow:0 1px 3px #1a231e1f}.support-code-image{object-fit:contain;background:#fff;border:1px solid #e0e4e1;border-radius:4px;width:min(100%,240px);height:auto;max-height:332px;margin:0 auto;display:block}.data-notice__contacts{gap:5px;display:grid}.data-notice__contact{min-width:0;min-height:30px;color:var(--green-deep);grid-template-columns:18px 34px minmax(0,1fr) 28px;align-items:center;gap:6px;font-size:11px;text-decoration:none;display:grid}.data-notice__contact>svg{color:var(--green)}.data-notice__contact>span{color:#6e7872}.data-notice__contact>strong{overflow-wrap:anywhere;min-width:0;font-weight:700}.data-notice__contact:is(a):hover strong{text-underline-offset:2px;text-decoration:underline}.data-notice__contact>button{color:#66716b;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:28px;height:28px;padding:0;display:grid}.data-notice__contact>button:hover{color:var(--green-deep);background:var(--green-soft)}.data-notice__contact>button.is-copied{color:var(--green)}.data-notice__contact:is(a):after{content:"";width:28px}.map-legend{z-index:12;color:#46504b;background:#fffffff0;border:1px solid #3f4b442e;border-radius:5px;align-items:center;gap:13px;min-height:36px;padding:0 12px;font-size:11px;display:flex;position:absolute;bottom:20px;right:20px;box-shadow:0 5px 18px #1d262124}.map-legend span{align-items:center;gap:5px;display:flex}.legend-dot{border-radius:50%;width:9px;height:9px}.institution-map-error{z-index:10;padding:24px 24px 24px calc(var(--panel-width) + 24px);color:#713f34;text-align:center;background:#f2eee7;align-content:center;justify-items:center;gap:8px;display:grid;position:absolute;inset:0}.institution-map-error span{color:#7c6c66;max-width:380px;font-size:13px}.map-connection-state{z-index:25;color:#3d4742;background:#fffffff2;border:1px solid #d4dad5;border-radius:4px;padding:8px 11px;font-size:11px;position:absolute;top:18px;right:18px;box-shadow:0 5px 18px #1d262121}.map-connection-state--error{color:#803f31;background:#fff6f2;border-color:#ebc9bf}@media (width<=720px){:root{--panel-width:100%}.directory-panel{border-top:1px solid #c7cec8;border-right:0;width:100%;inset:40vh 0 0;box-shadow:0 -7px 24px #1a231e29}.directory-header{min-height:62px;padding:10px 14px 8px}.directory-header h1{font-size:19px}.dataset-total{min-width:48px;height:32px;font-size:13px}.summary-strip{min-height:34px}.directory-controls{gap:8px;padding:10px 12px}.directory-search{min-height:42px}.directory-search input{height:40px}.category-tabs,.select-filters select{height:34px}.results-heading{min-height:38px;padding:0 12px}.institution-row{min-height:130px;padding:11px 12px}.map-legend{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 24px);padding-block:7px;top:66px;bottom:auto;right:12px}.map-legend--selection-active{display:none}.institution-map-error{padding:20px 20px 60vh}.map-connection-state{top:110px;right:12px}.data-notice{width:min(366px,100% - 24px);max-width:none;margin-inline:auto;top:12px;left:12px;right:12px}.data-notice.is-open{max-height:calc(100dvh - 24px)}.data-notice__content{max-height:calc(100dvh - 70px)}.review-dialog-backdrop{align-items:end;padding:0}.review-dialog{border-radius:7px 7px 0 0;width:100%;max-height:92dvh}.review-dialog__body{display:block}.review-summary{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:baseline;gap:10px;padding:13px 16px}.review-summary strong{font-size:26px}.review-summary span{margin-top:0}.review-form{border-right:0;border-bottom:1px solid var(--line)}.review-list{overflow:visible}.review-admin__controls{grid-template-columns:1fr}.review-admin__controls>button{min-height:40px}}@media (width<=420px){.results-breakdown{display:none}.institution-meta>span{max-width:105px}.map-legend{gap:9px;padding:0 9px}}@media (height<=700px) and (width<=720px){.directory-panel{inset:34vh 0 0}.directory-kicker,.summary-strip{display:none}}
