.plan-page{min-height:65vh}.plan-page h1{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:1.5rem}.plan-account{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem;background:#f0f6f2;border-radius:14px;margin-bottom:1.5rem}.plan-account p{margin:0;overflow-wrap:anywhere}.plan-grid{display:grid;grid-template-columns:1fr;gap:24px}.plan-grid .login-entry{min-width:0;margin:0}.plan-grid label{display:block;margin:1rem 0 .35rem;font-weight:600}.plan-grid input{display:block;width:100%;border:1px solid #bccfc4;border-radius:8px;padding:.75rem;font:inherit;background:#fff}.plan-grid button{cursor:pointer}.plan-grid button:disabled{opacity:.6;cursor:wait}.plan-replace{background:#fff3d5;padding:1rem;border-radius:8px}.plan-error{color:#a02922}.plan-list{list-style:none;padding:0}.plan-list li{padding:1.2rem 0;border-bottom:1px solid #dbe6de}.plan-list p{margin:.3rem 0}.plan-grid .button{margin-top:.5rem}@media(max-width:760px){.plan-grid{grid-template-columns:1fr}.plan-account{align-items:flex-start;flex-direction:column}}

.plan-grid>.plan-account,.plan-grid>.lead{margin:0}.plan-grid>.login-entry:first-child{border:2px solid #b8cfbf;background:#f5f9f6}.plan-grid>.login-entry:first-child h2{margin-top:0}

.plan-grid select{display:block;width:100%;border:1px solid #bccfc4;border-radius:8px;padding:.75rem;font:inherit;background:#fff}.plan-list li>.button{margin-left:16px}

.plan-category+ .plan-category{margin-top:32px;padding-top:24px;border-top:2px solid #b8cfbf}.plan-category h3{font-size:22px;margin:16px 0 8px}.plan-category .plan-list{margin-top:0}

.plan-list .plan-edit{display:inline-flex;align-items:center;min-height:32px;margin:0 0 0 18px;padding:4px 6px;border:0;border-radius:4px;background:transparent;color:var(--green);font:inherit;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.plan-list .plan-edit:hover{background:#e5eee7}.plan-list .plan-edit:disabled{opacity:.5;cursor:wait}

/* Keep the personal calendar compact beside the main internal navigation. */
.member-dashboard{margin-bottom:24px}
.member-dashboard.has-calendar{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:24px;align-items:start}
.member-dashboard-main,.member-calendar{min-width:0}
.member-dashboard-main>.login-entry:first-child{margin-top:0}
.member-calendar .login-entry{margin:0;padding:20px;font-size:.9rem;line-height:1.55}
.member-calendar h2{font-size:1.3rem;line-height:1.25;margin-top:0}
.member-calendar p{margin:12px 0}
.member-calendar .button{font-size:.875rem;padding:10px 14px;max-width:100%;white-space:normal}
.member-calendar input{max-width:100%;min-width:0;font-size:.875rem}
.member-calendar ol{padding-left:22px}
.member-calendar details{margin-top:16px}
@media(max-width:900px){.member-dashboard.has-calendar{grid-template-columns:1fr}.member-calendar .login-entry{padding:20px}}

/* Compact heading and signed-in details on the internal landing page. */
.member-area h1{font-size:clamp(1.5rem,2.5vw,1.75rem);line-height:1.2;margin-bottom:.75rem}
.member-area .member-account{padding:16px;margin-top:15px;font-size:1rem;line-height:1.5}
.member-area .member-account p{margin:4px 0;overflow-wrap:anywhere}
.member-area .member-account p:first-child{margin-top:0}
.member-area .member-account p:last-child{margin-bottom:0}
.member-area .member-account a{display:inline-block;min-height:24px}

/* Clear return destinations at both ends of internal pages. */
.internal-back-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 20px}
.internal-back-nav.bottom{margin:28px 0 0;padding-top:18px;border-top:1px solid #dbe6de}
.internal-back-nav .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;font-size:1rem;line-height:1.4;white-space:normal;text-align:center}
.internal-back-nav a:focus-visible{outline:3px solid #1e7050;outline-offset:3px}

.member-area .member-password-change{padding:16px;margin:15px 0}.member-area .member-password-change h2{font-size:22px;line-height:1.3;margin:0 0 8px}.member-area .member-password-change p{font-size:15px;line-height:1.5;margin:8px 0 12px}.member-area .member-password-change .button{min-height:42px;padding:10px 16px;font-size:15px}

.cleaning-tablewrap{overflow-x:auto;margin-top:18px;border:1px solid #cbd9d1;border-radius:10px}.cleaning-month-table{border-collapse:collapse;width:100%;min-width:700px;font-size:15px;line-height:1.45}.cleaning-month-table caption{text-align:left;padding:14px 16px;background:#f1f6f3;font-size:19px;font-weight:600}.cleaning-month-table th,.cleaning-month-table td{padding:12px 14px;border:1px solid #d5e0da;text-align:left;vertical-align:top}.cleaning-month-table thead th{background:#07512f;color:#fff}.cleaning-month-table tbody th{font-weight:500;white-space:nowrap}.cleaning-month-table .cleaning-weekend>*{background:#edf2f6}.cleaning-month-table .cleaning-own>*{background:#e1f2df}.cleaning-people{list-style:none;padding:0;margin:0}.cleaning-people li+li{margin-top:5px}.cleaning-own-note,.cleaning-free{color:#236231}.cleaning-own-note{display:block;font-size:13px}.internal-app .editor-workspace .cleaning-month-table .button{margin:0;min-height:38px;padding:8px 12px;font-size:14px}@media(max-width:700px){.cleaning-month-table{min-width:640px}.cleaning-month-table th,.cleaning-month-table td{padding:10px}}
