.admin-shell{width:min(80rem,calc(100% - var(--gutter) * 2));margin-inline:auto;padding-bottom:3rem}.admin-nav{display:flex;flex-wrap:wrap;gap:1.5rem;padding-block:1rem;border-bottom:1px solid var(--line)}.admin-nav a{display:inline-flex;align-items:center;min-height:2.75rem;text-decoration:underline}.admin-section{padding-block:2rem}.admin-heading{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1.5rem;margin-block:1rem 2rem}.admin-heading h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.15;max-width:28ch}.admin-heading p{margin-top:.75rem}.admin-filter{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.admin-filter select{padding:.6rem;border:1px solid var(--control-line);background:var(--surface);color:var(--ink)}.admin-note{padding:1rem 0;color:var(--muted)}.admin-import-list{display:grid;gap:1.5rem;margin-block:1.5rem}.admin-import-row{min-width:0;padding:1.25rem;border:1px solid var(--line);background:var(--surface);overflow-wrap:anywhere}.admin-import-row h2{font-size:1.4rem}.admin-import-row summary{min-height:2.75rem;display:flex;align-items:center;cursor:pointer;text-decoration:underline}.admin-import-select{display:flex;align-items:center;gap:.75rem;min-height:2.75rem;margin-top:1rem}.admin-import-select input{width:1.25rem;height:1.25rem}.admin-prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.admin-data{margin-bottom:1.5rem}.admin-table .admin-form{min-width:12rem;gap:.5rem}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;margin-block:1rem;text-align:left;font-size:.9375rem}.admin-table th,.admin-table td{padding:1rem .75rem;border-bottom:1px solid var(--line);vertical-align:top}.admin-table th{font-weight:600}.admin-table td span{display:block;max-width:45ch;margin-top:.35rem}.admin-detail-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:start}.admin-form{display:grid;gap:1.5rem;max-width:58rem;min-width:0}.admin-form fieldset{display:grid;gap:1rem;min-width:0;margin:0;padding:1.25rem;border:1px solid var(--line);background:var(--surface)}.admin-form legend{padding-inline:.4rem;font-weight:600}.admin-form label{display:grid;gap:.5rem;font-size:.9375rem}.admin-form input:not([type=hidden]),.admin-form select,.admin-form textarea{width:100%;min-width:0;padding:.75rem;border:1px solid var(--control-line);border-radius:3px;background:var(--canvas);color:var(--ink)}.admin-form textarea{resize:vertical}.admin-form .admin-checkbox{display:flex;align-items:center;gap:.75rem;min-height:2.75rem}.admin-form .admin-checkbox input{width:1.25rem;height:1.25rem;min-height:0}.admin-form>.button{justify-self:start;min-width:12rem}.admin-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.admin-notice{padding:1rem 1.25rem;border:2px solid var(--accent);background:var(--soft);overflow-wrap:anywhere}.admin-notice a{text-decoration:underline}.admin-field-error{font-weight:600}.admin-side{display:grid;gap:1.5rem;min-width:0;overflow-wrap:anywhere}.admin-side section,.admin-side details{border-top:1px solid var(--line);padding-top:1.25rem}.admin-side h2{font-size:1.75rem;margin-bottom:1rem}.admin-side ul,.admin-side ol{padding-left:1.25rem;margin-block:1rem}.admin-side li+li{margin-top:.5rem}.admin-side summary{cursor:pointer;min-height:2.75rem;font-weight:600}.admin-data{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem 1rem;font-size:.875rem}.admin-data dt{color:var(--muted)}@media(min-width:42rem){.admin-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.admin-detail-grid{grid-template-columns:minmax(0,1.6fr) minmax(17rem,1fr);gap:2.5rem}}.admin-plan-editor{display:grid;gap:1.5rem;max-width:68rem;min-width:0}.admin-plan-editor>fieldset{margin:0;padding:1.25rem;border:1px solid var(--line);width:100%}.admin-plan-canvas{width:100%;min-width:0;border:1px solid var(--line);background:var(--surface)}.admin-plan-canvas svg{display:block;width:100%;height:auto;touch-action:pan-y pinch-zoom}.admin-plan-actions{display:flex;flex-wrap:wrap;gap:.75rem}.admin-plan-rooms{padding-left:1.5rem}.admin-plan-rooms li{padding-block:.75rem;overflow-wrap:anywhere}.admin-plan-rooms button{margin:.5rem}.photo-manager{display:grid;gap:1.25rem;max-width:70rem}.photo-drop{padding:1.5rem;border:2px dashed var(--control-line);background:var(--surface)}.photo-drop label{display:grid;gap:1rem;font-weight:600}.photo-drop input{width:100%;min-height:2.75rem}.photo-drop p{margin-top:.75rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:1rem;list-style:none;padding:0;margin:0}.photo-card{min-width:0;border:1px solid var(--line);padding:.75rem;background:var(--surface)}.photo-card img{display:block;width:100%;height:12rem;object-fit:contain;background:var(--canvas)}.photo-card p{margin-block:.75rem}.photo-controls{display:flex;flex-wrap:wrap;gap:.5rem}.photo-controls button,.photo-card>button{min-height:2.75rem;padding:.5rem .75rem;border:1px solid var(--control-line)}.photo-status{min-height:1.5rem;overflow-wrap:anywhere}.photo-approval{display:flex;gap:.75rem;align-items:flex-start;max-width:65ch}.photo-approval input{width:1.25rem;height:1.25rem;flex:none;margin-top:.2rem}.photo-manager details>summary{cursor:pointer;min-height:2.75rem}.photo-manager details .photo-grid{margin-top:1rem}.photo-manager>.button{justify-self:start}.photo-manager button:disabled{opacity:.55;cursor:not-allowed}.visit-rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1.5rem;margin-block:1.5rem 3rem}.visit-rule-form{min-width:0}.visit-rule-form fieldset{display:grid;gap:1rem;padding:1.25rem;border:1px solid var(--line)}.visit-rule-form legend{padding-inline:.5rem;font-size:1.25rem}.visit-rule-form label{display:grid;gap:.3rem}.visit-rule-form input:not([type=checkbox]){width:100%;min-width:0;padding:.5rem;border:1px solid var(--control-line);background:var(--surface);color:var(--ink)}.visit-rule-form .visit-consent{display:flex;align-items:center;gap:.75rem}.visit-rule-form p{min-height:1.65em}.visit-admin-table{max-width:100%;overflow-x:auto;margin-block:1.25rem 2.5rem}.visit-admin-table table{min-width:42rem;width:100%;border-collapse:collapse}.visit-admin-table :is(th,td){text-align:left;vertical-align:top;padding:1rem;border-bottom:1px solid var(--line)}.visit-admin-table small{display:block;overflow-wrap:anywhere}.visit-admin-table td p{max-width:25ch;white-space:pre-wrap}.finance-page{max-width:74rem;margin-inline:auto}.finance-heading{max-width:51rem;margin-bottom:2.5rem}.finance-heading h1{font-family:var(--display-font);font-weight:400;font-size:clamp(2.3rem,5vw,4.7rem);line-height:1.06;margin:.75rem 0 1rem}.finance-heading p{max-width:43rem;color:var(--muted)}.finance-kicker{text-transform:uppercase;letter-spacing:.11em;font-size:.75rem}.finance-tool-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.finance-tool-card{padding:2rem 1rem 2rem 0;border-bottom:1px solid var(--line)}.finance-tool-card h2{font-family:var(--display-font);font-weight:400;font-size:2rem}.finance-tool-card p{color:var(--muted);max-width:29rem}.finance-tool-card a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:.25rem}.finance-nav{display:flex;gap:.5rem 1rem;flex-wrap:wrap;margin-bottom:2rem}.finance-nav a{min-height:44px;display:inline-flex;align-items:center;font-size:.8125rem;text-decoration:underline}.finance-form{max-width:55rem}.finance-grid,.finance-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem 1.5rem}.finance-field{display:flex;flex-direction:column;gap:.4rem;min-width:0;margin-bottom:1.2rem}.finance-field label{font-size:.875rem;font-weight:600}.finance-field input,.finance-field select,.finance-config-textarea{width:100%;min-width:0;min-height:48px;padding:.75rem .85rem;border:1px solid var(--control-line);border-radius:3px;background:var(--canvas);color:var(--ink);font:inherit}.finance-field small,.finance-note,.finance-privacy{font-size:.8125rem;color:var(--muted);line-height:1.7}.finance-note{padding:1rem 0;max-width:55rem}.finance-note a{text-decoration:underline;overflow-wrap:anywhere}.finance-cost-rows fieldset{border:0;border-top:1px solid var(--line);padding:1rem 0 0;margin:0 0 .5rem;min-width:0}.finance-cost-rows legend{padding:0 .6rem 0 0;font-family:var(--display-font);font-size:1.5rem}.finance-submit{margin:1rem 0 1.5rem;min-height:48px}.finance-result{border-top:3px solid var(--accent);padding:1.5rem;background:var(--soft);margin-top:1rem;overflow-wrap:anywhere}.finance-result h2{font-family:var(--display-font);font-weight:400;font-size:2rem;margin-bottom:1.5rem}.finance-result-label{font-size:.875rem}.finance-amount{font-family:var(--display-font);font-size:clamp(2rem,6vw,3.4rem);line-height:1.2;margin:.5rem 0 1.5rem}.finance-result dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.finance-result dt{color:var(--muted)}.finance-result dd{text-align:right;font-variant-numeric:tabular-nums}.finance-error{border-left:3px solid var(--accent);padding:.75rem 1rem;background:var(--soft)}.finance-privacy{max-width:55rem;margin-top:2rem}.finance-config-textarea{min-height:10rem;resize:vertical}.finance-admin fieldset{border:1px solid var(--line);padding:1.5rem;margin:1.5rem 0;min-width:0}.finance-admin legend{padding:0 .5rem;font-family:var(--display-font);font-size:1.5rem}.finance-admin .finance-form{max-width:60rem}.finance-admin button{min-height:48px}.finance-admin label{display:block;margin-bottom:.4rem}.finance-admin input,.finance-admin select{min-height:48px;font:inherit}.finance-page :focus-visible{outline:3px solid var(--focus);outline-offset:3px}.finance-index-note{padding-top:2rem;max-width:45rem;color:var(--muted)}@media(max-width:600px){.finance-grid,.finance-row,.finance-tool-cards{grid-template-columns:minmax(0,1fr)}.finance-result{padding:1rem}.finance-result dl>div{flex-direction:column;gap:.25rem}.finance-result dd{text-align:left}.finance-tool-card{padding-right:0}.finance-heading{margin-bottom:1.5rem}.finance-admin fieldset{padding:1rem}}
