@font-face{font-family:Helvetica Neue VN;src:url(/fonts/HelveticaNeue-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue VN;src:url(/fonts/HelveticaNeue-Medium.ttf) format("truetype");font-weight:500 600;font-style:normal;font-display:swap}@font-face{font-family:Helvetica Neue VN;src:url(/fonts/HelveticaNeue-Bold.ttf) format("truetype");font-weight:700 900;font-style:normal;font-display:swap}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;min-height:100vh}body{font-family:Helvetica Neue VN,Segoe UI,Roboto,system-ui,sans-serif;background:#ecf1f5;color:#16202b;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color-scheme:light}.flex{display:flex}.flex-col{flex-direction:column}.grid{display:grid}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.ff-mono{font-family:Helvetica Neue VN,Segoe UI,Roboto,system-ui,sans-serif;font-variant-numeric:tabular-nums}.ff-disp{font-family:Helvetica Neue VN,Segoe UI,Roboto,system-ui,sans-serif}@media (max-width: 820px){.mb-stack{grid-template-columns:1fr!important}.app-content{padding:12px!important}.app-header{padding:7px 12px!important}.app-header .ff-disp{font-size:15px!important}.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.tbl-scroll>.grid{min-width:560px}}.stage-btn{cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.stage-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000024}.stage-btn:active{transform:translateY(0)}.view-fill{flex:1;min-height:0;display:flex;flex-direction:column}@media (max-width: 820px){.view-fill{display:block}}.master-detail{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:14px;align-items:stretch;flex:1;min-height:0}.master-detail>.md-list,.master-detail>.md-detail{overflow-y:auto;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.master-detail>.md-list::-webkit-scrollbar,.master-detail>.md-detail::-webkit-scrollbar{width:0;height:0;display:none}.toolbar-sticky{position:sticky;top:-12px;z-index:6;background:#ecf1f5;padding-top:2px;padding-bottom:6px;margin-bottom:6px;box-shadow:0 -16px #ecf1f5;flex-shrink:0}.master-detail>.md-back{display:none}@media (max-width: 1180px){.master-detail{grid-template-columns:minmax(228px,264px) minmax(0,1fr)}}@media (max-width: 820px){.master-detail{display:block;height:auto}.master-detail>.md-list{position:static;max-height:none;overflow:visible}.master-detail.md-list-active>.md-detail{display:none}.master-detail.md-detail-active{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#ecf1f5;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px}.has-bottomnav .master-detail.md-detail-active{padding-bottom:68px}.master-detail.md-detail-active>.md-list{display:none}.master-detail.md-detail-active>.md-detail{animation:slideInRight .22s cubic-bezier(.16,1,.3,1)}.master-detail.md-detail-active>.md-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;position:sticky;top:0;z-index:1;background:#fff;border:1px solid #DCE3EA;border-radius:8px;padding:8px 13px;font-size:13px;font-weight:600;color:#16202b;cursor:pointer}}@keyframes slideInRight{0%{opacity:.4;transform:translate(26px)}to{opacity:1;transform:translate(0)}}@media (max-width: 820px){.hide-mobile{display:none!important}}.quicknav{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.quicknav::-webkit-scrollbar{display:none}.quicknav .qn-item{display:flex;flex-direction:column;align-items:center;gap:1px;background:transparent;border:none;border-radius:8px;padding:3px 10px;font-size:11px;font-weight:600;color:#5c6b7a;cursor:pointer;white-space:nowrap;line-height:1.1}.quicknav .qn-item svg{flex-shrink:0;width:18px;height:18px}@media (max-width: 820px){.quicknav{position:fixed;left:0;right:0;bottom:0;z-index:90;flex:none;justify-content:space-around;gap:2px;background:#fff;border-top:1px solid #DCE3EA;padding:5px 6px;box-shadow:0 -2px 14px #00000012}.quicknav .qn-item{flex-direction:column;gap:2px;font-size:10px;font-weight:600;padding:4px 6px;flex:1;min-width:0}.quicknav .qn-item span{overflow:hidden;text-overflow:ellipsis;max-width:100%}.app-content.has-bottomnav{padding-bottom:64px!important}}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}.thin-scroll{scrollbar-width:thin;scrollbar-color:transparent transparent}.thin-scroll:hover{scrollbar-color:rgba(140,153,167,.5) transparent}.thin-scroll::-webkit-scrollbar{width:6px;height:6px}.thin-scroll::-webkit-scrollbar-track{background:transparent}.thin-scroll::-webkit-scrollbar-thumb{background:transparent;border-radius:99px}.thin-scroll:hover::-webkit-scrollbar-thumb{background:#8c99a759}.thin-scroll::-webkit-scrollbar-thumb:hover{background:#8c99a799}@keyframes navTipIn{0%{opacity:0;transform:translateY(-50%) translate(-8px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.nav-tip{animation:navTipIn .14s cubic-bezier(.16,1,.3,1)}.print-area{font-family:Times New Roman,Times,serif}@media print{body *{visibility:hidden!important}.print-area,.print-area *{visibility:visible!important}.print-area{position:absolute!important;left:0;top:0;width:100%;box-shadow:none!important}.no-print{display:none!important}@page{size:A4;margin:12mm}}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b11178c;z-index:55;border:none;cursor:pointer}
