.wre-wrap{max-width:960px;margin:32px auto;color:#332d2b;font-family:inherit;line-height:1.65}
.wre-card,.wre-result,.wre-guide{background:#fff;border:1px solid #eadfd8;border-radius:20px;padding:28px;margin-bottom:22px;box-shadow:0 10px 32px rgba(62,42,34,.07)}
.wre-kicker{margin-bottom:6px;color:#a46f70;font-size:14px;font-weight:800;letter-spacing:.08em}
.wre-card h2{margin:0 0 10px;font-size:30px;line-height:1.3;color:#302725}
.wre-lead{margin:0;color:#6f6763;font-size:16px}
.wre-notice{margin-top:20px;padding:14px 16px;border-radius:12px;background:#faf6f4;color:#6f6662;font-size:14px}
.wre-form{margin-top:24px}
.wre-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.wre-form label>span{display:block;margin-bottom:7px;font-size:15px;font-weight:800}
.wre-form select,.wre-form input[type="number"]{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #d9cfca;border-radius:10px;background:#fff;color:#332d2b;font:inherit;font-size:16px;outline:none}
.wre-form select:focus,.wre-form input[type="number"]:focus{border-color:#a76d70;box-shadow:0 0 0 3px rgba(167,109,112,.11)}
.wre-history{margin-top:20px;padding:17px 18px;border-radius:14px;background:#faf8f7;border:1px solid #eee4df}
.wre-check-row{display:flex;align-items:center;gap:10px;cursor:pointer}
.wre-check-row input{width:18px;height:18px;accent-color:#9d6668}
.wre-check-row span{margin:0!important;font-size:15px!important}
.wre-history-amount{display:block;margin-top:15px}
.wre-money-input{display:flex;align-items:center;border:1px solid #d9cfca;border-radius:10px;background:#fff;overflow:hidden;max-width:360px}
.wre-money-input>span{padding:0 0 0 13px;margin:0!important;color:#776d69;font-weight:800!important}
.wre-money-input input{border:0!important;box-shadow:none!important}
.wre-history-amount small{display:block;margin-top:6px;color:#8a817d;font-size:15px}
.wre-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.wre-primary,.wre-secondary{min-height:46px;border-radius:11px;padding:12px 20px;font:inherit;font-size:16px;font-weight:800;cursor:pointer}
.wre-primary{border:0;background:#9d6668;color:#fff}
.wre-primary:hover{background:#8f5b5d}
.wre-secondary{border:1px solid #d8c1bb;background:#fff;color:#865657}
.wre-result{border-color:#dfcbc5;background:#fffdfc}
.wre-result-top{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:stretch}
.wre-result-top>div:first-child{padding:20px;border-radius:16px;background:#9d6668;color:#fff}
.wre-result-label{display:block;font-size:14px;font-weight:800;opacity:.9}
.wre-result-top strong{display:block;margin-top:4px;font-size:38px;line-height:1.2;letter-spacing:.01em}
.wre-range-box{padding:20px;border-radius:16px;background:#f7efec}
.wre-range-box span{display:block;color:#7d706c;font-size:14px;font-weight:700}
.wre-range-box b{display:block;margin-top:5px;color:#6f4648;font-size:22px}
.wre-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.wre-choice{padding:15px;border:1px solid #eadfd8;border-radius:14px;background:#fff}
.wre-choice span{display:block;color:#7d706c;font-size:15px;font-weight:800}
.wre-choice b{display:block;margin:4px 0 2px;color:#4c3d3a;font-size:21px}
.wre-choice small{display:block;color:#8a817d;font-size:15px;line-height:1.45}
.wre-choice-main{border-color:#d8b9b2;background:#faf3f1}
.wre-choice-main span,.wre-choice-main b{color:#7b4c4e}
.wre-history-result{margin-top:16px;padding:13px 15px;border-radius:12px;background:#f6f1e8;border:1px solid #e8dcc8}
.wre-history-result span{display:block;color:#766a56;font-size:15px;font-weight:800}
.wre-history-result strong{display:block;margin-top:3px;color:#564a38;font-size:16px}
.wre-explain{margin-top:20px;padding:16px 18px;border-left:4px solid #a76d70;background:#faf6f4;border-radius:0 12px 12px 0;font-size:16px}
.wre-tips{margin-top:20px}
.wre-tips h3,.wre-guide h3{margin:0 0 10px;font-size:20px;color:#382f2d}
.wre-tips ul{margin:0;padding-left:20px;color:#655d59}
.wre-tips li{margin:5px 0}
.wre-result-note{margin:18px 0 0;padding-top:16px;border-top:1px dashed #dfd3ce;color:#817875;font-size:14px}
.wre-guide h3{font-size:19px}
.wre-guide p{margin:0 0 14px;color:#746b68;font-size:14px}
.wre-chips{display:flex;gap:8px;flex-wrap:wrap}
.wre-chips span{display:inline-block;padding:6px 10px;border-radius:999px;background:#f5eeeb;color:#76595a;font-size:15px;font-weight:800}
.wre-tool-card{display:flex;align-items:center;gap:14px;max-width:760px;padding:18px 20px;border:1px solid #eadfd8;border-radius:16px;background:#fff;color:#332d2b;text-decoration:none!important;box-shadow:0 8px 24px rgba(62,42,34,.05);transition:border-color .18s ease,transform .18s ease}
.wre-tool-card:hover{border-color:#d5b8b1;transform:translateY(-1px)}
.wre-tool-card-icon{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:#f5eae7;color:#9d6668;font-size:22px;font-weight:900}
.wre-tool-card-body{min-width:0;display:block;flex:1}
.wre-tool-card-body strong{display:block;color:#3c302d;font-size:17px;line-height:1.4}
.wre-tool-card-body small{display:block;margin-top:3px;color:#7b716d;font-size:14px;line-height:1.5}
.wre-tool-card-arrow{color:#9d6668;font-size:28px;line-height:1}
@media(max-width:720px){
  .wre-wrap{margin:18px auto}
  .wre-card,.wre-result,.wre-guide{padding:20px;border-radius:15px}
  .wre-card h2{font-size:26px}
  .wre-grid,.wre-result-top,.wre-choice-grid{grid-template-columns:1fr}
  .wre-result-top strong{font-size:34px}
  .wre-range-box b{font-size:20px}
  .wre-primary,.wre-secondary{width:100%}
  .wre-tool-card{padding:16px}
}

/* v1.2 串接「我的婚禮」 */
.wre-my-wedding{margin-top:22px;padding-top:20px;border-top:1px solid #eadfd8}
.wre-my-wedding-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.wre-my-wedding-kicker{display:block;margin-bottom:3px;color:#9d6668;font-size:15px;font-weight:800;letter-spacing:.04em}
.wre-my-wedding-head strong{display:block;color:#3c302d;font-size:18px;line-height:1.4}
.wre-my-wedding-head small{display:block;margin-top:3px;color:#817875;font-size:15px}
.wre-bridge-message{margin:12px 0 0;padding:12px 14px;border-radius:10px;background:#faf6f4;color:#706663;font-size:14px}
.wre-bridge-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:14px}
.wre-bridge-form label>span{display:block;margin-bottom:6px;color:#4d423e;font-size:14px;font-weight:800}
.wre-bridge-form select{width:100%;min-height:46px;box-sizing:border-box;padding:10px 12px;border:1px solid #d9cfca;border-radius:10px;background:#fff;color:#332d2b;font:inherit;font-size:16px}
.wre-save-wedding{min-height:46px;padding:11px 18px;border:0;border-radius:10px;background:#6f5a54;color:#fff;font:inherit;font-size:15px;font-weight:800;cursor:pointer}
.wre-save-wedding:hover{background:#5e4b46}
.wre-save-wedding:disabled{opacity:.65;cursor:wait}
.wre-bridge-status{grid-column:1/-1;min-height:0;margin:0;font-size:14px}
.wre-bridge-status.is-success{padding:10px 12px;border-radius:9px;background:#edf7ef;color:#286539}
.wre-bridge-status.is-error{padding:10px 12px;border-radius:9px;background:#fff0ee;color:#9d3e38}
@media(max-width:720px){
  .wre-bridge-form{grid-template-columns:1fr}
  .wre-save-wedding{width:100%}
}

/* v1.3 紅包／禮金管理 */
.wre-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.wre-manager-count{flex:0 0 auto;padding:8px 12px;border-radius:999px;background:#f5eeeb;color:#8a5e5f;font-size:14px;font-weight:800}
.wre-manager-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0 22px}
.wre-manager-summary>div{padding:15px;border-radius:13px;background:#fff8f2}
.wre-manager-summary span{display:block;margin-bottom:5px;color:#8a807c;font-size:15px}
.wre-manager-summary strong{display:block;font-size:19px;color:#302725;overflow-wrap:anywhere}
.wre-manager-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:12px;align-items:end;margin:0 0 16px;padding:14px;border-radius:13px;background:#faf8f7;border:1px solid #eee4df}
.wre-manager-toolbar label>span{display:block;margin-bottom:6px;font-size:15px;font-weight:800;color:#5b504c}
.wre-manager-toolbar input,.wre-manager-toolbar select{width:100%;min-height:46px;box-sizing:border-box;padding:10px 12px;border:1px solid #d9cfca;border-radius:10px;background:#fff;color:#332d2b;font:inherit;font-size:16px}
.wre-manager-list{display:grid;gap:10px}
.wre-manager-row{display:grid;grid-template-columns:minmax(140px,1.1fr) minmax(130px,.8fr) minmax(160px,1fr) auto;gap:14px;align-items:center;padding:15px 8px;border-bottom:1px solid #eee4df}
.wre-manager-person strong,.wre-manager-money strong,.wre-manager-return strong{display:block;font-size:16px}
.wre-manager-person small,.wre-manager-money span,.wre-manager-return span{display:block;margin-top:3px;color:#8a817d;font-size:15px}
.wre-manager-return .is-pending{color:#936c17}
.wre-manager-return .is-done{color:#39704a}
.wre-manager-details{min-width:78px}
.wre-manager-details summary{cursor:pointer;color:#8f5e60;font-weight:800;list-style-position:inside}
.wre-manager-details[open]{grid-column:1/-1;min-width:0}
.wre-manager-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;padding:16px;border:1px solid #eadfd8;border-radius:12px;background:#faf6f4}
.wre-manager-form label>span{display:block;margin-bottom:5px;font-size:15px;font-weight:800;color:#514743}
.wre-manager-form input[type="number"],.wre-manager-form input[type="text"],.wre-manager-form select,.wre-manager-form textarea{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #d9cfca;border-radius:9px;background:#fff;color:#332d2b;font:inherit;font-size:16px}
.wre-manager-form textarea{resize:vertical;min-height:110px}
.wre-manager-check{grid-column:1/-1;display:flex!important;align-items:center;gap:9px;font-weight:800}
.wre-manager-check input{width:18px;height:18px;accent-color:#9d6668}
.wre-manager-check span{margin:0!important}
.wre-manager-wide{grid-column:1/-1}
.wre-manager-form-actions{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.wre-manager-status{font-size:14px}
.wre-manager-status.is-success{color:#286539}
.wre-manager-status.is-error{color:#9d3e38}
.wre-manager-empty,.wre-manager-no-results{padding:16px;border:1px dashed #dbc9c2;border-radius:12px;background:#fcfaf9;color:#817875}
.wre-login-link{display:inline-block;text-decoration:none!important;margin-top:10px}
@media(max-width:800px){
  .wre-manager-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wre-manager-row{grid-template-columns:1fr 1fr}
  .wre-manager-details{grid-column:1/-1}
}
@media(max-width:620px){
  .wre-manager-head{display:block}
  .wre-manager-count{display:inline-block;margin-top:12px}
  .wre-manager-summary,.wre-manager-toolbar,.wre-manager-row,.wre-manager-form{grid-template-columns:1fr}
  .wre-manager-check,.wre-manager-wide,.wre-manager-form-actions,.wre-manager-details[open]{grid-column:1}
  .wre-manager-row{padding:15px 0}
}

/* v1.4 正式整合到「我的婚禮」主頁籤 */
.wre-my-wedding-tabs{width:100%;min-width:0}
.wre-main-tabs{display:flex;gap:8px;align-items:center;margin:0 0 18px;padding:7px;border:1px solid #eadfd8;border-radius:14px;background:#faf7f5;overflow-x:auto;-webkit-overflow-scrolling:touch}
.wre-main-tab{flex:0 0 auto;min-height:48px;padding:11px 20px;border:0;border-radius:10px;background:transparent;color:#756a66;font:inherit;font-size:17px;font-weight:400;line-height:1.6;letter-spacing:.025em;cursor:pointer;white-space:nowrap;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.wre-main-tab:hover{background:#f3e9e6;color:#765052}
.wre-main-tab.is-active{background:#9d6668;color:#fff}
.wre-main-tab:focus-visible{outline:3px solid rgba(157,102,104,.28);outline-offset:2px}
.wre-main-panel[hidden]{display:none!important}
.wre-main-panel{min-width:0}
.wre-main-panel>.wre-manager.is-embedded{width:100%;max-width:1060px;margin:0 auto}
.wre-main-panel>.wre-manager.is-embedded>.wre-card{width:100%;box-sizing:border-box;margin-top:0}
@media(max-width:620px){
  .wre-main-tabs{margin-bottom:14px;padding:6px}
  .wre-main-tab{min-height:46px;padding:10px 16px;font-size:16px;font-weight:400}
}


/* v1.4.1 介面微調：頁籤易讀性與我的婚禮內容寬度一致 */
@media(min-width:621px){
  .wre-main-tab.is-active{font-weight:400}
}

/* v1.9.1：我的婚禮上方膠囊導覽可讀性
   由 JS 只標記「總覽／籌備進度／預算與報價／賓客與桌次／RSVP／喜帖／紅包與回禮／婚禮當天」七個主導覽項目，
   避免用過粗字重造成中文字筆畫糊成一團。 */
.wre-wpm-pill-tab{
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.55!important;
  letter-spacing:.025em!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.wre-wpm-pill-tab:hover,.wre-wpm-pill-tab:focus,.wre-wpm-pill-tab.is-active,.wre-wpm-pill-tab.active,.wre-wpm-pill-tab[aria-selected="true"],.wre-wpm-pill-tab[aria-current="page"]{font-weight:400!important}
@media(max-width:720px){
  .wre-wpm-pill-tab{font-size:15px!important;font-weight:400!important;line-height:1.55!important;letter-spacing:.02em!important}
}

/* v1.5：賓客與桌次只保留紅包摘要，詳細資料集中到紅包／禮金頁籤 */
.wre-gift-moved-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 20px;padding:14px 16px;border:1px solid #eadfd8;border-radius:13px;background:#faf7f5;color:#5f5551}
.wre-gift-moved-copy{min-width:0}
.wre-gift-moved-copy strong{display:block;color:#443936;font-size:15px;line-height:1.45}
.wre-gift-moved-copy small{display:block;margin-top:3px;color:#817773;font-size:15px;line-height:1.55}
.wre-open-gifts-tab{flex:0 0 auto;min-height:40px;padding:8px 13px;border:1px solid #d9c0ba;border-radius:9px;background:#fff;color:#89595b;font:inherit;font-size:14px;font-weight:700;line-height:1.35;cursor:pointer;white-space:nowrap}
.wre-open-gifts-tab:hover{background:#f5ece9}
.wre-open-gifts-tab:focus-visible{outline:3px solid rgba(157,102,104,.22);outline-offset:2px}
.wre-guest-gift-hint{grid-column:1/-1;margin:-2px 0 2px;padding:11px 13px;border-radius:10px;background:#faf7f5;color:#7c716d;font-size:15px;line-height:1.55}
.wpm-gift-cell .wre-open-gifts-tab{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;min-height:34px;padding:6px 10px;font-size:15px}
@media(max-width:720px){
  .wre-gift-moved-notice{align-items:stretch;flex-direction:column}
  .wre-gift-moved-notice .wre-open-gifts-tab{width:100%}
}


/* v1.6 婚宴當天快速收禮登錄 */
.wre-quick-entry{margin:0 0 22px;padding:18px;border:1px solid #e8d9d3;border-radius:15px;background:#fffdfb}
.wre-quick-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}
.wre-quick-kicker{display:block;margin-bottom:3px;color:#a26769;font-size:15px;font-weight:700;letter-spacing:.04em}
.wre-quick-head h3{margin:0;color:#382f2d;font-size:21px;line-height:1.35}
.wre-quick-head p{margin:5px 0 0;color:#7f7470;font-size:14px;line-height:1.55}
.wre-quick-badge{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#f5eae7;color:#87595b;font-size:15px;font-weight:700}
.wre-quick-form{margin:0}
.wre-quick-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(210px,.8fr) minmax(190px,.75fr) minmax(150px,.55fr);gap:12px;align-items:start}
.wre-quick-field{position:relative;min-width:0}
.wre-quick-field>label{display:block;margin-bottom:6px;color:#514743;font-size:14px;font-weight:700}
.wre-quick-field>label small{color:#928884;font-size:15px;font-weight:500}
.wre-quick-field input,.wre-quick-field select{width:100%;min-height:46px;box-sizing:border-box;padding:10px 12px;border:1px solid #d9cfca;border-radius:10px;background:#fff;color:#332d2b;font:inherit;font-size:16px}
.wre-quick-field input:focus,.wre-quick-field select:focus{outline:3px solid rgba(157,102,104,.16);border-color:#bd9191}
.wre-quick-note-field{grid-column:1/-1}
.wre-quick-selected{margin-top:6px;color:#2e6840;font-size:15px;line-height:1.45}
.wre-quick-suggestions{position:absolute;z-index:30;top:76px;left:0;right:0;max-height:310px;overflow:auto;padding:6px;border:1px solid #dfd1cb;border-radius:11px;background:#fff;box-shadow:0 12px 28px rgba(65,45,38,.12)}
.wre-quick-choice{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:9px 10px;border:0;border-bottom:1px solid #f0e8e4;background:#fff;color:#3c3330;text-align:left;cursor:pointer}
.wre-quick-choice:last-of-type{border-bottom:0}
.wre-quick-choice:hover,.wre-quick-choice:focus-visible{background:#faf3f0;outline:none}
.wre-quick-choice strong{font-size:15px;white-space:nowrap}
.wre-quick-choice small{min-width:0;color:#887d78;font-size:15px;text-align:right;overflow-wrap:anywhere}
.wre-quick-no-match{margin:0;padding:10px;color:#8a7d78;font-size:15px;line-height:1.5}
.wre-quick-presets{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.wre-quick-presets button{min-height:29px;padding:4px 8px;border:1px solid #dfcec8;border-radius:999px;background:#fff;color:#80585a;font:inherit;font-size:15px;cursor:pointer}
.wre-quick-presets button:hover{background:#f8eeeb}
.wre-quick-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.wre-quick-submit{min-height:46px;padding:11px 19px;border:0;border-radius:10px;background:#9d6668;color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.wre-quick-submit:hover{background:#89585a}
.wre-quick-submit:disabled{opacity:.62;cursor:wait}
.wre-quick-status{font-size:14px;line-height:1.5}
.wre-quick-status.is-success{color:#286539}
.wre-quick-status.is-error{color:#a23f38}
.wre-quick-recent{margin-top:15px;padding-top:14px;border-top:1px dashed #e4d7d1}
.wre-quick-recent-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.wre-quick-recent-head strong{font-size:14px;color:#514743}
.wre-quick-recent-head span{color:#958985;font-size:15px}
.wre-quick-recent-list{display:grid;gap:5px}
.wre-quick-recent-item{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 9px;border-radius:8px;background:#faf8f7}
.wre-quick-recent-item .wre-quick-time{color:#948984;font-size:15px}
.wre-quick-recent-item strong{min-width:0;color:#433936;font-size:14px;overflow-wrap:anywhere}
.wre-quick-recent-item b{color:#5a4642;font-size:14px;white-space:nowrap}
.wre-quick-recent-empty{margin:0;color:#958985;font-size:15px}
.wre-manager-count b{font:inherit}
@media(max-width:980px){
  .wre-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wre-quick-guest-field,.wre-quick-note-field{grid-column:1/-1}
}
@media(max-width:620px){
  .wre-quick-entry{padding:15px}
  .wre-quick-head{display:block}
  .wre-quick-badge{display:inline-block;margin-top:9px}
  .wre-quick-grid{grid-template-columns:1fr}
  .wre-quick-guest-field,.wre-quick-note-field{grid-column:1}
  .wre-quick-actions{align-items:stretch;flex-direction:column}
  .wre-quick-submit{width:100%}
  .wre-quick-status{width:100%}
  .wre-quick-recent-head{display:block}
  .wre-quick-recent-head span{display:block;margin-top:3px}
  .wre-quick-recent-item{grid-template-columns:44px minmax(0,1fr)}
  .wre-quick-recent-item b{grid-column:2}
}

/* v1.7 收禮核對、更正、撤銷與現金核對 */
.wre-manager-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.wre-export-csv{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;border:1px solid #d8c8c2;border-radius:10px;background:#fff;color:#6f5551;text-decoration:none;font-size:14px;font-weight:600;line-height:1.35}
.wre-export-csv:hover,.wre-export-csv:focus-visible{background:#faf3f0;color:#553f3c;outline:none}
.wre-quick-recent-item{grid-template-columns:72px minmax(0,1fr) minmax(115px,auto) auto;gap:11px;padding:9px 10px}
.wre-recent-person,.wre-recent-money{display:flex;min-width:0;flex-direction:column;gap:2px}
.wre-recent-person strong{font-size:14px;color:#433936;overflow-wrap:anywhere}
.wre-recent-person small,.wre-recent-money small{font-size:11px;color:#928783;line-height:1.35}
.wre-recent-money{align-items:flex-end;text-align:right}
.wre-recent-money b{font-size:14px;color:#5a4642;white-space:nowrap}
.wre-recent-state.is-active{color:#397047}
.wre-recent-state.is-undone{color:#9a514b}
.wre-recent-state.is-superseded{color:#8d7e78}
.wre-recent-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.wre-recent-actions button{min-height:34px;padding:6px 10px;border:1px solid #d9cac4;border-radius:8px;background:#fff;color:#715651;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.wre-recent-actions button:hover{background:#faf2ef}
.wre-recent-actions button.is-danger{color:#9a4d47;border-color:#e1c2bd}
.wre-recent-actions button:disabled{opacity:.55;cursor:wait}
.wre-reconcile{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(210px,.7fr) minmax(240px,.85fr);gap:16px;align-items:end;margin:0 0 22px;padding:17px 18px;border:1px solid #e8d9d3;border-radius:15px;background:#fffdfb}
.wre-reconcile-copy h3{margin:0;color:#382f2d;font-size:19px;line-height:1.35}
.wre-reconcile-copy p{margin:5px 0 0;color:#817570;font-size:15px;line-height:1.55}
.wre-reconcile-input{display:block;min-width:0}
.wre-reconcile-input span{display:block;margin-bottom:6px;color:#514743;font-size:15px;font-weight:700}
.wre-reconcile-input input{width:100%;min-height:44px;box-sizing:border-box;padding:9px 11px;border:1px solid #d9cfca;border-radius:10px;background:#fff;color:#332d2b;font:inherit;font-size:16px}
.wre-reconcile-input input:focus{outline:3px solid rgba(157,102,104,.16);border-color:#bd9191}
.wre-reconcile-result{min-height:44px;display:flex;align-items:center;padding:9px 12px;border-radius:10px;background:#f7f4f2;color:#746965;font-size:15px;line-height:1.45}
.wre-reconcile-result.is-ok{background:#eef7f0;color:#31683d}
.wre-reconcile-result.is-warn{background:#fff6e6;color:#7f6126}
.wre-reconcile-result.is-error{background:#fff0ee;color:#944a44}
@media(max-width:900px){
  .wre-reconcile{grid-template-columns:1fr 1fr}
  .wre-reconcile-copy{grid-column:1/-1}
  .wre-quick-recent-item{grid-template-columns:64px minmax(0,1fr) auto}
  .wre-recent-actions{grid-column:2/-1}
}
@media(max-width:620px){
  .wre-manager-head-actions{justify-content:flex-start}
  .wre-reconcile{grid-template-columns:1fr;padding:15px}
  .wre-reconcile-copy{grid-column:1}
  .wre-quick-recent-item{grid-template-columns:50px minmax(0,1fr)}
  .wre-recent-money{grid-column:2;align-items:flex-start;text-align:left}
  .wre-recent-actions{grid-column:2;justify-content:flex-start}
}

/* v1.8 紅包統計與婚後回禮 */
.wre-insights{margin:0 0 22px;padding:18px;border:1px solid #e8d9d3;border-radius:15px;background:#fffdfb}
.wre-insights-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.wre-insights-head h3{margin:0;color:#382f2d;font-size:20px;line-height:1.35}
.wre-insights-head p{margin:5px 0 0;color:#817570;font-size:15px;line-height:1.55}
.wre-insight-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}
.wre-insight-metrics>div{padding:12px 13px;border:1px solid #eadfd9;border-radius:11px;background:#fff}
.wre-insight-metrics span{display:block;color:#817570;font-size:15px;font-weight:600}
.wre-insight-metrics strong{display:block;margin-top:4px;color:#443936;font-size:18px;line-height:1.3}
.wre-insight-grid,.wre-return-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.wre-return-grid{margin-top:12px}
.wre-insight-panel,.wre-return-panel{min-width:0;padding:14px;border:1px solid #eadfd9;border-radius:12px;background:#fff}
.wre-insight-panel-head,.wre-return-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #f0e7e3}
.wre-insight-panel-head strong,.wre-return-head strong{color:#4b403d;font-size:15px}
.wre-insight-panel-head span,.wre-return-head span{color:#978a85;font-size:15px}
.wre-insight-groups,.wre-return-list{display:grid;gap:6px}
.wre-insight-group{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 9px;border-radius:8px;background:#faf8f7}
.wre-insight-group>div{min-width:0}
.wre-insight-group strong,.wre-insight-group small{display:block}
.wre-insight-group strong{color:#4b403d;font-size:15px;overflow-wrap:anywhere}
.wre-insight-group small{margin-top:2px;color:#978a85;font-size:11px}
.wre-insight-group>span{flex:0 0 auto;color:#65504b;font-size:15px;font-weight:700;text-align:right}
.wre-insight-group>span small{font-weight:500}
.wre-insight-empty{margin:0;padding:10px;color:#958985;font-size:15px;line-height:1.5}
.wre-return-panel.is-pending .wre-return-head strong{color:#85651e}
.wre-return-panel.is-done .wre-return-head strong{color:#397047}
.wre-return-person{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 9px;border:0;border-radius:8px;background:#faf8f7;color:#4b403d;font:inherit;text-align:left;cursor:pointer}
.wre-return-person:hover,.wre-return-person:focus-visible{background:#f5eeeb;outline:2px solid rgba(157,102,104,.16);outline-offset:1px}
.wre-return-person>span{min-width:0}
.wre-return-person strong,.wre-return-person small{display:block}
.wre-return-person strong{font-size:15px;overflow-wrap:anywhere}
.wre-return-person small{margin-top:2px;color:#978a85;font-size:11px}
.wre-return-person b{flex:0 0 auto;color:#65504b;font-size:15px;white-space:nowrap}
@media(max-width:820px){
  .wre-insight-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wre-insight-grid,.wre-return-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .wre-insights{padding:15px}
  .wre-insight-metrics{grid-template-columns:1fr 1fr}
  .wre-insight-metrics strong{font-size:16px}
  .wre-insight-group{align-items:flex-start;flex-direction:column;gap:5px}
  .wre-insight-group>span{text-align:left}
}

/* v1.9 封存快照、完整備份與婚後歷史往來查詢 */
.wre-archive{margin:0 0 22px;padding:18px;border:1px solid #e8d9d3;border-radius:15px;background:#fffdfb}
.wre-archive-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.wre-archive-head h3{margin:0;color:#382f2d;font-size:20px;line-height:1.35}
.wre-archive-head p{max-width:650px;margin:5px 0 0;color:#817570;font-size:15px;line-height:1.6}
.wre-archive-state{flex:0 0 250px;padding:11px 12px;border:1px solid #eadfd9;border-radius:11px;background:#faf8f7}
.wre-archive-state strong,.wre-archive-state span,.wre-archive-state small{display:block}
.wre-archive-state strong{color:#6f625e;font-size:15px}
.wre-archive-state span{margin-top:3px;color:#766964;font-size:15px;line-height:1.45}
.wre-archive-state small{margin-top:4px;color:#9a8e89;font-size:11px;line-height:1.4}
.wre-archive-state.is-ready{border-color:#cfe0d2;background:#f4faf5}
.wre-archive-state.is-ready strong{color:#397047}
.wre-archive-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}
.wre-archive-panel{min-width:0;padding:14px;border:1px solid #eadfd9;border-radius:12px;background:#fff}
.wre-archive-panel h4{margin:0 0 9px;color:#4b403d;font-size:15px;line-height:1.4}
.wre-archive-panel>p{margin:-2px 0 10px;color:#817570;font-size:15px;line-height:1.55}
.wre-archive-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}
.wre-archive-form label,.wre-history-form label{display:block;min-width:0}
.wre-archive-form label>span,.wre-history-form label>span{display:block;margin-bottom:6px;color:#514743;font-size:15px;font-weight:700}
.wre-archive-form input,.wre-history-form input{width:100%;min-height:44px;box-sizing:border-box;padding:9px 11px;border:1px solid #d9cfca;border-radius:10px;background:#fff;color:#332d2b;font:inherit;font-size:16px}
.wre-archive-form input:focus,.wre-history-form input:focus{outline:3px solid rgba(157,102,104,.16);border-color:#bd9191}
.wre-archive-button,.wre-history-form button{min-height:44px;padding:9px 14px;border:0;border-radius:10px;background:#9d6668;color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.wre-archive-button:hover,.wre-history-form button:hover{background:#89585a}
.wre-archive-button:disabled,.wre-history-form button:disabled{opacity:.6;cursor:wait}
.wre-archive-status{grid-column:1/-1;min-height:20px;color:#80746f;font-size:15px;line-height:1.5}
.wre-archive-status.is-success{color:#397047}
.wre-archive-status.is-error{color:#9b4741}
.wre-backup-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.wre-backup-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 11px;border:1px solid #d9c7c0;border-radius:9px;background:#fff7f4;color:#805557;text-decoration:none;font-size:15px;font-weight:700;line-height:1.35}
.wre-backup-link:hover,.wre-backup-link:focus-visible{background:#f7ece9;color:#684648;outline:none}
.wre-backup-link.is-secondary{background:#fff;color:#6e605c}
.wre-archive-note{margin:9px 0 0!important;color:#998c87!important;font-size:11px!important;line-height:1.55!important}
.wre-history-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}
.wre-history-status{min-height:20px;margin-top:8px;color:#8b7f7a;font-size:15px;line-height:1.5}
.wre-history-status.is-success{color:#397047}
.wre-history-status.is-error{color:#9b4741}
.wre-history-results{display:grid;gap:8px;margin-top:8px}
.wre-history-empty{margin:0;padding:11px;border-radius:9px;background:#faf8f7;color:#918580;font-size:15px}
.wre-history-result{padding:11px;border:1px solid #eee3de;border-radius:10px;background:#fcfaf9}
.wre-history-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.wre-history-result-head>div{min-width:0}
.wre-history-result-head strong,.wre-history-result-head small{display:block}
.wre-history-result-head strong{color:#443936;font-size:14px;overflow-wrap:anywhere}
.wre-history-result-head small{margin-top:2px;color:#958985;font-size:11px;line-height:1.4}
.wre-history-source{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#f1ece9;color:#746864;font-size:10px;font-weight:700;line-height:1.3;white-space:nowrap}
.wre-history-source.is-archive{background:#f4e8e5;color:#84585a}
.wre-history-source.is-current{background:#eef5ef;color:#416b4b}
.wre-history-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}
.wre-history-facts>div{padding:8px 9px;border-radius:8px;background:#fff}
.wre-history-facts span,.wre-history-facts strong{display:block}
.wre-history-facts span{color:#948984;font-size:10px;font-weight:600}
.wre-history-facts strong{margin-top:2px;color:#5b4a45;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.wre-history-notes{margin-top:8px;padding:8px 9px;border-radius:8px;background:#fff}
.wre-history-notes span{display:block;color:#948984;font-size:10px;font-weight:600}
.wre-history-notes p{margin:3px 0 0;color:#6e625e;font-size:15px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.wre-history-time{display:block;margin-top:7px;color:#a09590;font-size:10px}
@media(max-width:900px){
  .wre-archive-head{display:block}
  .wre-archive-state{margin-top:12px;max-width:none}
  .wre-archive-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .wre-archive{padding:15px}
  .wre-archive-form,.wre-history-form{grid-template-columns:1fr}
  .wre-archive-button,.wre-history-form button{width:100%}
  .wre-history-result-head{align-items:flex-start;flex-direction:column}
  .wre-history-facts{grid-template-columns:1fr}
}


/* v1.9.2：可讀性修正
   1) 主導覽膠囊改為正常字重與較寬字距。
   2) 籌備待辦的次要資訊與「建議優先」標籤放大，避免老花閱讀困難。 */
.wre-wpm-pill-tab{
  font-size:17px!important;
  font-weight:400!important;
  line-height:1.6!important;
  letter-spacing:.04em!important;
  -webkit-font-smoothing:antialiased!important;
  text-rendering:optimizeLegibility!important;
}
.wre-wpm-pill-tab:hover,
.wre-wpm-pill-tab:focus,
.wre-wpm-pill-tab.is-active,
.wre-wpm-pill-tab.active,
.wre-wpm-pill-tab[aria-selected="true"],
.wre-wpm-pill-tab[aria-current="page"]{
  font-weight:400!important;
}
.wre-my-wedding-tabs .wpm-task-main small{
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.65!important;
  letter-spacing:.01em!important;
  color:#746b68!important;
}
.wre-my-wedding-tabs .wpm-badge{
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.45!important;
  padding:7px 10px!important;
  letter-spacing:.01em!important;
}
@media(max-width:720px){
  .wre-wpm-pill-tab{font-size:16px!important;font-weight:400!important;line-height:1.6!important;letter-spacing:.035em!important}
  .wre-my-wedding-tabs .wpm-task-main small{font-size:15px!important;line-height:1.65!important}
  .wre-my-wedding-tabs .wpm-badge{font-size:15px!important;padding:7px 9px!important}
}


/* v1.9.3：主導覽膠囊最終覆寫。主元素與其文字子元素全部取消粗體。 */
.wre-wpm-pill-tab,
.wre-wpm-pill-tab *,
.wre-wpm-pill-tab:hover,
.wre-wpm-pill-tab:hover *,
.wre-wpm-pill-tab:focus,
.wre-wpm-pill-tab:focus *,
.wre-wpm-pill-tab.active,
.wre-wpm-pill-tab.active *,
.wre-wpm-pill-tab.is-active,
.wre-wpm-pill-tab.is-active *,
.wre-wpm-pill-tab[aria-selected="true"],
.wre-wpm-pill-tab[aria-selected="true"] *{
  font-weight:400!important;
}
.wre-wpm-pill-tab{
  font-size:17px!important;
  line-height:1.6!important;
  letter-spacing:.045em!important;
}


/* v1.9.4：可讀性統一。主婚禮外掛原本 12px／13px 的前台輔助文字統一提高到 15px。 */
.wre-my-wedding-tabs .wpm-kicker,
.wre-my-wedding-tabs .wpm-stats span,
.wre-my-wedding-tabs .wpm-task-count,
.wre-my-wedding-tabs .wpm-task-main small,
.wre-my-wedding-tabs .wpm-budget-summary span,
.wre-my-wedding-tabs .wpm-budget-table th,
.wre-my-wedding-tabs .wpm-budget-help,
.wre-my-wedding-tabs .wpm-quote-grid label span,
.wre-my-wedding-tabs .wpm-quote-group-head span,
.wre-my-wedding-tabs .wpm-quote-meta,
.wre-my-wedding-tabs .wpm-quote-detail b,
.wre-my-wedding-tabs .wpm-quote-detail p,
.wre-my-wedding-tabs .wpm-market-head b,
.wre-my-wedding-tabs .wpm-market-box p,
.wre-my-wedding-tabs .wpm-quote-checks label,
.wre-my-wedding-tabs .wpm-content-check-head,
.wre-my-wedding-tabs .wpm-content-check ul,
.wre-my-wedding-tabs .wpm-content-warning,
.wre-my-wedding-tabs .wpm-content-ok,
.wre-my-wedding-tabs .wpm-guest-summary span,
.wre-my-wedding-tabs .wpm-guest-grid label span,
.wre-my-wedding-tabs .wpm-guest-table th,
.wre-my-wedding-tabs .wpm-gift-summary span,
.wre-my-wedding-tabs .wpm-gift-details summary,
.wre-my-wedding-tabs .wpm-gift-form label{
  font-size:15px!important;
  line-height:1.55!important;
}
/* 輔助標籤維持較輕字重，避免放大後又因粗體顯得糊。 */
.wre-my-wedding-tabs .wpm-kicker,
.wre-my-wedding-tabs .wpm-stats span,
.wre-my-wedding-tabs .wpm-budget-summary span,
.wre-my-wedding-tabs .wpm-budget-table th,
.wre-my-wedding-tabs .wpm-budget-help,
.wre-my-wedding-tabs .wpm-quote-grid label span,
.wre-my-wedding-tabs .wpm-quote-group-head span,
.wre-my-wedding-tabs .wpm-quote-meta,
.wre-my-wedding-tabs .wpm-quote-detail b,
.wre-my-wedding-tabs .wpm-quote-detail p,
.wre-my-wedding-tabs .wpm-content-check-head,
.wre-my-wedding-tabs .wpm-content-check ul,
.wre-my-wedding-tabs .wpm-guest-summary span,
.wre-my-wedding-tabs .wpm-guest-grid label span,
.wre-my-wedding-tabs .wpm-guest-table th,
.wre-my-wedding-tabs .wpm-gift-summary span,
.wre-my-wedding-tabs .wpm-gift-details summary,
.wre-my-wedding-tabs .wpm-gift-form label{
  font-weight:400!important;
}


/* v1.9.5：12px／13px 實際字級統一提高至 15px；婚禮當天的淡灰輔助文字另加深。
   實際標記由 JS 依瀏覽器 computed style 判斷，避免主外掛新增區塊時 class 未被逐一列入。 */
.wre-readable-small{
  font-size:15px!important;
  line-height:1.6!important;
}
.wre-day-readable-muted{
  color:#625a56!important;
}


/* v1.9.6：婚禮當天頁面 15px 以下的輔助文字固定為 15px。
   JS 同時寫入 inline !important，避免主外掛後載入樣式蓋回。 */
.wre-day-force-readable{
  font-size:15px!important;
  line-height:1.6!important;
}
.wre-day-readable-muted{
  color:#5f5753!important;
}
