*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:"Source Sans 3",Source Sans Pro,Segoe UI,sans-serif;color:#0f172a;background:#f8fafc;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;word-break:break-word}#root{width:100%;max-width:100vw;height:100vh;height:100dvh;overflow:hidden}html.admin-route,html.admin-route body{height:100%;overflow:hidden}html.admin-route #root{height:100%;height:100dvh;max-height:100dvh;overflow:hidden}.admin-scroll{height:100%;max-height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}img,svg,video,canvas{max-width:100%;height:auto}.app-layout{height:100vh;height:100dvh;max-width:100vw;overflow:hidden}@media (max-width: 768px){.app-layout{max-width:100vw}.app-layout .app-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:1001;width:min(280px,86vw);max-width:100%;transform:translate(-100%);transition:transform .25s ease-out;box-shadow:none;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-layout .app-sidebar.open{transform:translate(0);box-shadow:4px 0 24px #0003}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;animation:fadeIn .2s ease-out}.app-layout .app-main{min-width:0;width:100%;max-width:100%}.app-layout .app-content{min-width:0;max-width:100%;padding:16px!important;overflow-x:hidden}.app-layout .app-header{min-width:0;padding:12px 16px!important;gap:10px;flex-wrap:nowrap}.app-layout .app-header .page-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px!important}.app-layout .header-actions{flex-shrink:0;gap:8px!important;min-width:0}.app-layout .header-user-name{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.app-layout .header-version{display:none}.menu-toggle{display:flex!important;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:0;border:none;background:#f3f4f6;border-radius:8px;cursor:pointer;color:#374151;flex-shrink:0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px;max-width:calc(100% + 32px)}.table-scroll>div{min-width:min-content}.app-layout .tab-header-row{flex-wrap:wrap;gap:12px;align-items:stretch!important}.app-layout .tab-header-row>div{width:100%;min-width:0}.app-layout .tab-header-row .filter-group{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;padding-bottom:4px}.app-layout .tab-header-row .filter-group>button{flex:0 0 auto;white-space:nowrap}.app-layout .search-input-mobile,.app-layout .search-wrapper-mobile,.app-layout .tab-header-row input[type=text],.app-layout .tab-header-row input[type=search]{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box}.app-layout .add-button-touch{min-height:44px;width:100%;justify-content:center}.dashboard-grid,.stats-grid{grid-template-columns:1fr!important;gap:16px!important}.app-layout .stat-card,.app-layout [style*=statCard]{min-width:0}.form-row{grid-template-columns:1fr!important}.item-row{flex-wrap:wrap!important;align-items:stretch!important}.item-row>input[type=text],.item-row>input:first-of-type{flex:1 1 100%!important;width:100%!important;min-width:0!important}.item-row>input[type=number]{flex:1 1 40%!important;width:auto!important;min-width:0!important}.app-layout .report-card,.app-content>div,.settings-panel,.reports-panel{max-width:100%;min-width:0}.settings-panel,.reports-panel,.employment-panel{overflow-x:hidden}.app-layout input,.app-layout select,.app-layout textarea,.app-layout button,.settings-panel input,.settings-panel select,.settings-panel textarea,.settings-panel button,.reports-panel input,.reports-panel select,.reports-panel textarea,.reports-panel button{max-width:100%}.app-layout select,.settings-panel select,.reports-panel select{min-width:0}.app-layout .action-buttons,.app-layout [class*=actionButtons]{flex-wrap:wrap}.app-layout p,.settings-panel p,.reports-panel p,.app-layout .td,.table-scroll{overflow-wrap:anywhere}.settings-panel>div>[style*=grid-template-columns],.settings-panel .report-card>[style*=grid-template-columns],.reports-panel .report-card>[style*=grid-template-columns],.employment-panel .report-card>[style*=grid-template-columns],.stack-on-mobile{grid-template-columns:1fr!important}}@media (max-width: 480px){.app-layout .app-content{padding:12px!important}.app-layout .header-user-name{display:none}.table-scroll{margin:0 -12px;padding:0 12px;max-width:calc(100% + 24px)}.auth-box{padding:20px 16px!important;border-radius:10px}.auth-box .auth-title{font-size:22px!important}}@media (min-width: 769px){.menu-toggle,.sidebar-overlay{display:none!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.modal-overlay{padding:8px!important;align-items:flex-start!important;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-overlay>div{max-height:calc(100dvh - 16px)!important;max-width:100%!important;width:100%!important;margin:0 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-overlay form{min-width:0;padding:16px!important}.modal-overlay input,.modal-overlay select,.modal-overlay textarea{font-size:16px!important}.modal-overlay .form-row{grid-template-columns:1fr!important}.modal-overlay [style*="justifyContent: 'flex-end'"],.modal-overlay [style*="justify-content: flex-end"]{flex-wrap:wrap}.auth-container{max-width:100%;min-height:100vh;min-height:100dvh;padding:12px!important;align-items:flex-start!important}.auth-box{max-width:100%;padding:24px 20px}.auth-box .auth-title{font-size:24px}.dashboard-grid,.stats-grid{grid-template-columns:1fr}}@media (pointer: coarse){.app-layout .add-button-touch,.app-layout .menu-toggle,.app-layout .nav button,.app-layout .logout-button{min-height:44px}.app-layout .icon-button,.modal-overlay button{min-height:40px;min-width:40px}}.app-sidebar .sidebar-close-btn{display:none}@media (max-width: 768px){.app-sidebar .sidebar-close-btn{display:flex;position:absolute;right:12px;top:50%;transform:translateY(-50%);align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;background:#ffffff1a;border-radius:8px;color:#fff;cursor:pointer}}.employment-panel{max-width:100%;min-width:0;overflow-x:hidden}.employment-panel input,.employment-panel select,.employment-panel textarea,.employment-panel button{max-width:100%}@media (max-width: 768px){.employment-panel,.settings-panel,.reports-panel{max-width:100%;overflow-x:hidden}}
