:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#173449;background:#f1f6fa;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:#073d53;color:white;padding:18px max(20px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 3px 14px #153f5020}.brand{display:flex;gap:12px;align-items:center}.brand strong{font-size:21px;letter-spacing:1px}.brand small{display:block;letter-spacing:2px;font-size:10px;color:#aad5e6;margin-top:3px}main{max-width:1120px;margin:auto;padding:20px}h1{font-size:clamp(25px,4vw,34px);margin:8px 0}h2{font-size:19px;margin:24px 0 8px}p{line-height:1.55}.muted,small{color:#587284;font-size:14px}.eyebrow{color:#14779d;letter-spacing:1.4px;font-size:11px;font-weight:750}.panel,.metric,.alert,.item{background:white;border:1px solid #dbe7ee;border-radius:16px;padding:22px;box-shadow:0 5px 18px #14394c05}.login{max-width:430px;margin:40px auto}label{display:block;font-size:14px;font-weight:650;margin:20px 0 6px}input{font:inherit;min-width:0;width:100%;padding:13px 12px;border:1px solid #afc5d2;border-radius:9px;background:white;color:#173449;margin-top:7px}input:focus{outline:3px solid #b0e1f4;border-color:#147fa5}button{font:inherit;font-weight:650;cursor:pointer;min-height:44px;border:1px solid #c8dce7;background:white;color:#164b63;padding:10px 16px;border-radius:9px}button:hover{background:#edf8fd}button:focus-visible{outline:3px solid #22a1cf;outline-offset:3px}button:disabled{opacity:.45;cursor:default}.primary{background:#087fa7;border-color:#087fa7;color:white}.primary:hover{background:#056487}.login .primary{width:100%;margin-top:24px}.password{display:flex;gap:6px;align-items:end}.password button{margin-top:7px}.titlebar{display:flex;justify-content:space-between;align-items:center;gap:14px}.titlebar p{margin:6px 0}nav{display:flex;gap:8px;margin:22px 0}nav .active{background:#073d53;color:white;border-color:#073d53}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.metric small{display:block}.metric strong{font-size:30px;display:block;margin-top:7px;color:#076f96;font-variant-numeric:tabular-nums}.alerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.alert{text-align:left;display:flex;flex-direction:column;align-items:start;gap:12px}.alert strong{font-size:30px;color:#a95c16}.alert span:last-child{font-size:13px;color:#14779d}.alert.zero strong{color:#476f82}.search{display:flex;gap:8px;align-items:end;margin-bottom:16px}.itemRows{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}.item h3{margin:0 0 7px;font-size:17px}.item .quantity{display:flex;justify-content:space-between;align-items:center;margin:17px 0 10px}.item .quantity strong{font-size:25px;color:#076f96}.item p{margin:7px 0}.item button{margin-top:10px}.pager{display:flex;align-items:center;justify-content:center;gap:20px;margin:22px 0}.pager span{font-size:14px}#message{border-radius:9px;padding:0;margin:0}#message:not(:empty){padding:13px;margin-bottom:15px;background:#fff0db;color:#844b17}footer{text-align:center;font-size:12px;line-height:1.8;color:#6b8190;padding:30px 0}dialog{border:1px solid #cadce7;border-radius:16px;max-width:1000px;width:calc(100% - 28px);padding:20px;color:#173449}dialog::backdrop{background:#062a3cc0}.tableScroll{overflow:auto;max-height:65vh}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:12px;border:1px solid #dbe7ee;white-space:nowrap}th{background:#edf5f9;position:sticky;top:0}tr:nth-child(even){background:#f7fafc}[hidden]{display:none!important}@media(max-width:520px){header{padding:14px 16px}main{padding:16px}.login{margin:20px auto}.summary{grid-template-columns:1fr 1fr}.metric{padding:16px}.metric strong{font-size:25px}.alerts{grid-template-columns:1fr 1fr;gap:10px}.alert{padding:16px;min-width:0;font-size:14px}.titlebar{align-items:start}.titlebar button{flex-shrink:0}.itemRows{grid-template-columns:1fr}}

#passkeyLogin{width:100%;margin-top:12px}#passkeySetup{margin:16px 0;padding:16px}#passkeyStatus{display:block;margin-top:8px;color:#075f52}

/* Keep wide tables inside the dialog and stop scroll gestures reaching the page. */
html{overflow-x:hidden;overscroll-behavior-y:none}
body{overflow-x:hidden;min-width:0;overflow-wrap:anywhere}
body.detail-open{position:fixed;left:0;right:0;overflow:hidden}
main,.brand,.titlebar>div,.itemRows,.item{min-width:0}
header{position:sticky;top:0;z-index:10;padding-top:max(14px,env(safe-area-inset-top))}
dialog[open]{display:flex;flex-direction:column;max-height:85vh;max-height:85dvh;overflow:hidden;overscroll-behavior:contain}
dialog>.titlebar,dialog>.pager{flex-shrink:0}
.tableScroll{min-height:0;max-width:100%;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media(max-width:520px){.brand strong{font-size:18px}.brand{gap:8px}header button{padding:8px 12px}.panel,.item{padding:16px}.titlebar{gap:8px}.pager{gap:12px}dialog{padding:12px}}
