/* ธีม Liquid Glass และ responsive ตามสเปกที่ยืนยัน */
body{background:radial-gradient(ellipse at 5% 12%,#e7edf5,transparent 42%),radial-gradient(ellipse at 98% 80%,#edf1f7,transparent 48%),#f3f6fb}
.sidebar,.surface,.inventory,.metric,.cart,.catalog,.ledger-card,.ledger-card-top,.ledger-toolbar,.ledger-bottom,.list-toolbar,.detail-panel,.kpi-card,.kpi-panel{background-color:rgba(255,255,255,.66);border-color:rgba(255,255,255,.95);backdrop-filter:blur(20px) saturate(110%);box-shadow:inset 0 1px 0 rgba(255,255,255,.96),inset 0 -1px 0 rgba(255,255,255,.45),0 9px 28px rgba(23,36,61,.055)}
.inventory-table tbody tr,.item-row,.loan-row,.document-row{background-color:rgba(255,255,255,.32)}
.table-head{background-color:rgba(243,246,251,.78)}
body.glass-ui button[data-action="export-items"]{color:#fff;background:linear-gradient(#ffffff24,transparent 65%),#3f6212;box-shadow:inset 0 1px 0 #ffffff55,0 2px 5px #17243d14}
.handoff-link{color:#fff;background:linear-gradient(#ffffff24,transparent 65%),#0f766e;border-color:#ffffff55;box-shadow:inset 0 1px 0 #ffffff55,0 2px 5px #17243d14}
.inventory-table th,.ledger-table th{background-color:rgba(243,246,251,.78)}
.search,input,select,textarea,.loan-line{background-color:rgba(255,255,255,.88)}
.ledger-header,.page-heading{background:transparent}.ledger-card-people,.detail-body{background-color:rgba(255,255,255,.42)}
dialog,.ledger-dialog{background-color:rgba(255,255,255,.94);backdrop-filter:blur(24px);border-color:#ffffff;box-shadow:inset 0 1px 0 #fff,0 22px 70px rgba(23,36,61,.20)}
dialog::backdrop{background:rgba(23,36,61,.25);backdrop-filter:blur(5px)}
img.device-art{object-fit:contain;mix-blend-mode:multiply}
body.glass-ui button[data-action="start-issue"],body.glass-ui button[data-action="new"],body.glass-ui button[data-action="commit"],body.glass-ui button[type="submit"]{--glass-button:#1d4ed8;--glass-hover:#1e40af}
body.glass-ui button[data-action="receive"]{--glass-button:#15803d;--glass-hover:#166534}
body.glass-ui button[data-action="sign-receipt"]{--glass-button:#15803d;--glass-hover:#166534}
body.glass-ui button[data-action="sign-return"],body.glass-ui button[data-action="return"],body.glass-ui button[data-action="confirm-return"]{--glass-button:#b45309;--glass-hover:#92400e}
body.glass-ui button[data-action="edit-item"]{--glass-button:#9a3412;--glass-hover:#7c2d12}
body.glass-ui button[data-action="setup-item"]{--glass-button:#075985;--glass-hover:#0c4a6e}
body.glass-ui button[data-action="export"],body.glass-ui button.excel-export{--glass-button:#3f6212;--glass-hover:#365314}
body.glass-ui button[data-action="refresh"]{--glass-button:#0369a1;--glass-hover:#075985}
body.glass-ui button[data-action="cancel-handoff"]{--glass-button:#b91c1c;--glass-hover:#991b1b}
body.glass-ui button[data-action="document"]{--glass-button:#475569;--glass-hover:#334155}
body.glass-ui button[data-action="start-issue"],body.glass-ui button[data-action="new"],body.glass-ui button[data-action="commit"],body.glass-ui button[type="submit"],body.glass-ui button[data-action="receive"],body.glass-ui button[data-action="sign-receipt"],body.glass-ui button[data-action="sign-return"],body.glass-ui button[data-action="return"],body.glass-ui button[data-action="confirm-return"],body.glass-ui button[data-action="edit-item"],body.glass-ui button[data-action="setup-item"],body.glass-ui button[data-action="export"],body.glass-ui button.excel-export,body.glass-ui button[data-action="refresh"],body.glass-ui button[data-action="cancel-handoff"],body.glass-ui button[data-action="document"]{color:#fff;background:linear-gradient(180deg,#ffffff24,transparent 65%),var(--glass-button);box-shadow:inset 0 1px 0 #ffffff55,0 2px 5px #17243d14;border-color:#ffffff55;transition:background 140ms,box-shadow 140ms,transform 140ms}
@media(hover:hover) and (pointer:fine){button[style],button[data-action]:not(:disabled){transition:background 140ms,box-shadow 140ms,transform 140ms}body.glass-ui button[data-action="start-issue"]:hover,body.glass-ui button[data-action="new"]:hover,body.glass-ui button[data-action="commit"]:hover,body.glass-ui button[type="submit"]:hover,body.glass-ui button[data-action="receive"]:hover,body.glass-ui button[data-action="sign-receipt"]:hover,body.glass-ui button[data-action="sign-return"]:hover,body.glass-ui button[data-action="return"]:hover,body.glass-ui button[data-action="confirm-return"]:hover,body.glass-ui button[data-action="edit-item"]:hover,body.glass-ui button[data-action="setup-item"]:hover,body.glass-ui button[data-action="export"]:hover,body.glass-ui button.excel-export:hover,body.glass-ui button[data-action="refresh"]:hover,body.glass-ui button[data-action="cancel-handoff"]:hover,body.glass-ui button[data-action="document"]:hover{color:#fff;background:var(--glass-hover);box-shadow:inset 0 1px 0 #ffffff75,0 5px 12px #17243d26,0 0 16px color-mix(in srgb,var(--glass-button) 28%,transparent);transform:translateY(-1px)}.item-row:hover,.inventory-table tbody tr:hover{background-color:rgba(255,255,255,.68)}}
button:disabled{box-shadow:none!important;transform:none!important}
#glass-item-popup{position:fixed;width:300px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;z-index:30;padding:18px;border:1px solid white;border-radius:18px;background:#fffffff0;backdrop-filter:blur(24px);box-shadow:inset 0 1px 0 white,0 16px 48px #17243d25;font-size:12px}
#glass-item-popup[hidden]{display:none}#glass-item-popup .device-art{width:100%;height:140px;object-fit:contain}#glass-item-popup strong{display:block;font-size:14px;margin:8px 0}#glass-item-popup p{font-size:11px;color:#52647d;line-height:1.7}#glass-item-popup button{margin-top:12px;width:100%}
#glass-ui-tools{position:fixed;right:12px;bottom:12px;z-index:8;display:flex;gap:8px;align-items:center;padding:7px 10px;border:1px solid #e4eaf2;border-radius:10px;background:#fffffff0;box-shadow:0 4px 15px #17243d15;font-size:10px;backdrop-filter:blur(16px)}#glass-ui-tools a{white-space:nowrap}#glass-ui-tools span{color:#52647d}
@media(max-width:620px){#glass-ui-tools{bottom:82px;right:8px;padding:5px 8px;gap:7px;font-size:9px}}
@media(hover:hover) and (pointer:fine){body.glass-ui button[data-action="export-items"]:hover{background:#365314;box-shadow:inset 0 1px 0 #ffffff75,0 5px 12px #17243d26,0 0 16px #3f621247;transform:translateY(-1px)}.handoff-link:hover{background:#115e59;box-shadow:inset 0 1px 0 #ffffff75,0 5px 12px #17243d26,0 0 16px #0f766e47;transform:translateY(-1px)}}
@media(prefers-reduced-motion:reduce){button,.handoff-link{transition:none!important;transform:none!important}}
@supports not (backdrop-filter:blur(1px)){.sidebar,.surface,.inventory,.metric,.cart,.catalog,.ledger-card,.ledger-toolbar,.ledger-bottom,dialog{background-color:#fff}}


/* ข้อความอ่านชัดทั้งเมาส์และคีย์บอร์ด โดยไม่เปลี่ยนสี badge สถานะ */
body.glass-ui button:not(:disabled):is(:hover,:focus-visible){filter:none}
body.glass-ui :is(.nav,.segments button,.ledger-bottom button,.text-button,.icon-button,.ai-button):not(:disabled):is(:hover,:focus-visible){color:#174ea6;background-color:#eaf3ff}
body.glass-ui :is(.item-row,.table-row,.inventory-table tbody tr):is(:hover,:focus-within){background-color:#f1f6fc;color:#17243d}
body.glass-ui :is(.item-row,.table-row,.inventory-table tbody tr):is(:hover,:focus-within) :is(.item-copy strong,.item-identity strong){color:#17243d}
body.glass-ui :is(.item-row,.table-row,.inventory-table tbody tr):is(:hover,:focus-within) :is(.item-copy small,.item-identity small){color:#52647d}
body.glass-ui button[data-action]:not(:disabled):is(:hover,:focus-visible){color:var(--glass-ink,#174ea6)}
body.glass-ui button:is([data-action="start-issue"],[data-action="new"],[data-action="commit"],[type="submit"],[data-action="receive"],[data-action="sign-receipt"],[data-action="sign-return"],[data-action="return"],[data-action="confirm-return"],[data-action="edit-item"],[data-action="setup-item"],[data-action="export"],.excel-export,[data-action="refresh"],[data-action="cancel-handoff"],[data-action="document"],[data-action="export-items"]):not(:disabled):is(:hover,:focus-visible){--glass-ink:#fff;color:#fff;background:var(--glass-hover,#365314)}
body.glass-ui .handoff-link:is(:hover,:focus-visible){color:#fff;background:#115e59}


/* จำกัดพื้นที่ hover popup ให้ตรงข้อความชื่อรายการ */
body.glass-ui .item-copy > strong{width:fit-content;max-width:100%}

/* Desktop หนึ่งคอลัมน์และรายละเอียดทั้งหมดใน popup */
@media(min-width:1020px){body.glass-ui .inventory{grid-template-columns:minmax(0,1fr)}body.glass-ui .inventory>.detail-panel{display:none}body.glass-ui #glass-item-popup{width:420px;padding:0}body.glass-ui #glass-item-popup .detail-header{padding:16px 20px}body.glass-ui #glass-item-popup .detail-body{padding:20px}body.glass-ui #glass-item-popup .detail-actions{padding:16px 20px}body.glass-ui #glass-item-popup .product-stage .device-art{height:160px}body.glass-ui #glass-item-popup p{font-size:13px}body.glass-ui #glass-item-popup button{width:auto}body.glass-ui #glass-item-popup .wide{width:100%}}

@media(min-width:1020px){body.glass-ui .inventory .inventory-list{display:flex}body.glass-ui .desktop-table{display:block}body.glass-ui .tablet-list{display:none}}

/* แถบเครื่องมือคลังหนึ่งบรรทัดทุก viewport เลื่อนเฉพาะแถบเมื่อพื้นที่ไม่พอ */
body.glass-ui .inventory-list .list-toolbar{display:flex;flex-flow:row nowrap;align-items:center;gap:10px;padding:10px 12px;overflow-x:auto;overscroll-behavior-x:contain}
body.glass-ui .inventory-list .list-toolbar :is(.stock-list-heading,.search-row,.stock-filter-tools,.filter-row,.data-tools){display:contents}
body.glass-ui .inventory-list .list-toolbar h2{font-size:14px;white-space:nowrap;margin:0;flex:0 0 auto}
body.glass-ui .inventory-list .list-toolbar :is(button,.segments,.visibility-control,.data-tools label){flex-shrink:0;white-space:nowrap;margin:0}
body.glass-ui .inventory-list .list-toolbar .search{flex:1 0 160px;min-width:160px;margin:0}
body.glass-ui .inventory-list .list-toolbar :is(.visibility-control,.data-tools label){display:flex;align-items:center;gap:6px;font-size:12px}
body.glass-ui .inventory-list .list-toolbar select{display:block!important;flex:0 0 auto;min-width:0;width:auto;max-width:155px;min-height:44px;margin:0;font-size:12px;padding-inline:6px}
body.glass-ui .inventory-list .list-toolbar .excel-export{margin:0;padding:8px 10px}
body.glass-ui .inventory-list .list-toolbar .segments button{padding:6px 9px;min-height:44px}
body.glass-ui .inventory-list .list-toolbar{scrollbar-width:thin}body.glass-ui .inventory-list .list-toolbar .segments{padding:0;min-height:44px}

/* Touch และ scroll ใช้พฤติกรรม native ไม่ดักการปัดทั้งหน้า */
body.glass-ui .list-toolbar{touch-action:pan-x pan-y pinch-zoom;scroll-padding-inline:12px}
body.glass-ui .list-toolbar :is(button,input,select){scroll-margin-inline:12px}
body.glass-ui .list-toolbar .segments{gap:8px}
body.glass-ui :is(.desktop-table,.tablet-list,.ledger-card-wrap,.sheet-body,#glass-item-popup){-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
body.glass-ui #glass-item-popup{overscroll-behavior:contain;touch-action:pan-y pinch-zoom}
body.glass-ui #glass-item-popup .detail-header{position:sticky;top:0;z-index:1;background:#f7faff}
body.glass-ui #glass-item-popup .glass-popup-close{margin:0 0 0 auto;min-width:44px;min-height:44px;color:#174ea6;background:#eaf3ff}
body.glass-ui button:not(:disabled):active{box-shadow:inset 0 2px 5px #17243d30;filter:brightness(.92)}
@media(pointer:coarse){body.glass-ui :is(button,input,select){min-height:44px}body.glass-ui input,body.glass-ui select,body.glass-ui textarea{font-size:16px}body.glass-ui .row-actions{gap:8px}body.glass-ui .list-toolbar select{font-size:16px}}
/* KPI desktop: กำหนดพื้นที่ scroll จริง ป้องกัน overscroll contain บนกล่องที่ไม่ล้น */
@media(min-width:1020px){
 body.glass-ui.kpi-admin-page{height:100dvh;overflow:hidden}
 body.glass-ui.kpi-admin-page .app-shell{height:calc(100dvh - var(--write-status-height,0px));min-height:0}
 body.glass-ui.kpi-admin-page .main{height:100%;min-height:0;overflow:hidden}
 body.glass-ui.kpi-admin-page .page-content{height:100%;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}
}

/* กลุ่มบัญชีไม่กระจายเต็มแถบ */
body.glass-ui .staff-session{justify-content:flex-start;gap:8px;flex-wrap:wrap}body.glass-ui .staff-session button{min-height:44px}body.glass-ui .staff-session>span{flex:0 1 auto}

.account-menu-trigger{width:44px;min-height:44px;border:1px solid #dce9fc;background:#eaf3ff;color:#174ea6;box-shadow:inset 0 1px 0 #fff,0 2px 6px #17243d12}.account-menu-trigger:hover{background:#dbeafe}.account-menu-trigger:focus-visible{outline:3px solid #8bbcff;outline-offset:3px}.account-mobile{display:none}.account-desktop{margin-top:12px}body.glass-ui .account-menu-content{display:flex;flex-direction:column;align-items:stretch;padding:20px;margin:0;border:0;gap:12px}body.glass-ui .account-menu-content>span{white-space:normal;overflow-wrap:anywhere;color:#17243d}body.glass-ui .account-menu-content button{justify-content:flex-start;min-height:44px;border:1px solid #dce9fc;background:#eef5ff;color:#174ea6}@media(max-width:1019px){.account-desktop{display:none}.account-mobile{display:inline-flex;margin:0 0 12px}}

.staff .account-desktop{margin:0;flex-shrink:0;border-radius:50%}
