
.contact-inline{margin-top:26px;padding-top:20px;border-top:1px solid #e9d7cc}
.reservation-notice{max-width:1050px;margin:0 auto 25px;padding:16px 22px;border:1px solid #eadbd3;background:#fffaf7;border-radius:14px;color:#856f65}
.reservation-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fc-card{background:#fffbf7;border:1px solid #e8d6cf;border-radius:18px;padding:24px;box-shadow:0 12px 30px #98765b12}
.fc-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #f0e5de;padding-bottom:13px}
.fc-card h2{font-size:25px;margin:2px 0;color:#806258}
.fc-subtitle{font-size:10px;letter-spacing:.2em;color:#b6988d}
.fc-status{border-radius:30px;padding:5px 12px;font-size:12px;white-space:nowrap;background:#f3e7d8;color:#9b7a53}
.fc-status.open{background:#e8f2e9;color:#5e8069}.fc-status.transfer{background:#e8eaf5;color:#69769b}
.fc-details{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:17px}
.fc-details>div{display:flex;flex-direction:column;gap:1px}
.fc-details span{font-size:12px;color:#a28c80}.fc-details strong{font-weight:600;font-size:15px}
.fc-footnote{font-size:11px;color:#ac9b92;margin:18px 0 0}
.reservation-bottom{text-align:center;margin:35px auto 20px}
@media(max-width:700px){.reservation-grid{grid-template-columns:1fr}.fc-card{padding:18px}}

.reservation-tools{max-width:1100px;margin:0 auto 12px;display:grid;grid-template-columns:1.25fr 1fr 1fr auto;gap:12px;align-items:end;padding:20px;background:#fffaf7;border:1px solid #eadbd3;border-radius:16px}.reservation-field{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#856e65}.reservation-field input,.reservation-field select{width:100%;min-height:43px;padding:9px 12px;border:1px solid #dfcfc4;border-radius:9px;background:#fff;color:#765d54;font:inherit;cursor:pointer}.reservation-field input{cursor:text}.fc-reset{min-height:43px;border:1px solid #d7bdb0;border-radius:9px;background:#f7eee8;color:#87665b;padding:0 14px;cursor:pointer}.fc-reset:hover{background:#f0e2d8}.fc-result-count{max-width:1100px;margin:0 auto 16px;text-align:right;color:#a28c80;font-size:12px}.fc-empty{grid-column:1/-1;text-align:center;padding:40px 12px;background:#fffbf7;border-radius:14px;color:#907c70}@media(max-width:850px){.reservation-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.reservation-tools{grid-template-columns:1fr}.fc-reset{width:100%}}

.gallery-admin-entry{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid #e8d1ca;padding:14px 6px}.gallery-admin-entry small{display:block;color:#a37d7c;margin-top:5px}.gallery-admin-controls{display:flex;gap:8px;flex-wrap:wrap}.gallery-admin-controls button{border:1px solid #d9b8b2;border-radius:9px;background:#fff9f6;color:#795c57;padding:7px 12px;cursor:pointer}@media(max-width:680px){.gallery-admin-entry{align-items:flex-start;flex-direction:column}}

.gallery-style-choices{display:flex;flex-wrap:wrap;gap:9px;margin-top:8px}.gallery-style-choices label{display:flex;align-items:center;gap:5px;border:1px solid #dfc2ba;border-radius:20px;padding:7px 12px;background:#fffaf7;cursor:pointer}.gallery-style-choices input{width:auto}.gallery-image-list{display:flex;flex-wrap:wrap;gap:12px}.gallery-image-item{width:135px;background:#fffaf7;border:1px solid #e1c6bd;padding:8px;border-radius:10px}.gallery-image-item img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:5px}.gallery-image-item button{margin-top:5px;padding:5px 8px;font:inherit;cursor:pointer}.photo-fallback{display:none}.work-art.image-failed .photo-fallback{display:grid;place-items:center;width:100%;height:100%;font-size:45px;background:linear-gradient(135deg,#f3e1e3,#f9ede5);color:#a67d80}.gallery-people{margin-top:12px}

/* v13: matching controls without changing the approved palette */
.admin-fields select,.admin-fields input:not([type="checkbox"]):not([type="file"]),.admin-fields textarea{box-sizing:border-box;min-height:46px;border-radius:10px;font:inherit;}
.sale-extra-filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;max-width:1060px;margin:0 auto 18px;padding:0 12px;}
.sale-extra-filters select,.sale-extra-filters input{box-sizing:border-box;border:1px solid #dfc0b4;background:#fffaf7;color:#755a51;border-radius:24px;padding:11px 13px;font:inherit;min-height:46px;max-width:180px;}
.sale-extra-filters input{max-width:85px;}
@media(max-width:600px){.sale-extra-filters select{max-width:calc(50% - 8px);width:calc(50% - 8px);}.sale-extra-filters input{width:70px;}}

/* v14: consistent form controls and independent checkbox hit areas */
.style-field{min-width:0}.style-field-title{font-weight:inherit;margin-bottom:6px}
.gallery-style-choices{display:flex;flex-wrap:wrap;align-items:flex-start;gap:9px}
.gallery-style-choices label{display:inline-flex;flex:0 0 auto;width:auto;min-width:0;align-items:center;justify-content:center;gap:6px;margin:0;position:relative;cursor:pointer}
.gallery-style-choices input[type="checkbox"]{position:static;flex:0 0 auto;width:16px;height:16px;min-height:0;margin:0;accent-color:#d4a4ac}
.admin-fields select,.admin-fields input:not([type="checkbox"]):not([type="file"]){width:100%;min-height:46px;height:46px;padding:10px 13px;border:1px solid #dfc0b4;border-radius:10px;background:#fff;color:#755a51;font:inherit;line-height:1.4}
.admin-fields select{appearance:auto;cursor:pointer}
/* Long unbroken user content must never overflow the public cards. */
.cards,.work,.work-info,.work-info>*{min-width:0;max-width:100%}
.work-info{overflow:hidden;overflow-wrap:anywhere;word-break:break-word}
.work-info .status{display:block;overflow-wrap:anywhere;word-break:break-word}
.work-info h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}
.work-info p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}
#detail-content,#detail-content p,#detail-content h2,#detail-content dd{overflow-wrap:anywhere;word-break:break-word;min-width:0}
#detail-content .details>div{min-width:0}
/* Fixed heading anchor: name/flower never shift when the introduction length changes. */
#about .designer-bio{justify-content:flex-start;gap:13px;min-height:340px}
#about .designer-bio-heading{flex:0 0 88px;min-height:88px;margin:0;align-items:center}
#about .designer-bio-heading>div{min-height:70px;min-width:0}
#about .designer-bio h3{flex:0 0 auto;margin:0}
#about .designer-bio>p{flex:0 0 auto;margin:0;overflow-wrap:anywhere;word-break:break-word}
@media(max-width:800px){#about .designer-bio{min-height:0}#about .designer-bio-heading{flex-basis:75px;min-height:75px}}

/* v15: preserve the original centered, three-column card sizing. */
#gallery-cards,#sale-cards{width:100%;max-width:1150px;margin-left:auto;margin-right:auto;}
.seller-privacy{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;grid-column:1/-1;}
.seller-privacy .checkline{width:auto;}
.sale-seller-public{border-top:1px solid #e3c9bd;margin:18px 0 12px;padding-top:12px;overflow-wrap:anywhere;}
.sale-seller-public p{margin:8px 0;}
.sale-seller-public .contact-link{margin:8px 8px 4px 0;}

/* FC editor: local preview only; inherit v10 visual language */
.fc-admin-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.fc-admin-toolbar input{flex:1;min-width:220px}.fc-admin-toolbar input,.fc-admin-toolbar select{padding:12px;border:1px solid #dfbdb4;border-radius:12px;background:#fffaf7;color:#795d55;font:inherit}.fc-admin-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border-bottom:1px solid #e6cbc2;overflow-wrap:anywhere}.fc-admin-row small{display:block;margin-top:6px;opacity:.8}.fc-admin-actions{display:flex;gap:7px;flex-wrap:wrap}.fc-admin-actions button,.fc-admin-row button{border:1px solid #dcbab1;background:#fffaf7;border-radius:9px;color:#795d55;padding:8px 12px;font:inherit;cursor:pointer}.fc-admin-help{font-size:13px;line-height:1.8;opacity:.75}.reservation-tools{flex-wrap:wrap}@media(max-width:680px){.fc-admin-row{align-items:flex-start;flex-direction:column}}

/* v17 archive editor — scoped to the history dialog */
#hanama-history-dialog {border:1px solid #e4bdb5;border-radius:16px;background:#fffaf6;color:#765a51;padding:26px;max-width:min(760px,94vw);max-height:88vh;overflow:auto;box-shadow:0 20px 80px #61433b33;font:inherit;}
#hanama-history-dialog::backdrop{background:#30201e80;}
#hanama-history-dialog h2{margin:0 0 18px;font-size:1.4rem;}
#hanama-history-dialog .history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
#hanama-history-dialog label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:.9rem;}
#hanama-history-dialog input,#hanama-history-dialog textarea,#hanama-history-dialog select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #e3bdb5;border-radius:9px;background:white;color:#765a51;padding:10px;font:inherit;}
#hanama-history-dialog textarea{min-height:90px;}
#hanama-history-dialog .wide{grid-column:1/-1;}
#hanama-history-dialog .history-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;}
#hanama-history-dialog button{border:1px solid #dcb0a8;border-radius:9px;background:#fffaf6;color:#765a51;padding:10px 18px;cursor:pointer;font:inherit;}
#hanama-history-dialog button.primary{background:#d8abb2;color:white;}
@media(max-width:540px){#hanama-history-dialog .history-grid{grid-template-columns:1fr;}}

/* v18: Reservation filter consolidation, preserving existing visual tokens */
.fc-search-bar{display:flex;align-items:center;justify-content:center;gap:12px;max-width:760px;margin:0 auto 12px}.fc-search-bar .search-label{flex:1;min-width:0}.fc-search-bar button,.fc-filter-panel button,.fc-server-tabs button{border:1px solid #dfc6c3;background:#fffaf7;border-radius:999px;color:#795c59;padding:11px 18px;cursor:pointer;font:inherit}.fc-filter-panel{max-width:760px;margin:0 auto 12px;padding:16px;border:1px solid #eadbd3;border-radius:16px;background:#fffaf7;display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.fc-filter-panel[hidden]{display:none!important}.fc-filter-panel label{display:flex;flex-direction:column;gap:6px;color:#795c59}.fc-filter-panel select{min-width:0;width:100%;height:44px;border-radius:12px;border:1px solid #dfc6c3;background:white;color:inherit;padding:0 10px;font:inherit}.fc-server-tabs{max-width:1050px;margin:8px auto 18px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.fc-server-tabs button.active{background:#f2d8df;border-color:#d5a9b7;color:#674650}.fc-details{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-search-bar button{white-space:nowrap}@media(max-width:650px){.fc-search-bar{flex-wrap:wrap}.fc-search-bar .search-label{flex-basis:100%}.fc-filter-panel{grid-template-columns:1fr}.fc-server-tabs button{padding:8px 12px}}

/* v19: 保留原有色系，將販售篩選收合並統一表單視覺 */
#sale .work-tools{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
#sale-filter-toggle,#sale-filter-reset{font:inherit;color:#805e60;background:#fff9f7;border:1px solid #dfc0b4;border-radius:24px;padding:10px 20px;cursor:pointer;min-height:44px}
.sale-filter-panel{max-width:1060px;margin:0 auto 18px;text-align:center;padding:16px 12px;border:1px solid #eed7d1;background:rgba(255,250,248,.75);border-radius:20px}
.sale-filter-panel[hidden]{display:none!important}
.sale-filter-panel>select{font:inherit;min-height:46px;padding:9px 15px;border:1px solid #dfc0b4;border-radius:24px;background:#fffaf7;color:#755a51;margin-bottom:12px}
.sale-filter-panel .sale-extra-filters{margin-bottom:10px}
#sale-filter-reset{margin-top:3px}
#gallery-admin .gallery-style-choices label,#sales-admin .gallery-style-choices label{display:inline-flex;align-items:center;gap:5px;width:auto;cursor:pointer}
#gallery-admin .gallery-style-choices input,#sales-admin .gallery-style-choices input{width:auto;flex:none}
#sales-admin .admin-fields select,#gallery-admin .admin-fields select{width:100%;box-sizing:border-box;min-height:45px;border-radius:12px;font:inherit}
#sale .work-info h3,#gallery .work-info h3{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#sale .work-info p,#gallery .work-info p{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#detail-content{overflow-wrap:anywhere}

/* v20 販售篩選：三欄兩排，浮動複選與同列清除 */
.sale-filter-panel{max-width:880px!important;padding:20px!important;text-align:left!important;overflow:visible!important}
.sale-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;align-items:end}
.sale-field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:13px;color:#80645e}
.sale-field>select,.sale-style-trigger,.sale-location-row>input,.sale-location-row>button{box-sizing:border-box;min-width:0;width:100%;height:44px;min-height:44px;border:1px solid #dfc0b4;background:#fffaf7;color:#755a51;border-radius:24px;padding:0 14px;font:inherit;font-size:14px}
.sale-field>select{appearance:auto;cursor:pointer}
.sale-style-field{position:relative}
.sale-style-trigger{display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden}
.sale-style-popup{position:absolute;z-index:200;left:0;top:calc(100% + 5px);width:100%;min-width:235px;box-sizing:border-box;background:#fffaf7;border:1px solid #dfc0b4;border-radius:16px;box-shadow:0 10px 28px #7e58542a;padding:14px}
.sale-style-popup[hidden]{display:none!important}
.sale-style-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}
.sale-style-options label{display:flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap;font-size:14px}
.sale-style-options input{width:17px;height:17px;accent-color:#c58f9a;cursor:pointer}
.sale-location-row{display:flex;align-items:center;gap:6px;min-width:0}
.sale-location-row>input{flex:1 1 75px;width:75px;min-width:0;padding:0 8px;text-align:center}
.sale-location-row>button{flex:0 0 90px;width:90px;padding:0 5px;white-space:nowrap;cursor:pointer;margin:0!important;font-size:12px!important}
#sale-filters{display:none!important}
@media(max-width:720px){.sale-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sale-location-row>input{flex:1 1 75px;width:75px}}
@media(max-width:470px){.sale-filter-grid{grid-template-columns:1fr}.sale-style-popup{min-width:0}.sale-location-row>input{flex:1 1 75px;width:75px}}

/* v22 additions */
.fc-admin-servers{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:16px 0 20px}.fc-admin-servers button{font:inherit;border:1px solid #d9b8b2;border-radius:99px;background:#fff9f6;color:#805e65;padding:8px 15px;cursor:pointer}.fc-admin-servers button.active{background:#e7c6d0;border-color:#cba1b0;color:#593b49}.reservation-page-settings{margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid #e8d1ca}.gallery-visit-tag{display:inline-block;margin:12px 16px 0;border:1px solid #d9b8b2;background:#fff6f4;color:#855f68;border-radius:99px;padding:4px 12px;font-size:.82rem}.gallery-visit-tag.is-open{background:#f3f6e9;color:#69754b;border-color:#d7dfc0}.gallery-visit-detail{margin:12px 0;color:#795c65}#reservation-page-intro{white-space:pre-line;overflow-wrap:anywhere}

/* v23: compact, centered FC admin search and status controls */
#reservation-admin .fc-admin-toolbar{width:min(100%,680px);margin:16px auto;display:grid;grid-template-columns:minmax(0,3fr) minmax(140px,1fr);gap:12px;align-items:stretch}
#reservation-admin .fc-admin-toolbar input{width:100%;min-width:0;box-sizing:border-box}
#reservation-admin .fc-admin-toolbar select{width:100%;min-width:0;box-sizing:border-box}
@media(max-width:540px){#reservation-admin .fc-admin-toolbar{grid-template-columns:minmax(0,1fr) 125px;gap:8px}}
/* v23: larger ward and plot inputs, narrower clear button */
#sale .sale-filter-panel input[data-filter="ward"],#sale .sale-filter-panel input[data-filter="plot"]{min-width:0}

/* v25: compact, closed-by-default notice editor at the end of FC admin */
#reservation-admin .notice-admin-details{margin-top:24px;border:1px solid #e3c5b9;border-radius:16px;background:#fff8f5;overflow:hidden}
#reservation-admin .notice-admin-details>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:17px 22px;font:inherit;font-weight:700;color:#805d56}
#reservation-admin .notice-admin-details>summary::-webkit-details-marker{display:none}
#reservation-admin .notice-admin-details[open]>summary span{transform:rotate(180deg)}
#reservation-admin .notice-admin-details form{border:0;margin:0;padding:4px 22px 22px;background:transparent}
#reservation-admin .notice-admin-details form h3{display:none}
/* v25: guarantee ward and plot readable, clear action compact, same row */
#sale .sale-location-row{display:flex;gap:6px;min-width:0;flex-wrap:nowrap}
#sale .sale-location-row>input{flex:1 1 75px;width:75px;min-width:0;padding:0 7px}
#sale .sale-location-row>#sale-filter-reset{flex:0 0 90px;width:90px;min-width:90px;padding:0 3px;font-size:12px!important}
@media(max-width:540px){#sale .sale-location-row>#sale-filter-reset{flex-basis:84px;width:84px;min-width:84px}}

/* v26: local backup panel */
.backup-admin-details{margin-top:22px;border:1px solid #e9cbd1;border-radius:14px;background:#fffaf9;padding:14px 18px}.backup-admin-details>summary{cursor:pointer;color:#925c68;font-weight:700}.backup-admin-content{padding-top:14px;display:grid;gap:12px}.backup-admin-content p{margin:0;line-height:1.7}.backup-file-label{display:grid;gap:8px;color:#79545b}.backup-file-label input{max-width:100%}#backup-status{overflow-wrap:anywhere}
