*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy: #1a3a6b;--navy-light: #24519a;--navy-bg: #E6F1FB;--gold: #F7D618;--red: #E8272A;--green: #3B6D11;--green-bg: #EAF3DE;--amber: #BA7517;--amber-bg: #FAEEDA;--danger: #A32D2D;--danger-bg: #FCEBEB;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sidebar-w: 236px;--topbar-h: 52px;--header-h: 58px;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px}html,body,#root{height:100%;font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;font-size:14px;color:#1a1a1a;background:#f0f4f8}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media (max-width: 768px){.grid-2,.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.grid-4{grid-template-columns:1fr}}.hide-mobile{display:block}.show-mobile{display:none}@media (max-width: 768px){.hide-mobile{display:none!important}.show-mobile{display:block!important}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.card{background:#fff;border:.5px solid #e5e5e5;border-radius:12px;overflow:hidden}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}button{font-family:inherit;cursor:pointer}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy)!important}.toast-container{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px}@media (max-width: 480px){.toast-container{bottom:10px;right:10px;left:10px}}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100}@media (max-width: 768px){.sidebar-overlay.open{display:block}}.page-content{flex:1;overflow-y:auto;padding:16px 20px}@media (max-width: 768px){.page-content{padding:12px 14px}}@media (max-width: 480px){.page-content{padding:10px}}
