body{background:linear-gradient(135deg,#f8fafc,#eef2ff);margin:0}.app-container{color:#0f172a;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;overflow:hidden;padding:32px;position:relative}.login-view{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center}.with-watermark .brand-watermark{bottom:16px;max-width:220px;opacity:.06;pointer-events:none;position:absolute;right:16px;transform:rotate(-6deg)}.login-view.with-watermark .brand-watermark{bottom:auto;left:50%;max-width:420px;opacity:.08;right:auto;top:50%;transform:translate(-50%,-50%) rotate(-8deg)}.brand-watermark img{display:block;filter:grayscale(.3);height:auto;width:100%}.notice-bar{align-items:center;border:1px solid #4338ca4d;border-radius:999px;color:#312e81;display:flex;font-size:13px;gap:6px;margin-bottom:18px;padding:8px 16px;width:100%}.notice-bar strong{font-weight:700}.login-shell{align-items:stretch;display:flex;flex-wrap:wrap;gap:24px;justify-content:center;max-width:960px;width:100%}.login-hero-panel{background:linear-gradient(135deg,#3b82f626,#818cf84d);border:1px solid #3b82f633;border-radius:24px;box-shadow:0 35px 80px -50px #2563ebcc;color:#0f172a;flex:1 1;min-width:280px;padding:32px}.login-hero-header{align-items:center;display:flex;gap:18px;margin-bottom:16px}.login-hero-logo img{filter:drop-shadow(0 12px 20px rgba(15,23,42,.4));height:80px;object-fit:contain;width:80px}.login-hero-identity{display:flex;flex-direction:column}.login-hero-tagline{color:#312e81;font-size:16px;font-weight:600;margin:0 0 18px}.login-hero-points{grid-gap:10px;color:#1e1b4b;display:grid;font-size:14px;gap:10px;list-style:none;margin:0;padding:0}.login-hero-points li{align-items:flex-start;display:flex;gap:8px}.login-hero-points li:before{color:#4338ca;content:"•";font-size:18px;line-height:1;margin-top:1px}.floating{box-shadow:0 30px 70px -45px #0f172ae6}.card{background:#fff;border-radius:20px;box-shadow:0 20px 45px -20px #0f172a40;margin-bottom:24px;padding:24px;transition:transform .2s ease,box-shadow .2s ease}.card:hover{box-shadow:0 28px 60px -25px #0f172a4d;transform:translateY(-4px)}.login-card{width:min(420px,90vw)}.card-header h1,.card-header h2{font-weight:700;margin:0}.card-header p{color:#475569;margin:4px 0 0}.form{gap:16px;margin-top:16px}.form,.form label{display:flex;flex-direction:column}.form label{color:#1e293b;font-size:14px;font-weight:600;gap:8px}.form input,.form select,.form textarea{background:#f8fafc;border:1px solid #cbd5f5;border-radius:12px;font-size:15px;height:44px;padding:0 16px;transition:border-color .2s ease,box-shadow .2s ease}.form textarea{min-height:120px;padding:12px 16px;resize:vertical}.form input:focus,.form select:focus,.form textarea:focus{background:#fff;border-color:#4338ca;box-shadow:0 0 0 4px #4f46e526;outline:none}.danger-button,.ghost-button,.primary-button,.secondary-button{border:none;border-radius:12px;cursor:pointer;font-weight:600;height:44px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.primary-button{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 12px 30px -12px #4f46e599;color:#fff}.primary-button:hover{box-shadow:0 16px 40px -15px #4f46e5b3;transform:translateY(-2px)}.primary-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.secondary-button{background:#e0e7ff;color:#312e81}.secondary-button:hover{background:#c7d2fe}.ghost-button{background:#0000;border:1px solid #4338ca33;color:#4338ca;padding:0 16px}.ghost-button:hover{background:#4338ca14}.danger-button{background:#f43f5e1a;border:1px solid #f43f5e4d;color:#be123c;padding:0 16px}.danger-button:hover{background:#f43f5e2e}.grid-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:32px}.status-card .status-text{color:#111827;font-size:48px;font-weight:700;line-height:1;margin:0}.hint{color:#64748b;font-size:14px;margin:12px 0}.actions{display:flex;flex-wrap:wrap;gap:12px}.info-list{grid-gap:8px;display:grid;gap:8px;list-style:none;margin:16px 0 24px;padding:0}.info-list li{color:#1e293b;font-size:15px}.feedback{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.alert{border-radius:12px;font-size:14px;font-weight:500;padding:12px 16px}.alert.error{background:#ef44441f;border:1px solid #ef444440;color:#b91c1c}.alert.success{background:#22c55e1f;border:1px solid #22c55e40;color:#15803d}.helper-text{color:#475569;font-size:14px;line-height:1.5;margin-top:16px}.app-header{gap:16px;justify-content:space-between;margin-bottom:32px}.app-header,.brand-strip{align-items:center;display:flex}.brand-strip{background:linear-gradient(135deg,#4f46e514,#3b82f614);border:1px solid #4f46e51f;gap:20px;margin-bottom:24px}.brand-strip-logo img{filter:drop-shadow(0 8px 20px rgba(15,23,42,.15));height:72px;object-fit:contain;width:72px}.brand-company{color:#111827;font-size:20px;font-weight:700;margin:0}.brand-team{color:#4338ca;font-size:16px;font-weight:600;margin:4px 0}.brand-tagline{color:#475569;font-size:14px;margin:0}.thought-carousel{margin-bottom:24px}.thought-card{background:linear-gradient(135deg,#4f46e514,#3b82f61f);border:1px solid #4f46e533;border-radius:16px;box-shadow:0 12px 30px -24px #0f172a99;color:#1e1b4b;overflow:hidden;padding:18px 22px;position:relative}.thought-card:after{animation:shimmer 7s linear infinite;background:linear-gradient(120deg,#0000,#4f46e51f,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%)}.thought-label{color:#6d28d9;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.thought-card p{color:#312e81;font-size:16px;font-weight:600;margin:6px 0 0}.thought-animate{animation:fadeSlide 1.2s ease forwards}@keyframes fadeSlide{0%{opacity:0;transform:translateY(12px)}40%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.header-left{align-items:center;display:flex;gap:16px}.avatar-wrapper{border-radius:999px;box-shadow:0 10px 25px -12px #0f172a80;flex-shrink:0;height:64px;overflow:hidden;position:relative;width:64px}.avatar-image,.avatar-placeholder{align-items:center;border-radius:999px;display:flex;height:100%;justify-content:center;width:100%}.avatar-image{object-fit:cover}.avatar-placeholder{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#eef2ff;font-size:28px;font-weight:700;text-transform:uppercase}.avatar-upload-label{align-items:center;background:#0f172ae6;border:1px solid #94a3b899;border-radius:999px;bottom:4px;color:#e5e7eb;cursor:pointer;display:inline-flex;font-size:10px;gap:4px;padding:2px 8px;position:absolute;right:4px}.avatar-upload-label input[type=file]{display:none}.avatar-upload-text{white-space:nowrap}.header-actions{align-items:center;display:flex;gap:12px}.role-chip{background:#ede9fe;border-radius:999px;color:#5b21b6;font-weight:600;padding:8px 14px;text-transform:capitalize}.table-wrapper{overflow-x:auto}.table-scrollable{max-height:600px;overflow-x:auto;overflow-y:auto}.table-scrollable::-webkit-scrollbar{height:8px;width:8px}.table-scrollable::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.table-scrollable::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.table-scrollable::-webkit-scrollbar-thumb:hover{background:#94a3b8}.logs-table{border-collapse:collapse;min-width:640px;width:100%}.logs-table td,.logs-table th{border-bottom:1px solid #e2e8f0;font-size:14px;padding:12px 16px;text-align:left}.logs-table th{color:#64748b;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.logs-table tbody tr:hover{background:#3b82f60a}.team-table td,.team-table th{white-space:nowrap}.badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;letter-spacing:.05em;min-width:72px;padding:6px 10px}.badge-in{background:#22c55e29;color:#15803d}.badge-out{background:#ef444429;color:#b91c1c}.user-cell{display:flex;flex-direction:column;gap:4px}.user-name{color:#111827;font-weight:600}.user-email{color:#64748b;font-size:13px}.empty-state{color:#94a3b8;margin:0}.team-card .reset-password{align-items:center;display:flex;gap:8px}.team-card .reset-password input{border:1px solid #cbd5f5;border-radius:10px;flex:1 1;font-size:14px;height:40px;min-width:140px;padding:0 12px}.team-card .reset-password input:focus{border-color:#4338ca;box-shadow:0 0 0 4px #4f46e51f;outline:none}.location-list{grid-gap:12px;display:grid;gap:12px;margin-top:12px}.banner-card textarea{width:100%}.banner-actions{display:flex;flex-wrap:wrap;gap:12px}.banner-message{color:#0f172a;font-size:16px;font-weight:500;margin-bottom:0}.location-item{background:linear-gradient(135deg,#4f46e514,#3b82f614);border:1px solid #4f46e514;border-radius:14px;padding:12px 16px}.location-meta{align-items:center;color:#475569;display:flex;font-size:13px;gap:12px;justify-content:space-between}.location-type{color:#4338ca;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.location-time{color:#64748b;font-size:12px}.location-user{color:#475569;font-size:13px;margin-top:6px}.location-coords{color:#1e293b;font-size:13px;margin-top:8px}.more-hint{color:#64748b;font-size:12px;text-align:right}.form-inline{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:16px}.form-inline label{color:#1e293b;display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:8px}.form-inline input,.form-inline select{background:#f8fafc;border:1px solid #cbd5f5;border-radius:12px;font-size:15px;height:44px;padding:0 16px;transition:border-color .2s ease,box-shadow .2s ease}.form-inline input:focus,.form-inline select:focus{background:#fff;border-color:#4338ca;box-shadow:0 0 0 4px #4f46e51f;outline:none}.form-inline .danger-button{align-self:flex-end}.download-card .form-inline,.hint.small{margin-top:12px}.hint.small{color:#94a3b8;font-size:12px}.capitalize{text-transform:capitalize}.change-password-card{margin-bottom:16px}.change-password-card .card-header{transition:background-color .2s ease}.change-password-card .card-header:hover{background-color:#4f46e505;border-radius:12px}.change-password-card .card-header h2{font-size:18px}.change-password-card .form{animation:slideDown .3s ease}.location-pill{background:#4338ca14;border-radius:12px;color:#312e81;display:inline-flex;flex-wrap:wrap;font-size:14px;gap:4px;margin:8px 0 16px;padding:10px 14px}.location-name{color:#1e1b4b;font-weight:600}.modal-overlay{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.modal-card{animation:slideDown .3s ease;background:#fff;border-radius:20px;box-shadow:0 30px 80px -40px #0f172acc;padding:24px;width:min(480px,100%)}.modal-card h3{margin:0 0 8px}.modal-header{justify-content:space-between;margin-bottom:12px}.modal-header,.password-field{align-items:center;display:flex}.password-field{position:relative}.password-field input{padding-right:70px;width:100%}.toggle-visibility{background:#0000;border:none;color:#4338ca;cursor:pointer;font-weight:600;padding:4px 10px;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.toggle-visibility:hover{text-decoration:underline}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.app-container{padding:24px 16px}.grid-layout{grid-template-columns:1fr}.app-header{align-items:flex-start;flex-direction:column}.logs-table{min-width:520px}.notice-bar{align-items:flex-start;border-radius:14px}.login-shell,.notice-bar{flex-direction:column}.login-hero-panel{text-align:left}.download-card .form-inline,.form-inline{grid-template-columns:1fr}}
/*# sourceMappingURL=main.e4ac7a4f.css.map*/