@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap");:root{--font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--bg-main:#f8fafc;--bg-surface:#fff;--bg-surface-alt:#f1f5f9;--bg-subtle:#f8fafc;--border-subtle:#e2e8f0;--border-strong:#cbd5e1;--text-main:#0f172a;--text-muted:#64748b;--text-dim:#94a3b8;--text-inverse:#fff;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#eff6ff;--primary-border:#bfdbfe;--accent-indigo:#4f46e5;--accent-indigo-light:#eef2ff;--success:#10b981;--success-light:#ecfdf5;--success-border:#a7f3d0;--warning:#f59e0b;--warning-light:#fffbeb;--warning-border:#fde68a;--danger:#ef4444;--danger-light:#fef2f2;--danger-border:#fecaca;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.04);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.08),0 8px 10px -6px rgba(0,0,0,.03);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:250ms cubic-bezier(0.4,0,0.2,1)}html{scroll-behavior:smooth;width:100%;max-width:100%;overflow-x:hidden}*,:after,:before{box-sizing:border-box;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}:hover{scrollbar-color:#94a3b8 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent;border-radius:9999px}::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:9999px;border:2px solid transparent;background-clip:padding-box;-webkit-transition:background-color .2s ease,border-color .2s ease;transition:background-color .2s ease,border-color .2s ease}::-webkit-scrollbar-thumb:hover{background-color:#94a3b8}::-webkit-scrollbar-thumb:active{background-color:var(--primary)}::-webkit-scrollbar-corner{background:transparent}.modal-body,.modal-content,.overflow-auto,.overflow-x-auto,.overflow-y-auto,.table-container{scrollbar-width:thin;scrollbar-color:#cbd5e1 rgba(241,245,249,.5)}.modal-body::-webkit-scrollbar,.modal-content::-webkit-scrollbar,.overflow-auto::-webkit-scrollbar,.overflow-x-auto::-webkit-scrollbar,.overflow-y-auto::-webkit-scrollbar,.table-container::-webkit-scrollbar{width:6px;height:6px}.modal-body::-webkit-scrollbar-track,.modal-content::-webkit-scrollbar-track,.overflow-auto::-webkit-scrollbar-track,.overflow-x-auto::-webkit-scrollbar-track,.overflow-y-auto::-webkit-scrollbar-track,.table-container::-webkit-scrollbar-track{background:rgba(241,245,249,.7);border-radius:9999px}.modal-body::-webkit-scrollbar-thumb,.modal-content::-webkit-scrollbar-thumb,.overflow-auto::-webkit-scrollbar-thumb,.overflow-x-auto::-webkit-scrollbar-thumb,.overflow-y-auto::-webkit-scrollbar-thumb,.table-container::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:9999px;border:1px solid transparent;background-clip:padding-box}.modal-body::-webkit-scrollbar-thumb:hover,.modal-content::-webkit-scrollbar-thumb:hover,.overflow-auto::-webkit-scrollbar-thumb:hover,.overflow-x-auto::-webkit-scrollbar-thumb:hover,.overflow-y-auto::-webkit-scrollbar-thumb:hover,.table-container::-webkit-scrollbar-thumb:hover{background-color:var(--primary)}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-main);min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased}canvas,img,svg,video{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6{color:var(--text-main);font-weight:700;letter-spacing:-.02em}a{color:inherit;text-decoration:none}.app-container{width:100%;max-width:100%;margin:0;padding:0 2rem 3rem;box-sizing:border-box}.header-nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;background-color:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);margin-bottom:1.75rem;width:100%}.header-inner{width:100%;max-width:100%;margin:0;padding:.75rem 2rem;justify-content:space-between;gap:1.25rem;box-sizing:border-box}.brand-wrapper,.header-inner{display:flex;align-items:center}.brand-wrapper{gap:.75rem}.brand-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary) 0,var(--accent-indigo) 100%);color:#fff;border-radius:var(--radius-md);justify-content:center;box-shadow:0 4px 10px rgba(37,99,235,.25)}.brand-icon,.brand-title{display:flex;align-items:center}.brand-title{font-size:1.15rem;font-weight:800;letter-spacing:-.03em;color:var(--text-main);gap:.4rem}.brand-subtitle{font-size:.72rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.nav-tabs{background-color:var(--bg-surface-alt);padding:.25rem .35rem;border-radius:var(--radius-md);gap:.25rem;border:1px solid var(--border-subtle);flex-wrap:nowrap}.nav-tab-btn,.nav-tabs{display:flex;align-items:center}.nav-tab-btn{gap:.45rem;padding:.5rem .85rem;font-size:.84rem;font-weight:600;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;white-space:nowrap}.nav-tab-btn:hover{color:var(--text-main);background-color:hsla(0,0%,100%,.6)}.nav-tab-btn.active{background-color:var(--bg-surface);color:var(--primary);box-shadow:var(--shadow-sm)}.desktop-only{display:flex!important}.mobile-only{display:none!important}.tab-label-short{display:none}.tab-label-full{display:inline}@media (min-width:1081px) and (max-width:1300px){.tab-label-full{display:none}.tab-label-short{display:inline}.nav-tab-btn{padding:.42rem .65rem;font-size:.8rem;gap:.35rem}}@media (min-width:1301px){.nav-tab-btn{padding:.5rem .95rem;font-size:.875rem;gap:.45rem}}.header-right-actions{flex-shrink:0}.auth-pill,.header-right-actions{display:flex;align-items:center;gap:.75rem}.user-badge{gap:.6rem;background-color:var(--bg-surface);padding:.4rem .8rem;border-radius:var(--radius-full);border:1px solid var(--border-subtle);font-size:.825rem;font-weight:600}.avatar-circle,.user-badge{display:flex;align-items:center}.avatar-circle{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#e0e7ff,#dbeafe);color:var(--primary);justify-content:center;font-size:.75rem;font-weight:700}.nav-mobile-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background-color:var(--bg-surface);color:var(--text-main);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.nav-mobile-toggle:hover{background-color:var(--bg-surface-alt);border-color:var(--primary);color:var(--primary)}.mobile-user-avatar{display:none;align-items:center}.nav-mobile-drawer{border-top:1px solid var(--border-subtle);background-color:hsla(0,0%,100%,.98);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:.85rem 1.25rem 1.5rem;box-shadow:0 16px 32px -8px rgba(15,23,42,.12);animation:slideDownMenu .22s cubic-bezier(.16,1,.3,1);max-height:calc(100vh - 65px);overflow-y:auto}@keyframes slideDownMenu{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nav-mobile-header{display:flex;align-items:center;justify-content:space-between;padding:0 .25rem .65rem;margin-bottom:.5rem;border-bottom:1px dashed var(--border-subtle)}.nav-mobile-header-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.nav-mobile-count{font-size:.72rem;font-weight:600;background-color:var(--bg-surface-alt);color:var(--text-muted);padding:.15rem .5rem;border-radius:var(--radius-full)}.nav-mobile-list{display:flex;flex-direction:column;gap:.35rem}.nav-mobile-item{display:flex;align-items:center;justify-content:space-between;padding:.7rem .85rem;border-radius:var(--radius-md);border:1px solid transparent;background-color:var(--bg-surface);color:var(--text-main);font-size:.9rem;font-weight:600;cursor:pointer;text-align:left;width:100%;transition:all var(--transition-fast)}.nav-mobile-item:hover{background-color:var(--bg-surface-alt);color:var(--primary);border-color:var(--border-subtle)}.nav-mobile-item.active{background:linear-gradient(90deg,rgba(37,99,235,.08),rgba(37,99,235,.03));color:var(--primary);font-weight:700;border-color:rgba(37,99,235,.25);box-shadow:0 2px 6px rgba(37,99,235,.06)}.nav-mobile-item-left{display:flex;align-items:center;gap:.75rem}.nav-mobile-icon-box{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background-color:var(--bg-surface-alt);color:var(--text-muted);transition:all var(--transition-fast)}.nav-mobile-item.active .nav-mobile-icon-box{background-color:var(--primary);color:#fff;box-shadow:0 2px 6px rgba(37,99,235,.3)}.nav-mobile-item:hover .nav-mobile-icon-box{color:var(--primary)}.nav-mobile-label{font-size:.9rem}.nav-mobile-active-pill{font-size:.68rem;font-weight:700;padding:.2rem .55rem;border-radius:var(--radius-full);background-color:var(--primary);color:#fff;letter-spacing:.04em;text-transform:uppercase}.nav-mobile-chevron{color:var(--text-muted);opacity:.6}.nav-mobile-footer{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border-subtle)}.nav-mobile-user{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background-color:var(--bg-surface-alt);padding:.65rem .85rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.nav-mobile-user-info{display:flex;align-items:center;gap:.65rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-family);font-size:.875rem;font-weight:600;padding:.6rem 1.1rem;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--primary) 0,#1d4ed8 100%);color:#fff;box-shadow:0 2px 4px rgba(37,99,235,.2)}.btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 4px 10px rgba(37,99,235,.3);transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-surface);color:var(--text-main);border-color:var(--border-subtle)}.btn-secondary:hover{background-color:var(--bg-surface-alt);border-color:var(--border-strong)}.btn-danger-outline{background-color:transparent;color:var(--danger);border-color:var(--danger-border)}.btn-danger-outline:hover{background-color:var(--danger-light)}.btn svg{flex-shrink:0}.btn-icon-only{width:32px!important;min-width:32px!important;height:32px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.btn-icon-only,.btn-icon-only svg{flex-shrink:0!important}.btn-sm{padding:.35rem .65rem;font-size:.8rem;border-radius:var(--radius-sm)}.card{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem;transition:box-shadow var(--transition-fast);max-width:100%;min-width:0;box-sizing:border-box}.card:hover{box-shadow:var(--shadow-md)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1.25rem;gap:1.25rem;margin-bottom:2rem}.stat-card{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem;gap:1rem;box-shadow:var(--shadow-sm)}.stat-card,.stat-icon{display:flex;align-items:center}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);justify-content:center;font-size:1.25rem}.stat-value{font-size:1.65rem;font-weight:800;letter-spacing:-.02em;color:var(--text-main);line-height:1.2}.stat-label{font-size:.825rem;font-weight:500;color:var(--text-muted)}.month-selector-bar{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-sm)}.year-picker-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.year-controls{display:flex;align-items:center;gap:.5rem}.year-badge{font-size:1.15rem;font-weight:800;color:var(--primary);background-color:var(--primary-light);padding:.25rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--primary-border)}.month-chips-scroll{display:flex;gap:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.35rem;scrollbar-width:thin;max-width:100%}.month-chip{flex-shrink:0;padding:.45rem .85rem;border-radius:var(--radius-full);border:1px solid var(--border-subtle);background-color:var(--bg-surface-alt);font-size:.825rem;font-weight:600;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all var(--transition-fast)}.month-chip:hover{background-color:var(--border-subtle);color:var(--text-main)}.month-chip.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 6px rgba(37,99,235,.25)}.month-chip-count{font-size:.7rem;padding:.1rem .4rem;border-radius:var(--radius-full);background-color:hsla(0,0%,100%,.3)}.month-chip.active .month-chip-count{background-color:hsla(0,0%,100%,.25);color:#fff}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.badge-public{background-color:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.badge-national{background-color:#fef3c7;color:#92400e;border:1px solid #fde68a}.badge-company{background-color:#ede9fe;color:#5b21b6;border:1px solid #ddd6fe}.badge-active{background-color:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.badge-inactive{background-color:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.table-responsive{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background-color:var(--bg-surface);position:relative;min-width:0;box-sizing:border-box}.custom-table,.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.custom-table th,.data-table th{background-color:var(--bg-surface-alt);font-weight:700;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.custom-table td,.custom-table th,.data-table td,.data-table th{padding:.85rem 1rem;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.custom-table td,.data-table td{color:var(--text-main);vertical-align:middle}.custom-table tbody tr:hover,.data-table tbody tr:hover{background-color:#f8fafc}.employers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));grid-gap:1.5rem;gap:1.5rem}.dashboard-snapshots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));grid-gap:1.5rem;gap:1.5rem}.preview-scroll-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.preview-scroll-container,.search-input-wrapper{max-width:100%;box-sizing:border-box}.employer-card{background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.25rem;box-shadow:var(--shadow-sm);transition:all var(--transition-fast);position:relative}.employer-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.employer-logo-frame{width:56px;height:56px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background-color:var(--bg-surface-alt);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.employer-logo-frame img{width:100%;height:100%;object-fit:cover}.employer-logo-placeholder{font-size:1.2rem;font-weight:800;color:var(--primary)}.modal-overlay{position:fixed;inset:0;background-color:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease-out}.modal-content{background-color:var(--bg-surface);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);box-shadow:var(--shadow-xl);width:100%;max-width:620px;max-height:90vh;overflow-y:auto;animation:slideUp .25s cubic-bezier(.16,1,.3,1)}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:1.5rem}.modal-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:flex-end;gap:.75rem;background-color:var(--bg-surface-alt);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl)}.form-group{margin-bottom:1.2rem}.form-label{display:block;font-size:.825rem;font-weight:600;color:var(--text-main);margin-bottom:.35rem}.form-label .required{color:var(--danger);margin-left:.2rem}.form-label .optional-tag{font-size:.7rem;font-weight:400;color:var(--text-dim);margin-left:.35rem}.form-input,.form-select,.form-textarea{width:100%;font-family:var(--font-family);font-size:.875rem;padding:.65rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background-color:var(--bg-surface);color:var(--text-main);transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.15)}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.file-dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-md);padding:1.5rem;text-align:center;cursor:pointer;background-color:var(--bg-surface-alt);transition:all var(--transition-fast)}.file-dropzone:hover{border-color:var(--primary);background-color:var(--primary-light)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:100;display:flex;flex-direction:column;gap:.5rem}.toast{background-color:var(--text-main);color:#fff;padding:.8rem 1.25rem;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.6rem;animation:slideUp .2s ease-out}.toast-success{background-color:#065f46;border:1px solid #10b981}.toast-error{background-color:#7f1d1d;border:1px solid #ef4444}.toast-warning{background-color:#78350f;border:1px solid #f59e0b}@media (max-width:1080px){.desktop-only{display:none!important}.mobile-only,.mobile-user-avatar,.nav-mobile-toggle{display:flex!important}.app-container{padding:0 1.25rem 2.5rem}.header-inner{padding:.75rem 1.25rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}}@media (max-width:768px){.app-container{padding:0 1rem 2rem}.header-inner{flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem}.brand-wrapper{justify-content:flex-start;gap:.6rem}.brand-icon{width:34px;height:34px}.brand-title{font-size:1.05rem}.brand-subtitle{font-size:.65rem}.form-grid-2{grid-template-columns:1fr!important;gap:.85rem}.dashboard-snapshots-grid,.employers-grid{grid-template-columns:1fr}.year-picker-row{flex-direction:column;align-items:flex-start;gap:.75rem}.card{padding:1.25rem}.modal-overlay{padding:.75rem}.modal-content{max-width:96vw;border-radius:var(--radius-lg)}.modal-header{padding:1rem 1.25rem}.modal-body{padding:1.25rem}.modal-footer{padding:1rem 1.25rem;flex-wrap:wrap;justify-content:stretch}.modal-footer .btn{flex:1 1 auto}}@media (max-width:520px){.app-container{padding:0 .75rem 1.5rem}.brand-subtitle{display:none}.brand-title{font-size:.98rem}.card{padding:1rem;border-radius:var(--radius-md)}.stats-grid{grid-template-columns:1fr;gap:.75rem}.stat-card{padding:1rem}.btn{padding:.5rem .85rem;font-size:.825rem}.modal-overlay{padding:.5rem}.modal-content{max-height:94vh;border-radius:14px}.modal-body,.modal-footer,.modal-header{padding:.85rem 1rem}.preview-scroll-container{padding:1.25rem .5rem!important}}