/* pages.css：由 index.html 內嵌樣式按原有順序搬出（層疊順序不變）。 */

/* ---- id="uph-polish-2026-11" ---- */
/* UI polish 2026-11: unified buttons, touch targets, sheets, tables. Additive only. */
button.ghost,button.primary{font:inherit;min-height:44px;padding:0 16px;border-radius:10px;border:1px solid #cbd8e5;background:#fff;color:#16395a;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s}
button.ghost:hover{background:#f3f7fb;border-color:#9fb6cd}button.primary{background:linear-gradient(135deg,#123a5e,#1b4d79);color:#fff;border-color:#123a5e;box-shadow:0 4px 12px #123a5e33}button.primary:hover{background:#1b4d79}button:disabled{opacity:.55;cursor:not-allowed}
#hwSettingsBtn{margin:10px 0}
.hw-btn{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;margin-top:10px;padding:10px 14px;text-align:left;border:1.5px dashed #b99556;border-radius:12px;background:#fffaf0;color:#6b4d17;font:inherit}
.hw-btn .hw-label{font-size:12px;font-weight:700;letter-spacing:.3px;flex:none;color:#8a6a2c}.hw-btn .hw-value{flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px;font-weight:600;color:#7a5a1f}.hw-btn .hw-icon{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#c9a96a;color:#fff;font-size:15px}
.hw-btn.filled{border-style:solid;border-color:#d8c493;background:#fffdf6}.hw-btn.filled .hw-value{color:#182B42}
.hw-detail{align-items:center}.hw-detail .hw-btn{width:auto;max-width:70%;margin:0}
.hw-edit{border:1px solid #d8c493;background:#fffaf0;color:#8a6a2c;border-radius:8px;min-width:32px;min-height:32px;margin-left:8px;padding:0 6px;font-size:14px;cursor:pointer}.hw-edit:hover{background:#c9a96a;color:#fff}
.txn-desc{margin:9px 0 0;font-size:13px;color:#3d5169;line-height:1.5;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.txn-card{transition:box-shadow .15s,transform .15s}.txn-card:active{transform:scale(.995)}.txn-card:hover{box-shadow:0 8px 22px #102b4e18}
.table thead th{position:sticky;top:0;background:#f7fafd;z-index:1;font-size:12px;letter-spacing:.3px;text-transform:none}.table tbody tr:nth-child(even) td{background:#fbfdff}.table tbody tr:hover td{background:#f1f6fb}
.hw-col{position:relative}
.nav{transition:background .15s}.nav:hover{background:#18365a}
@media(max-width:860px){
 .top{position:sticky;top:0;z-index:15;margin:-20px -14px 18px;padding:12px 14px;background:#f4f7fbee;backdrop-filter:blur(8px);border-bottom:1px solid #e3e9f1}
 .heading{font-size:21px;margin:4px 0 2px}.top .muted{font-size:12px}
 .card{border-radius:14px}.mobile{border-radius:18px 18px 0 0;box-shadow:0 -10px 28px #102b4e1f}
 .mobile button{border-radius:12px;padding:6px 8px}.mobile button.active{background:#e8eff7}
 .actions .action,.section-heading .action{min-height:46px}
 .filters select,.filters input{font-size:16px}
 .tablewrap{-webkit-overflow-scrolling:touch}
}
@media(max-width:680px){
 .txn-card{padding:14px 15px;border-radius:14px}.txn-sum{font-size:19px}
 .month-summary{border-radius:12px;font-size:13px;line-height:1.6}
 dialog.hw-dialog{margin:auto 0 0;width:100vw!important;max-width:100vw;border-radius:20px 20px 0 0;padding:20px 16px calc(18px + env(safe-area-inset-bottom));max-height:92vh}
}
a.logout{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#16395a;font-weight:600;font-size:13px;padding:0 14px;white-space:nowrap}button.logout{font-size:13px;color:#16395a;font-weight:600;padding:0 14px;white-space:nowrap}
@media(max-width:860px){.topright{flex-wrap:nowrap}a.logout,button.logout{min-height:40px;padding:0 10px;font-size:12px}}

/* ---- id="uph-hold-dot" ---- */
.hd-dot{display:inline-block;min-width:18px;height:18px;line-height:18px;padding:0 5px;margin-left:8px;border-radius:999px;background:#d92d20;color:#fff;font-size:12px;font-weight:700;text-align:center;box-sizing:border-box}#consignSize{min-height:40px;padding:4px 12px;font-size:15px;border-radius:10px;border:1px solid #cfd8e3;background:#fff}#consignPrev,#consignNext{min-height:40px;min-width:88px}@media(max-width:820px){#consignSize{min-height:46px;font-size:16px;min-width:84px}#consignPrev,#consignNext{min-height:46px;flex:1 1 40%}}#mobileMore summary{position:relative}#mobileMore summary .hd-dot{position:absolute;top:2px;right:6px;margin:0}

/* ---- id="uph-mobile-catalog" ---- */
@media(max-width:820px){body[data-tab='history'] #quickActions,body[data-tab='history'] #attentionBanner,body[data-tab='holds'] #quickActions,body[data-tab='holds'] #attentionBanner,body[data-tab='consign'] #quickActions,body[data-tab='consign'] #attentionBanner,body[data-tab='progress'] #quickActions,body[data-tab='progress'] #attentionBanner,body[data-tab='serial'] #quickActions,body[data-tab='serial'] #attentionBanner,body[data-tab='sales'] #quickActions,body[data-tab='sales'] #attentionBanner,body[data-tab='customers'] #quickActions,body[data-tab='customers'] #attentionBanner,body[data-tab='products'] #quickActions,body[data-tab='products'] #attentionBanner{display:none!important}}

/* ---- id="uph-pages-css" ---- */
body:is([data-tab='vendors'],[data-tab='purchase'],[data-tab='receiving'],[data-tab='repairs'],[data-tab='movements']) :is(.only-overview,.income-block,.outgoing-block,#recentRecords,#quickActions,#attentionBanner){display:none!important}

/* ---- id="uph-navgrp" ---- */
.navgrp{margin-top:14px}.navgrp-h{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;width:calc(100% - 24px);margin:0 12px 6px;padding:6px 0;color:#8ba5bf;font-size:12px;letter-spacing:2px;font-weight:700;cursor:pointer;border-bottom:1px solid #ffffff14}.navgrp-h:focus-visible{outline:2px solid #c9a96a;outline-offset:2px}.navgrp-h.income{color:#69d4b1}.navgrp-h.outgoing{color:#ecc189}.navgrp-h i{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s;margin-right:4px}.navgrp.closed .navgrp-h i{transform:rotate(-45deg)}.navgrp.closed .navgrp-b{display:none}.navgrp .nav-dot{margin-left:auto}.navgrp.closed .navgrp-h::after{content:attr(data-badge);background:#d92d20;color:#fff;border-radius:999px;min-width:16px;height:16px;line-height:16px;font-size:12px;text-align:center;letter-spacing:0;margin-left:6px}.navgrp.closed .navgrp-h:not([data-badge])::after{content:none}

/* ---- id="uph-activity-css" ---- */
body[data-tab='customers'] .only-overview,body[data-tab='customers'] .income-block,body[data-tab='customers'] .outgoing-block,body[data-tab='customers'] #recentRecords{display:none!important}body[data-tab='consign'] .only-overview,body[data-tab='consign'] .income-block,body[data-tab='consign'] .outgoing-block,body[data-tab='consign'] #recentRecords{display:none!important}body[data-tab='progress'] .only-overview,body[data-tab='progress'] .income-block,body[data-tab='progress'] .outgoing-block,body[data-tab='progress'] #recentRecords,body[data-tab='history'] .only-overview,body[data-tab='history'] .income-block,body[data-tab='history'] .outgoing-block,body[data-tab='history'] #recentRecords,body[data-tab='holds'] .only-overview,body[data-tab='holds'] .income-block,body[data-tab='holds'] .outgoing-block,body[data-tab='holds'] #recentRecords,body[data-tab='serial'] .only-overview,body[data-tab='serial'] .income-block,body[data-tab='serial'] .outgoing-block,body[data-tab='serial'] #recentRecords,body[data-tab='sales'] .only-overview,body[data-tab='sales'] .income-block,body[data-tab='sales'] .outgoing-block,body[data-tab='sales'] #recentRecords{display:none!important}
body[data-tab='products'] .only-overview,body[data-tab='products'] .income-block,body[data-tab='products'] .outgoing-block,body[data-tab='products'] #recentRecords{display:none!important}
body[data-tab='activity'] .only-overview,body[data-tab='activity'] .income-block,body[data-tab='activity'] .outgoing-block,body[data-tab='activity'] #recentRecords{display:none!important}
.bell{position:relative;font-size:16px;min-width:44px}.bell .nav-alert{position:absolute;top:-5px;right:-5px;margin:0;min-width:19px;height:19px;font-size:12px}
.act-chips{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.act-day{margin:18px 0}.act-day-title{font-size:13px;color:#51647c;margin:0 0 8px;letter-spacing:.3px}
.act-item{display:flex;gap:12px;padding:13px 14px;margin:8px 0;background:#fff;border:1px solid var(--line);border-left:4px solid #9fb6cd;border-radius:13px;box-shadow:0 3px 12px #102b4e0a}
.act-income{border-left-color:var(--green)}.act-outgoing{border-left-color:var(--amber)}.act-kpay{border-left-color:#6a5acd}.act-statement{border-left-color:#3b82a6}.act-bank_mail{border-left-color:#7a8ca1}.act-reconcile{border-left-color:#c9a96a}.act-whatsapp{border-left-color:#25a268}
.act-icon{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef3f8;color:#16395a;font-weight:700}
.act-body{min-width:0;flex:1}.act-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.act-title{font-size:14px;overflow-wrap:anywhere}.act-time{font-size:12px;color:var(--mute);flex:none}
.act-summary{margin:5px 0 0;font-size:13px;color:#3d5169;line-height:1.55;overflow-wrap:anywhere}.act-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:8px;font-size:12px;color:var(--mute)}.act-amount{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.act-note{margin:6px 0 0;font-size:12px;color:#5a6879}.act-open{min-height:36px!important;margin-top:8px;font-size:12px;padding:0 12px!important}.act-more{margin:14px auto;display:block}
.act-failed,.act-needs_review{background:#fff8f6}.act-enriched{background:#fbf9ff}
@media(max-width:680px){.act-item{padding:12px}.act-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.act-chips .date-preset{flex:0 0 auto}.act-top{flex-direction:column;gap:2px}}

/* ---- id="uph-nav-treasury" ---- */
.side .nav.nav-treasury{margin-top:10px;color:#ffe3a8;background:linear-gradient(90deg,#c9a96a33,#c9a96a0f);border:1px solid #c9a96a66;border-left:4px solid #e0b255;font-weight:700}.side .nav.nav-treasury:hover{background:linear-gradient(90deg,#c9a96a55,#c9a96a22)}.side .nav.nav-treasury.active{color:#102b4e;background:#e8c779;border-color:#e8c779}

/* ---- id="uph-decision-buttons" ---- */
.form-action{display:flex;gap:14px;flex-wrap:wrap;align-items:stretch}.form-action .action{flex:1 1 240px;min-height:52px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:15px;font-weight:700;border-radius:12px;box-sizing:border-box;white-space:nowrap}#incomeSubmit{background:#0F9D7A;border-color:#0F9D7A;color:#fff;box-shadow:0 4px 12px #0f9d7a33}#incomeSubmit:hover{background:#0b8467;border-color:#0b8467}#outgoingSubmit{background:#a23b36;border-color:#a23b36;color:#fff;box-shadow:0 4px 12px #a23b3633}#outgoingSubmit:hover{background:#8a2f2b;border-color:#8a2f2b}.form-action .action:not(.primary){background:#eef2f7;border:1px solid #c3cfdc;color:#4a6078;box-shadow:none}.form-action .action:not(.primary):hover{background:#e1e8f1}.action.confirm{background:#0F9D7A;border-color:#0F9D7A;color:#fff}.action.confirm:hover{background:#0b8467}.action.danger{background:#fdecea;border-color:#e2a79f;color:#a23b36}.action.danger:hover{background:#a23b36;color:#fff;border-color:#a23b36}.action.confirm:disabled,.action.danger:disabled,#incomeSubmit:disabled,#outgoingSubmit:disabled{opacity:.55}@media(max-width:680px){.form-action .action{flex:1 1 100%}}
