@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap");:root{--primary:#0abab5;--primary-light:#f0fbfb;--primary-dark:#088c87;--primary-glow:rgba(10,186,181,.12);--accent:#f59e0b;--accent-light:#fef3c7;--accent-dark:#b45309;--accent-glow:rgba(245,158,11,.2);--health:#10b981;--health-light:#ecfdf5;--health-dark:#065f46;--health-glow:rgba(16,185,129,.15);--danger:#ef4444;--danger-light:#fef2f2;--danger-dark:#991b1b;--bg-main:#fff;--bg-sidebar:#088c87;--bg-card:#fff;--bg-input:#fcfdfd;--border:#e2e8f0;--border-focus:#0abab5;--text-main:#1e293b;--text-muted:#64748b;--text-light:#0f172a;--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--shadow-sm:0 1px 3px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.02);--shadow-md:0 4px 6px -1px rgba(0,0,0,.05),0 2px 4px -1px rgba(0,0,0,.02);--shadow-lg:0 10px 15px -3px rgba(10,186,181,.04),0 4px 6px -2px rgba(10,186,181,.02)}.light-theme{--bg-main:#f8fafc;--bg-sidebar:#1e3a8a;--bg-card:#fff;--bg-input:#fff;--border:#e2e8f0;--text-main:#0f172a;--text-muted:#64748b}*{box-sizing:border-box;margin:0;padding:0;transition:background-color .3s ease,border-color .3s ease}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-main);color:var(--text-main);line-height:1.5;overflow-x:hidden;background-image:radial-gradient(at 0 0,rgba(10,186,181,.08) 0,transparent 50%),radial-gradient(at 100% 100%,rgba(245,158,11,.03) 0,transparent 50%)}h1,h2,h3,h4,h5{font-family:Outfit,sans-serif;font-weight:700;color:var(--text-light);letter-spacing:-.02em}.app-container{display:flex;min-height:100vh}.sidebar{width:280px;background-color:var(--bg-sidebar);padding:2.5rem 1.5rem;flex-direction:column;gap:2.5rem;flex-shrink:0;border-right:1px solid var(--border);box-shadow:4px 0 24px rgba(0,0,0,.25);z-index:10}.sidebar,.sidebar-logo{color:#fff;display:flex}.sidebar-logo{font-family:Outfit,sans-serif;font-weight:800;font-size:1.3rem;align-items:center;gap:.75rem;letter-spacing:.05em;text-shadow:0 0 12px rgba(37,99,235,.4)}.sidebar-menu{list-style:none;display:flex;flex-direction:column;gap:.65rem}.sidebar-link{color:hsla(0,0%,100%,.75);text-decoration:none;font-weight:600;font-size:.95rem;padding:.85rem 1.1rem;border-radius:var(--radius-sm);display:flex;align-items:center;gap:.85rem;transition:all .25s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.sidebar-link:hover{color:#fff;background-color:hsla(0,0%,100%,.08);transform:translateX(4px)}.sidebar-link.active{color:#fff;background:linear-gradient(135deg,var(--primary) 0,#1d4ed8 100%);box-shadow:0 4px 14px var(--primary-glow);border:1px solid hsla(0,0%,100%,.1)}.workspace{flex:1 1;padding:3rem;overflow-y:auto;max-height:100vh}.card,.workspace{position:relative}.card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-md);margin-bottom:1.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.08),transparent);transition:all .5s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:hsla(0,0%,100%,.12)}.card:hover:before{background:linear-gradient(90deg,transparent,var(--primary),transparent)}.grid-cols-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.75rem;gap:1.75rem}.grid-cols-3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.75rem;gap:1.75rem}.form-group{margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.form-input{width:100%;box-sizing:border-box;padding:.85rem 1.1rem;border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;background-color:var(--bg-input);color:var(--text-light);outline:none;transition:all .25s ease;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.form-input::placeholder{color:#64748b}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 4px var(--primary-glow);transform:scale(1.01)}.btn{padding:.85rem 1.75rem;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;cursor:pointer;border:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:.6rem;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,var(--primary) 0,#1d4ed8 100%);color:var(--text-light);box-shadow:0 4px 14px var(--primary-glow)}.btn-primary:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,99,235,.35)}.btn-primary:active{transform:translateY(0)}.btn-outline{background-color:transparent;border:1.5px solid var(--border);color:var(--text-main)}.btn-outline:hover{background-color:hsla(0,0%,100%,.03);border-color:var(--text-muted);transform:translateY(-2px)}.badge{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-sm)}.badge-active{background-color:var(--health-glow);color:var(--health);border:1px solid rgba(16,185,129,.3)}.badge-pending{background-color:var(--accent-glow);color:var(--accent);border:1px solid rgba(245,158,11,.3)}.badge-danger{background-color:rgba(239,68,68,.1);color:var(--danger);border:1px solid rgba(239,68,68,.3)}table{width:100%;border-collapse:separate;border-spacing:0}th{background-color:hsla(0,0%,100%,.02);color:var(--text-muted);font-weight:600;padding:1.1rem;border-bottom:2px solid var(--border);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}td{padding:1.25rem 1.1rem;border-bottom:1px solid var(--border);color:var(--text-main);font-size:.92rem}tr:hover td{background-color:hsla(0,0%,100%,.015)}tr:last-child td{border-bottom:none}.glass-panel{background:rgba(30,41,59,.7);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid hsla(0,0%,100%,.08)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%{box-shadow:0 0 0 0 rgba(37,99,235,.4)}70%{box-shadow:0 0 0 8px rgba(37,99,235,0)}to{box-shadow:0 0 0 0 rgba(37,99,235,0)}}.animate-fade-in{animation:fadeIn .4s cubic-bezier(.4,0,.2,1) forwards}.pulse-glow{animation:pulseGlow 2s infinite}.barcode-line{height:40px;background-color:var(--text-light);opacity:.8;display:inline-block}@media print{.app-container>aside,.sidebar,aside,header{display:none!important}body,html{background:#fff!important;background-image:none!important;color:#0f172a!important}.app-container{display:block!important}.app-container,.workspace{padding:0!important;margin:0!important;background:#fff!important}.workspace{max-height:none!important;overflow:visible!important}.workspace>div>:not(.printable-modal-wrapper){display:none!important}.printable-modal-wrapper{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;z-index:auto!important}.printable-modal-wrapper,.printable-report{background:#fff!important;display:block!important;padding:0!important;margin:0!important;overflow:visible!important}.printable-report{width:100%!important;max-width:100%!important;color:#0f172a!important;box-shadow:none!important;border:none!important;max-height:none!important}.printable-report *{color:#0f172a!important;border-color:#e2e8f0!important}.no-print,.no-print *,.printable-report button,.printable-report input,.printable-report select{display:none!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.mobile-toggle{display:none!important}@media (max-width:1200px){.desktop-nav{display:none!important}.mobile-toggle{display:block!important}}@media (max-width:968px){.app-container{flex-direction:column!important}.sidebar{width:100%!important;height:auto!important;padding:1.5rem!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important;border-right:none!important;border-bottom:1px solid var(--border)!important;gap:1.5rem!important}.sidebar-menu{flex-direction:row!important;flex-wrap:wrap!important;gap:.5rem!important}.sidebar-link{padding:.5rem .85rem!important;font-size:.85rem!important}.workspace{padding:1.5rem!important;max-height:none!important;overflow:visible!important}}@media (max-width:768px){.grid-cols-2,.grid-cols-3,div[style*="display: grid"][style*=grid-template-columns],div[style*="display: grid"][style*=gridTemplateColumns],div[style*="display:grid"][style*=gridTemplateColumns]{grid-template-columns:1fr!important;gap:1.25rem!important}}@media (max-width:480px){nav{padding:.75rem 1rem!important}nav a span{font-size:.9rem!important}}.calendar-layout-grid{display:grid;grid-template-columns:7.5fr 4.5fr;grid-gap:1.75rem;gap:1.75rem;align-items:start}@media (max-width:968px){.calendar-layout-grid{grid-template-columns:1fr!important;gap:1.25rem!important}}.calendar-days-grid,.calendar-week-grid,section.calendar-days-grid,section.calendar-week-grid{display:grid!important;grid-template-columns:repeat(7,1fr)!important;grid-gap:8px!important;gap:8px!important}@media (max-width:768px){.calendar-layout-grid .card{padding:.75rem!important}.calendar-days-grid,.calendar-week-grid,section.calendar-days-grid,section.calendar-week-grid{gap:4px!important;padding-left:4px!important;padding-right:4px!important}.calendar-days-grid button{border-radius:8px!important;padding:.35rem .2rem!important}.calendar-week-grid span{font-size:.72rem!important}}.card-layout-grid{display:grid;grid-template-columns:460px 1fr;grid-gap:2rem;gap:2rem;align-items:start}@media (max-width:768px){.card-layout-grid{grid-template-columns:1fr!important;gap:1.25rem!important}}.modal-card-small{max-width:550px;padding:2rem}.modal-card-large,.modal-card-small{width:100%;background:#0f172a;border:1px solid hsla(0,0%,100%,.1);border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.5);max-height:90vh;overflow-y:auto}.modal-card-large{max-width:780px;padding:2.5rem}.responsive-modal-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.responsive-modal-grid-3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.responsive-modal-grid-4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem}.desktop-only{display:block}.mobile-only{display:none!important}@media (max-width:768px){.modal-card-large,.modal-card-small{padding:1.25rem!important;border-radius:16px!important}.responsive-modal-grid-2,.responsive-modal-grid-3{grid-template-columns:1fr!important;gap:.75rem!important}.responsive-modal-grid-4{grid-template-columns:1fr 1fr!important;gap:.75rem!important}.desktop-only{display:none!important}.mobile-only{display:block!important}}@media (max-width:480px){.responsive-modal-grid-4{grid-template-columns:1fr!important}}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:4rem;gap:4rem;align-items:center}.responsive-grid-4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1.5rem;gap:1.5rem}.responsive-grid-2{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:2.5rem;gap:2.5rem}.skills-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}@media (max-width:968px){.hero-grid{grid-template-columns:1fr;gap:2.5rem;text-align:center}.responsive-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.responsive-grid-2,.responsive-grid-4{grid-template-columns:1fr}.responsive-grid-2{gap:1.5rem}.skills-grid{grid-template-columns:1fr}}.sidebar h1,.sidebar h2,.sidebar h3,.sidebar h4,.sidebar h5,.sidebar h6{color:#fff!important}.sidebar label,.sidebar p,.sidebar span{color:hsla(0,0%,100%,.75)!important}.sidebar strong{color:#fff!important}.union-member-card{container-type:inline-size;width:100%;max-width:440px;aspect-ratio:1.586;background:linear-gradient(135deg,#0f172a,#1e293b 50%,#0b1329);color:#fff;padding:5.5cqw 6cqw;border-radius:4.5cqw;box-shadow:0 20px 45px rgba(0,0,0,.5),inset 0 1px 1px hsla(0,0%,100%,.15);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;border:1px solid hsla(0,0%,100%,.12);z-index:1}.union-member-card.admin-theme{background:linear-gradient(135deg,#1e3a8a,#0f172a);border:1px solid hsla(0,0%,100%,.08);box-shadow:0 20px 40px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.1)}.union-member-card-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 45%,hsla(0,0%,100%,.08) 50%,transparent 55%);pointer-events:none;z-index:0}.union-member-card-header{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:2}.union-member-card-title{color:#fff!important;font-size:clamp(12px,3.6cqw,16px);font-weight:700;margin:0;font-family:Outfit,sans-serif;line-height:1.2}.union-member-card-subtitle{font-size:clamp(8px,2.4cqw,11px);color:var(--accent)!important;font-weight:700;letter-spacing:.08em;display:block;margin-top:.5cqw}.union-member-card-logo-container{display:flex;gap:1.5cqw;align-items:center}.union-member-card-logo{width:clamp(20px,6.5cqw,28px)!important;height:clamp(20px,6.5cqw,28px)!important;border-radius:50%;border:1px solid hsla(0,0%,100%,.2);background-color:#fff;padding:.2cqw}.union-member-card-logo.aplus{background-color:#0d162d;object-fit:contain}.union-member-card-body{display:flex;gap:3.6cqw;align-items:center;margin:1.5cqw 0;position:relative;z-index:2}.union-member-card-photo-frame{width:14cqw;height:17cqw;background-color:#1e293b;border:.45cqw solid var(--accent);border-radius:1.3cqw;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px rgba(0,0,0,.3);position:relative;flex-shrink:0}.union-member-card-photo-tag{position:absolute;bottom:0;left:0;right:0;background-color:rgba(245,158,11,.9);color:#000!important;font-size:clamp(5px,1.2cqw,7px);font-weight:700;text-align:center;padding:.2cqw 0}.union-member-card-info-col{flex:1 1;display:flex;flex-direction:column;gap:1.2cqw;min-width:0}.union-member-card-label{font-size:clamp(7px,2.2cqw,10px);color:hsla(0,0%,100%,.6)!important;text-transform:uppercase;display:block;line-height:1;margin-bottom:.2cqw}.union-member-card-val-id{font-size:clamp(12px,4.2cqw,18px);font-weight:700;font-family:"monospace";color:#fff!important;letter-spacing:.05em;line-height:1.1;display:block}.union-member-card-val-spec{font-size:clamp(9px,2.6cqw,12px);font-weight:700;color:var(--accent)!important;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.union-member-card-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5cqw;position:relative;z-index:2}.union-member-card-footer-item{display:flex;flex-direction:column;min-width:0;flex:1 1}.union-member-card-val-text{overflow:hidden;text-overflow:ellipsis}.union-member-card-val-mono,.union-member-card-val-text{font-size:clamp(9px,3cqw,13px);font-weight:700;color:#fff!important;white-space:nowrap;display:block}.union-member-card-val-mono{font-family:"monospace"}.union-member-card-status-stamp{border:.34cqw solid #10b981;color:#34d399!important;padding:.5cqw 1.2cqw;border-radius:9999px;font-size:clamp(8px,2.2cqw,11px);font-weight:700;text-transform:uppercase;letter-spacing:.05em;background-color:rgba(16,185,129,.15);display:inline-flex;align-items:center;gap:.5cqw;box-shadow:0 0 10px rgba(16,185,129,.2);transform:rotate(-3deg);flex-shrink:0}.union-member-card-status-stamp.admin-style{border:.45cqw solid var(--health);color:var(--health)!important;border-radius:4px;font-size:clamp(8px,2.2cqw,11px);transform:rotate(-5deg);background-color:var(--bg-main);padding:.4cqw 1cqw}.main-footer{background:linear-gradient(180deg,#f0fbfb 0,#fff);border-top:1px solid rgba(10,186,181,.15);padding:4rem 2rem 2rem;color:#475569;font-size:.9rem}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-gap:3rem;gap:3rem;margin-bottom:3rem}@media (max-width:768px){.main-footer{padding:3rem 1.5rem 1.5rem!important}.footer-grid{grid-template-columns:1fr!important;gap:2rem!important}}.blog-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(15,23,42,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;justify-content:center;align-items:center;padding:2rem}@media (max-width:640px){.blog-modal-overlay{padding:.5rem}}.blog-modal-container{max-width:850px;width:100%;max-height:90vh;background-color:#fff;border-radius:24px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);border:1px solid hsla(0,0%,100%,.7);display:flex;flex-direction:column;overflow:hidden}@media (max-width:640px){.blog-modal-container{max-height:96vh;border-radius:16px}}.blog-modal-header{height:320px;position:relative;overflow:hidden;flex-shrink:0}@media (max-width:640px){.blog-modal-header{height:180px}}.blog-modal-header-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,.1) 0,rgba(0,0,0,.75));display:flex;flex-direction:column;justify-content:flex-end;padding:2.5rem}@media (max-width:640px){.blog-modal-header-overlay{padding:1.25rem}}.blog-modal-title{color:#fff;font-size:2.1rem;font-weight:800;font-family:Outfit,sans-serif;margin:0 0 .75rem;line-height:1.25;text-shadow:0 2px 4px rgba(0,0,0,.4)}@media (max-width:640px){.blog-modal-title{font-size:1.2rem;margin-bottom:.5rem}}.blog-modal-meta{display:flex;gap:1.25rem;align-items:center;color:#e2e8f0;font-size:.85rem}@media (max-width:640px){.blog-modal-meta{gap:.75rem;font-size:.7rem}}.blog-modal-body{padding:2.5rem;overflow-y:auto;flex-grow:1;min-height:0}@media (max-width:640px){.blog-modal-body{padding:1.5rem 1.25rem}}.blog-modal-footer{padding:1.25rem 2.5rem;border-top:1px solid var(--border);background-color:#f8fafc;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}@media (max-width:640px){.blog-modal-footer{padding:1rem 1.25rem;flex-direction:column;gap:1rem;align-items:stretch}}.responsive-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:768px){.responsive-form-grid{grid-template-columns:1fr!important}}.agreement-section{padding:4rem 2rem;background:radial-gradient(circle at center,rgba(37,99,235,.12) 0,transparent 60%)}.agreement-card{padding:3rem}@media (max-width:640px){.agreement-section{padding:2rem 1rem!important}.agreement-card{padding:1.5rem 1rem!important}}