:root{--nav:#0f2742;--blue:#1f6feb;--green:#16a34a;--red:#dc2626;--orange:#f59e0b;--bg:#f3f6fb;--card:#fff;--line:#d8e1ef;--text:#1f2937}*{box-sizing:border-box}body{margin:0;font-family:'Microsoft JhengHei',Arial,sans-serif;background:var(--bg);color:var(--text)}.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0f2742,#1f6feb)}.login-card{width:390px;background:white;border-radius:18px;padding:34px;box-shadow:0 20px 55px #0005}.login-card h1{margin:0 0 6px}.login-card input{width:100%;margin:10px 0;padding:14px;border:1px solid var(--line);border-radius:10px}.app{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--nav);color:white;padding:20px 14px;position:fixed;top:0;bottom:0}.brand{font-size:20px;font-weight:800;margin:6px 8px 22px}.userbox{background:#ffffff16;padding:12px;border-radius:12px;margin:0 6px 16px;font-size:13px}.menu a{display:block;color:white;text-decoration:none;padding:13px 14px;margin:6px;border-radius:10px;font-weight:700}.menu a:hover,.menu a.active{background:#ffffff22}.content{margin-left:240px;width:calc(100% - 240px);padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.title{font-size:28px;font-weight:900}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:18px;box-shadow:0 4px 18px #0f27420d}.grid{display:grid;gap:16px}.grid4{grid-template-columns:repeat(4,1fr)}.stat{font-size:28px;font-weight:900;color:var(--blue)}label{font-weight:700;font-size:14px}.form-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}input,select,textarea{padding:11px;border:1px solid var(--line);border-radius:10px;width:100%;background:white}button,.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-block}.btn-blue{background:var(--blue);color:white}.btn-green{background:var(--green);color:white}.btn-red{background:var(--red);color:white}.btn-orange{background:var(--orange);color:white}.btn-gray{background:#64748b;color:white}.btn-big{font-size:21px;padding:19px 24px;min-width:170px}table{width:100%;border-collapse:collapse;background:white;border-radius:14px;overflow:hidden}th,td{text-align:center;vertical-align:middle;border-bottom:1px solid var(--line);padding:12px}th{background:#173b63;color:white;font-weight:900}tr:nth-child(even) td{background:#f8fbff}.pos-layout{display:grid;grid-template-columns:1fr 360px;gap:18px}.pos-total{font-size:44px;font-weight:900;color:var(--green);text-align:right}.actions{display:flex;gap:12px;flex-wrap:wrap}.msg{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;padding:10px;border-radius:10px;margin-bottom:12px}.small{font-size:12px;color:#64748b}@media(max-width:900px){.sidebar{position:static;width:100%}.app{display:block}.content{margin-left:0;width:100%}.grid4,.form-row,.pos-layout{grid-template-columns:1fr}}

.pos-summary label{display:block;margin-top:12px}.discount-row{display:grid;grid-template-columns:1fr 42px;gap:8px;align-items:center}.discount-row span{font-weight:900;font-size:18px;text-align:center}.pos-summary input{font-size:18px;font-weight:800;text-align:center}
.selected-row { outline: 3px solid #1f6feb; }
.alert{background:#fff7ed;border:1px solid #fdba74;color:#9a3412;padding:12px 14px;border-radius:10px;margin:12px 0;font-weight:700}
.hint{color:#64748b;font-size:13px;margin:8px 0 14px 0}

.red-text{color:var(--red)}.orange-text{color:var(--orange)}.green-text{color:var(--green)}

/* V11 POS 商品點選區：固定顯示表頭 + 約 5 筆商品，超過用捲軸，避免壓縮下方購物車 */
.product-results-scroll{height:286px!important;max-height:286px!important;overflow-y:auto!important;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:white;}
.product-results-scroll table{border-radius:0;margin:0;}
.product-results-scroll thead th{position:sticky;top:0;z-index:2;}
.product-results-scroll th,.product-results-scroll td{padding:8px 10px;}
.product-results-scroll tbody tr{height:42px;}
.product-results-scroll tbody tr:hover td{background:#eaf2ff;cursor:pointer;}
.muted-row{opacity:.55;background:#f3f4f6!important}.muted-row td{text-decoration:none;color:#6b7280}.msg,.alert{padding:12px 14px;border-radius:10px;background:#ecfdf5;color:#065f46;margin:0 0 14px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
