@import url(https://fonts.googleapis.com/css2?family=League+Spartan:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap);html{font-size:16px;text-rendering:optimizeLegibility}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}h1,h2,h3,h4,h5,h6{font-family:League Spartan,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin-top:0}p{margin-bottom:1rem;margin-top:0}code{background:#22d3ee1a;border-radius:3px;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.9em;padding:.125rem .375rem}:root{--bg:#0a0f1c;--surface:#111827;--border:#1e2d45;--accent:#22d3ee;--accent-soft:#0ea5e9;--text:#f1f5f9;--text-muted:#94a3b8;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--gold:#c4a563;--font-xs:clamp(0.75rem,1vw,0.875rem);--font-sm:clamp(0.875rem,1.2vw,1rem);--font-base:clamp(1rem,1.5vw,1.125rem);--font-lg:clamp(1.125rem,2vw,1.25rem);--font-xl:clamp(1.25rem,2.5vw,1.5rem);--font-2xl:clamp(1.5rem,3vw,1.875rem);--font-3xl:clamp(1.875rem,4vw,2.25rem);--font-4xl:clamp(2.25rem,5vw,2.5rem);--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--lh-tight:1.25;--lh-normal:1.5;--lh-relaxed:1.75;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #00000026}*{box-sizing:border-box;margin:0;padding:0}body{color:#f1f5f9;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:clamp(.875rem,1.2vw,1rem);font-size:var(--font-sm);font-weight:400;font-weight:var(--weight-normal);line-height:1.5;line-height:var(--lh-normal)}.auth-container,body{background:#0a0f1c;background:var(--bg)}.auth-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-card{background:#111827;background:var(--surface);border:1px solid #1e2d45;border-top:3px solid #22d3ee;border:1px solid var(--border);border-radius:8px;border-top:3px solid var(--accent);max-width:400px;padding:3rem;width:100%}.auth-logo{margin-bottom:1.5rem;text-align:center}.auth-logo img{filter:drop-shadow(0 4px 16px rgba(34,211,238,.3));height:80px;width:80px}.auth-card h1{color:#f1f5f9;color:var(--text);font-size:clamp(1.875rem,4vw,2.25rem);font-size:var(--font-3xl);font-weight:700;font-weight:var(--weight-bold);letter-spacing:-.02em;margin-bottom:.1rem}.auth-card .auth-tagline,.auth-card h1{font-family:League Spartan,sans-serif;text-align:center}.auth-card .auth-tagline{color:#22d3ee;color:var(--accent);font-size:1.1rem;font-style:normal!important;font-weight:400;letter-spacing:.085em;margin-bottom:2rem;margin-top:-.2rem;text-transform:lowercase}.auth-card input{background:#0a0f1c;background:var(--bg);border:1px solid #1e2d45;border:1px solid var(--border);border-radius:4px;color:#f1f5f9;color:var(--text);display:block;font-size:.9rem;margin-bottom:.75rem;outline:none;padding:.625rem .75rem;transition:border-color .2s;width:100%}.auth-card input:focus{border-color:#22d3ee;border-color:var(--accent)}.auth-card input::placeholder{color:#94a3b8;color:var(--text-muted)}.auth-card button[type=submit]{background:#22d3ee;background:var(--accent);border:none;border-radius:4px;color:#0a0f1c;color:var(--bg);cursor:pointer;display:block;font-size:.9rem;font-weight:700;margin-top:.25rem;padding:.7rem;transition:opacity .2s;width:100%}.auth-card button[type=submit]:hover{opacity:.85}.auth-toggle{color:#94a3b8;color:var(--text-muted);font-size:.85rem;margin-top:1.25rem;text-align:center}.link-button{background:none;border:none;color:#22d3ee;color:var(--accent);cursor:pointer;font-size:inherit;margin-left:.25rem;text-decoration:underline}.error{background:#ef44441a;border-radius:4px;color:#ef4444;color:var(--danger);font-size:.85rem;margin-top:.75rem;padding:.625rem .75rem}.app-container{background:#0a0f1c;background:var(--bg);display:flex;flex-direction:column;min-height:100vh}.app-header{background:#111827;background:var(--surface);border-bottom:1px solid #1e2d45;border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem}.app-header,.header-left{align-items:center;display:flex}.header-left{gap:.875rem}.app-logo{filter:drop-shadow(0 2px 8px rgba(34,211,238,.25));flex-shrink:0;height:clamp(44px,4vw + 1rem,60px);width:clamp(44px,4vw + 1rem,60px)}.header-text h1{color:#f1f5f9;color:var(--text);font-size:clamp(1.25rem,3vw,1.875rem);font-weight:700;font-weight:var(--weight-bold);letter-spacing:-.02em;margin:0}.header-text h1,.header-text p{font-family:League Spartan,sans-serif}.header-text p{color:#22d3ee;color:var(--accent);font-size:clamp(.75rem,1vw,.875rem);font-size:var(--font-xs);font-style:italic;letter-spacing:.03em;margin:2px 0 0;text-transform:lowercase}h1{font-size:clamp(2.25rem,5vw,2.5rem);font-size:var(--font-4xl);letter-spacing:-.02em;margin-bottom:1.5rem;margin-bottom:var(--space-6)}h1,h2{font-family:League Spartan,sans-serif;font-weight:700;font-weight:var(--weight-bold);line-height:1.25;line-height:var(--lh-tight)}h2{font-size:clamp(1.875rem,4vw,2.25rem);font-size:var(--font-3xl);letter-spacing:-.01em;margin-bottom:1rem;margin-bottom:var(--space-4)}h3{font-size:clamp(1.5rem,3vw,1.875rem);font-size:var(--font-2xl);line-height:1.25;line-height:var(--lh-tight);margin-bottom:1rem;margin-bottom:var(--space-4)}h3,h4{font-family:League Spartan,sans-serif;font-weight:600;font-weight:var(--weight-semibold)}h4{font-size:clamp(1.125rem,2vw,1.25rem);font-size:var(--font-lg);line-height:1.5;line-height:var(--lh-normal);margin-bottom:.75rem;margin-bottom:var(--space-3)}h5,h6{font-family:League Spartan,sans-serif;font-size:clamp(1rem,1.5vw,1.125rem);font-size:var(--font-base);font-weight:600;font-weight:var(--weight-semibold);margin-bottom:.5rem;margin-bottom:var(--space-2)}.text-xs{font-size:clamp(.75rem,1vw,.875rem);font-size:var(--font-xs);line-height:1.25;line-height:var(--lh-tight)}.text-sm{font-size:clamp(.875rem,1.2vw,1rem);font-size:var(--font-sm)}.text-base,.text-sm{line-height:1.5;line-height:var(--lh-normal)}.text-base{font-size:clamp(1rem,1.5vw,1.125rem);font-size:var(--font-base)}.text-lg{font-size:clamp(1.125rem,2vw,1.25rem);font-size:var(--font-lg);line-height:1.5;line-height:var(--lh-normal)}.text-xl{font-size:clamp(1.25rem,2.5vw,1.5rem);font-size:var(--font-xl);line-height:1.75;line-height:var(--lh-relaxed)}.text-muted{color:#94a3b8;color:var(--text-muted)}.text-accent{color:#22d3ee;color:var(--accent)}.text-danger{color:#ef4444;color:var(--danger)}.text-success{color:#10b981;color:var(--success)}.text-warning{color:#f59e0b;color:var(--warning)}.text-bold{font-weight:700;font-weight:var(--weight-bold)}.text-semibold,.text-uppercase{font-weight:600;font-weight:var(--weight-semibold)}.text-uppercase{font-size:clamp(.75rem,1vw,.875rem);font-size:var(--font-xs);letter-spacing:.05em;text-transform:uppercase}.p-2{padding:.5rem;padding:var(--space-2)}.p-3{padding:.75rem;padding:var(--space-3)}.p-4{padding:1rem;padding:var(--space-4)}.p-6{padding:1.5rem;padding:var(--space-6)}.p-8{padding:2rem;padding:var(--space-8)}.px-4{padding-left:1rem;padding-left:var(--space-4);padding-right:1rem;padding-right:var(--space-4)}.py-4{padding-bottom:1rem;padding-bottom:var(--space-4);padding-top:1rem;padding-top:var(--space-4)}.m-0{margin:0}.mb-2{margin-bottom:.5rem;margin-bottom:var(--space-2)}.mb-3{margin-bottom:.75rem;margin-bottom:var(--space-3)}.mb-4{margin-bottom:1rem;margin-bottom:var(--space-4)}.mb-6{margin-bottom:1.5rem;margin-bottom:var(--space-6)}.gap-2{gap:.5rem;gap:var(--space-2)}.gap-3{gap:.75rem;gap:var(--space-3)}.gap-4{gap:1rem;gap:var(--space-4)}.gap-6{gap:1.5rem;gap:var(--space-6)}.logout-btn{background:linear-gradient(135deg,#22d3ee1a,#22d3ee0d);border:1px solid #22d3ee4d;border-radius:6px;border-radius:var(--radius-md);color:#22d3ee;color:var(--accent);cursor:pointer;flex-shrink:0;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.logout-btn:hover{background:linear-gradient(135deg,#22d3ee26,#22d3ee1a);border-color:#22d3ee80;box-shadow:0 2px 8px #22d3ee26;transform:translateY(-1px)}.app-main{display:flex;flex:1 1;flex-direction:column;height:calc(100vh - 54px);overflow:hidden}.error-container,.loading{color:#94a3b8;color:var(--text-muted);padding:2rem;text-align:center}.error-container button{background:#22d3ee;background:var(--accent);border:none;border-radius:4px;color:#0a0f1c;color:var(--bg);cursor:pointer;font-weight:600;margin-top:.75rem;padding:.625rem 1.25rem}@media (max-width:1024px){.app-header{align-items:center;flex-direction:row}}@media (max-width:768px){.auth-card{padding:1.5rem}.app-header{align-items:center;flex-direction:row;padding:.625rem 1rem}.header-left{flex:1 1;gap:.5rem;min-width:0}.header-text h1{white-space:nowrap}.header-text p{display:none}.logout-btn{flex-shrink:0;font-size:.8rem;padding:.375rem .75rem}.app-main{height:calc(100vh - 50px)}}.responsive-grid-2{gridTemplateColumns:repeat(auto-fit,minmax(300px,1fr));grid-gap:12px;display:grid;gap:12px}.responsive-grid-3{gridTemplateColumns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;display:grid;gap:12px}.responsive-grid-4{gridTemplateColumns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;display:grid;gap:12px}@media (max-width:640px){.responsive-grid-2,.responsive-grid-3,.responsive-grid-4{gridTemplateColumns:1fr}:root{--spacing-xs:4px;--spacing-sm:6px;--spacing-md:8px;--spacing-lg:12px;--spacing-xl:16px}body{font-size:clamp(13px,3.5vw,14px)}.contact-table{display:none!important}.contact-cards{grid-gap:8px;display:grid!important;gap:8px;grid-template-columns:1fr;padding:8px!important}.controls-bar,[role=toolbar]{flex-wrap:wrap;gap:6px;padding:8px 12px!important}button{font-size:clamp(11px,3vw,12px);min-height:40px;min-width:-webkit-fit-content;min-width:fit-content;padding:8px 12px!important}input[type=email],input[type=password],input[type=text],select{font-size:clamp(13px,3.5vw,14px);min-height:40px;padding:8px 12px!important}td,th{font-size:clamp(11px,2.8vw,12px);padding:6px 8px!important}[class*=button-group],[class*=filter]{flex-wrap:wrap;gap:6px}[class*=button-group] button,[class*=filter] button{flex:1 1 auto;min-width:80px}}
/*# sourceMappingURL=main.048b20fa.css.map*/