:root{font:16px/1.5 system-ui,sans-serif;color:#2e3934;background:#f8f5ef}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1180px;margin:auto;padding:24px}header{border-bottom:1px solid #d4ddd4}h1,h2,h3,p{margin-top:0}.eyebrow{letter-spacing:.16em;color:#526d61;font-size:.8rem}h1{font-family:Georgia,serif;font-size:2.4rem}button,.button{display:inline-block;font:inherit;border:1px solid #56745f;border-radius:9px;background:#405f50;color:white;padding:11px 16px;cursor:pointer;text-decoration:none;min-height:44px}button:disabled{opacity:.6;cursor:wait}a{color:#365c48}input,textarea,select{font:inherit;width:100%;padding:10px;border:1px solid #a6b5aa;border-radius:7px;background:white;min-width:0}label{display:block;margin:12px 0 6px;font-weight:600}small{display:block;color:#526158}fieldset{margin:20px 0;padding:16px;border:1px solid #bbc8bd;border-radius:10px}legend{font-weight:700}.actions,.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:18px 0}.actions p,.actions small{flex-basis:100%;margin:0}.filters label{flex:1 1 170px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px}.card{background:white;border:1px solid #d6dfd6;border-radius:14px;padding:15px;overflow-wrap:anywhere}.card img{width:100%;height:190px;object-fit:contain;background:#f5f1ec;border-radius:8px}.badge{display:inline-block;font-size:.8rem;background:#eaf0e9;border-radius:6px;padding:3px 7px;margin:3px 3px 8px 0}.form-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:30px}aside img{width:100%;max-height:400px;object-fit:contain;background:#ede8de}aside{min-width:0}.toggles{display:flex;flex-wrap:wrap;gap:20px}.toggles label{display:flex;gap:8px;align-items:center;min-height:44px}.toggles input{width:19px;height:19px}.service-row{display:flex;gap:8px;margin:8px 0}.service-row input{flex:1;min-width:0}#message:not(:empty){padding:14px;background:#e3eee4;border:1px solid #739376;border-radius:9px;overflow-wrap:anywhere}#form-error:not(:empty),#message.error{padding:14px;background:#fff0e6;border:1px solid #b45b2a;border-radius:9px;color:#7c381d}details{margin:20px 0}footer{color:#56645c}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ae7935;outline-offset:3px}[hidden]{display:none!important}@media(max-width:780px){header,main,footer{padding:16px}.form-layout{grid-template-columns:1fr}aside img{max-height:260px}.actions button,.actions .button{flex:1 1 200px;text-align:center}.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}h1{font-size:2rem}.filters label{flex-basis:140px}}

/* PF-1 isolated service catalog; original look card/thumbnail styling unchanged. */
.manager-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.manager-nav button{background:transparent;color:#405f50}.manager-nav button[aria-pressed="true"]{background:#405f50;color:white}.catalog-heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.catalog-heading h2{margin:0}.catalog-boundary{margin:12px 0 20px;max-width:860px}.catalog-empty{border:1px solid #bbc8bd;background:#edf2eb;border-radius:12px;padding:24px;max-width:820px}.catalog-table{width:100%;border-collapse:collapse;background:white;border-radius:10px;overflow:hidden}.catalog-table th,.catalog-table td{text-align:left;padding:13px 12px;border-bottom:1px solid #dce4dd;vertical-align:top;overflow-wrap:anywhere}.catalog-table th{font-size:.85rem;background:#eaf0e9}.catalog-table td:first-child{max-width:390px}.catalog-table small{font-size:.78rem}.catalog-table .catalog-money{white-space:nowrap}.catalog-table button{padding:7px 15px;min-height:40px}.catalog-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}#catalog-editor{max-width:860px;padding:22px;border:1px solid #bbc8bd;border-radius:12px;background:#fcfbf8}#catalog-message:not(:empty){padding:14px;background:#e3eee4;border:1px solid #739376;border-radius:9px;margin-bottom:16px}#catalog-form-error:not(:empty),#catalog-message.error{padding:14px;background:#fff0e6;border:1px solid #b45b2a;border-radius:9px;color:#7c381d}.catalog-empty-result{padding:24px;border:1px dashed #bbc8bd;border-radius:10px}.catalog-source{font-size:.8rem;color:#526158}
@media(max-width:720px){.catalog-form-grid{grid-template-columns:1fr;gap:0}.catalog-table,.catalog-table tbody,.catalog-table tr,.catalog-table td{display:block;width:100%;max-width:none!important}.catalog-table thead{display:none}.catalog-table tr{margin-bottom:14px;border:1px solid #bbc8bd;border-radius:10px;overflow:hidden}.catalog-table td{border:0;padding:7px 14px}.catalog-table td:first-child{padding-top:16px}.catalog-table td:last-child{padding-bottom:16px}.catalog-table td[data-label]::before{content:attr(data-label) ": ";font-size:.85rem;font-weight:600;color:#526158}.manager-nav button{flex:1 1 150px}#catalog-editor{padding:16px}}

#catalog-source-summary,#catalog-source-note,#catalog-message,#catalog-form-error{overflow-wrap:anywhere}

/* PF-2 only: display rules for reference/thumbnail cards remain unchanged. */
.recipe-line{border:1px solid #bbc8bd;border-radius:9px;padding:12px;margin:12px 0;min-width:0}.recipe-line label{margin-top:0}.recipe-line select{width:100%;max-width:100%}.recipe-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.recipe-controls button{padding:7px 10px;font-size:.85rem}.recipe-total{background:#e3eee4;border:1px solid #739376;border-radius:9px;padding:16px;margin:18px 0;overflow-wrap:anywhere}.recipe-total strong{display:block}.recipe-boundary{font-size:.85rem;color:#526158}#recipe-notice:not(:empty){padding:12px;background:#fff0e6;border:1px solid #b45b2a;border-radius:9px;color:#7c381d}#estimate-help{font-size:.9rem}.recipe-line-info{overflow-wrap:anywhere}

/* PF-3 display only: match the customer's 4:5 cover cards. No reference edits. */
.card img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:transparent}
.thumbnail-editor{margin-top:24px;padding-top:20px;border-top:1px solid #bbc8bd;min-width:0}
.thumbnail-editor h3{margin-bottom:8px}.thumbnail-editor p{font-size:.9rem}
.thumbnail-frame{width:100%;max-width:360px;aspect-ratio:4/5;overflow:hidden;border-radius:10px;margin-bottom:14px;background:#e9ede7}
.thumbnail-frame img,.thumbnail-frame canvas{display:block;width:100%;height:100%;max-height:none;aspect-ratio:4/5;object-fit:cover}
#thumbnail-canvas.adjusting{touch-action:none;cursor:grab}#thumbnail-canvas.adjusting:active{cursor:grabbing}
#thumbnail-canvas:focus-visible{outline:3px solid #ae7935;outline-offset:-4px}
.thumbnail-actions,.thumbnail-pan{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.thumbnail-actions button{font-size:.85rem;padding:9px 12px}
.thumbnail-pan button{padding:8px 14px;min-width:44px;font-size:1.2rem}.thumbnail-hint{margin-bottom:12px}
#thumbnail-controls input[type=range]{padding:8px 0;accent-color:#405f50}#thumbnail-quality{margin-top:12px}
#thumbnail-error:not(:empty){padding:12px;background:#fff0e6;border:1px solid #b45b2a;border-radius:9px;color:#7c381d;margin:12px 0;overflow-wrap:anywhere}
#thumbnail-zoom-value{font-weight:400}#thumbnail-status{overflow-wrap:anywhere}
/* Bounded look merchandising; service categories remain separate. */
.merch-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.merch-columns>*{min-width:0}.merch-entry{border:1px solid #d9d0c5;border-radius:12px;padding:14px;margin:12px 0;overflow-wrap:anywhere}.merch-actions{display:flex;gap:8px;flex-wrap:wrap}.merch-actions button{min-width:44px;min-height:44px}.merch-columns form{margin:16px 0;padding:16px;background:#f7f3ed;border-radius:12px}.merch-columns button{max-width:100%}.manager-nav{flex-wrap:wrap}#merch-message{margin:16px 0}.merch-columns input{max-width:100%;box-sizing:border-box}
@media(max-width:700px){.merch-columns{grid-template-columns:1fr}}

/* Owner-authored browsing, independent from reference approval. */
.gallery-filters{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:6px 2px 14px;margin-bottom:8px;scrollbar-width:thin;overscroll-behavior-x:contain}
.gallery-filter{flex:0 0 auto;max-width:240px;white-space:normal;overflow-wrap:anywhere;min-height:44px;padding:9px 17px;border:1px solid #d7cfc4;border-radius:24px;background:#fff;color:#514438;font:inherit;font-size:14px;cursor:pointer}
.gallery-filter.highlighted{border-color:#a18a65;background:#f5efe4}.gallery-filter[aria-pressed=true]{background:#544635;color:#fff;border-color:#544635}.gallery-filter:focus-visible{outline:3px solid #a8804b;outline-offset:2px}
.card-new{position:absolute;top:12px;left:12px;padding:5px 9px;border-radius:6px;background:#fffaf0;color:#544635;font-size:11px;font-weight:700;letter-spacing:.08em;box-shadow:0 1px 4px #0002}

.admin-status{display:flex;flex-wrap:wrap;gap:8px 24px;padding:16px;background:#eaf0e9;border-radius:12px}.admin-status p{margin:0;overflow-wrap:anywhere}.private-note{margin:14px 0}.catalog-table button{min-height:44px}#session-notice{overflow-wrap:anywhere;color:#7c381d}main,section{min-width:0} @media(max-width:480px){.admin-status{display:grid;grid-template-columns:1fr}.cards{grid-template-columns:minmax(0,1fr)}button,.button{max-width:100%}input[type=file]{font-size:14px}}
