*{margin:0;padding:0;box-sizing:border-box}.login-container{min-height:100vh;display:flex;justify-content:center;align-items:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;position:relative;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2)}.login-background{position:absolute;width:100%;height:100%;overflow:hidden}.shape{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:float 20s ease-in-out infinite}.shape-1{width:500px;height:500px;background:linear-gradient(45deg,#667eea,#764ba2);top:-250px;left:-250px;animation-delay:0s}.shape-2{width:400px;height:400px;background:linear-gradient(135deg,#f093fb,#f5576c);bottom:-200px;right:-200px;animation-delay:7s}.shape-3{width:300px;height:300px;background:linear-gradient(225deg,#4facfe,#00f2fe);top:50%;left:50%;animation-delay:14s}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:40px;border-radius:20px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:440px;position:relative;z-index:10;animation:slideIn .5s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:30px}.logo-circle{width:80px;height:80px;margin:0 auto 20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;animation:pulse 2s ease-in-out infinite}.logo-circle svg{width:40px;height:40px}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #667eeab3}50%{transform:scale(1.05);box-shadow:0 0 0 15px #667eea00}}.login-header h2{font-size:28px;color:#2d3748;margin-bottom:8px;font-weight:700}.login-header p{color:#718096;font-size:14px}.login-form{display:flex;flex-direction:column;gap:20px}.error-message{background:#fee;color:#c53030;padding:12px 16px;border-radius:10px;font-size:14px;display:flex;align-items:center;gap:10px;border-left:4px solid #c53030;animation:shake .5s ease}.error-message svg{width:20px;height:20px;flex-shrink:0}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{font-size:14px;font-weight:600;color:#2d3748}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;width:20px;height:20px;color:#a0aec0;pointer-events:none;transition:color .3s}.input-wrapper input{width:100%;padding:14px 16px 14px 48px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;transition:all .3s;background:#fff;color:#2d3748}.input-wrapper input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.input-wrapper input:focus~.input-icon,.input-wrapper input:not(:placeholder-shown)~.input-icon{color:#667eea}.input-wrapper input:disabled{background:#f7fafc;cursor:not-allowed}.toggle-password{position:absolute;right:16px;background:none;border:none;cursor:pointer;padding:4px;color:#a0aec0;transition:color .3s;display:flex;align-items:center}.toggle-password:hover{color:#667eea}.toggle-password svg{width:20px;height:20px}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 24px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s;margin-top:10px;position:relative;overflow:hidden}.submit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.submit-btn:hover:before{left:100%}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #667eea66}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.submit-btn svg{width:20px;height:20px}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.login-footer{margin-top:20px;text-align:center}.forgot-password{color:#667eea;text-decoration:none;font-size:14px;font-weight:500;transition:color .3s}.forgot-password:hover{color:#764ba2;text-decoration:underline}@media (max-width: 480px){.login-card{margin:20px;padding:30px 20px}.login-header h2{font-size:24px}.logo-circle{width:60px;height:60px}.logo-circle svg{width:30px;height:30px}}.datasheet-container{padding:24px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb;position:relative}.datasheet-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.toolbar-left{display:flex;gap:10px;flex-wrap:wrap}.toolbar-right{display:flex;gap:12px;flex:1;max-width:450px;min-width:250px}.btn-primary,.btn-secondary,.btn-tertiary,.btn-refresh,.btn-danger{border:none;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease;box-shadow:0 2px 4px #0000001a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.btn-primary{background:#10b981;color:#fff}.btn-primary:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.btn-secondary{background:#3b82f6;color:#fff}.btn-secondary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.btn-tertiary{background:#8b5cf6;color:#fff}.btn-tertiary:hover{background:#7c3aed;transform:translateY(-1px);box-shadow:0 4px 8px #8b5cf64d}.btn-refresh{background:#6b7280;color:#fff;padding:10px 12px;min-width:auto}.btn-refresh:hover{background:#4b5563;transform:rotate(180deg)}.btn-danger{background:#ef4444;color:#fff;animation:slideIn .3s ease}.btn-danger:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.search-box{position:relative;flex:1;display:flex;align-items:center}.search-icon{position:absolute;left:14px;color:#9ca3af;width:18px;height:18px;pointer-events:none;z-index:1}.search-box input{width:100%;padding:11px 42px 11px 44px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;transition:all .2s;background:#f9fafb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.search-box input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background:#fff}.search-box input::placeholder{color:#9ca3af}.clear-search{position:absolute;right:12px;background:#e5e7eb;border:none;width:24px;height:24px;border-radius:50%;font-size:18px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}.clear-search:hover{background:#d1d5db;color:#374151}.stats-bar{display:flex;gap:24px;margin-bottom:16px;padding:12px 16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:8px}.stat-label{font-size:13px;color:#6b7280;font-weight:500}.stat-value{font-size:15px;color:#111827;font-weight:700}.stat-item.highlight{background:#dbeafe;padding:4px 12px;border-radius:6px}.stat-item.highlight .stat-value{color:#1e40af}.stat-item.carrier{margin-left:auto;background:linear-gradient(135deg,#667eea,#764ba2);padding:4px 12px;border-radius:6px}.stat-item.carrier .stat-label,.stat-item.carrier .stat-value{color:#fff}.datagrid-wrapper{height:600px;border:2px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff}.delete-action{color:#ef4444!important;transition:all .2s}.delete-action:hover{background-color:#fee2e2!important;transform:scale(1.1)}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;z-index:1000;gap:12px}.spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay p{color:#6b7280;font-weight:500;font-size:14px}@media (max-width: 1024px){.stats-bar{gap:16px}.stat-item.carrier{margin-left:0}}@media (max-width: 768px){.datasheet-container{padding:16px}.datasheet-toolbar{flex-direction:column;align-items:stretch}.toolbar-left{width:100%;justify-content:space-between}.toolbar-right{max-width:100%}.btn-primary,.btn-secondary,.btn-tertiary,.btn-danger{flex:1;justify-content:center;padding:10px 12px;font-size:13px}.btn-refresh{min-width:44px}.stats-bar{gap:12px}.stat-item{flex:1;min-width:calc(50% - 6px)}.datagrid-wrapper{height:500px}}@media (max-width: 480px){.btn-primary span,.btn-secondary span,.btn-tertiary span{display:none}.stat-item{min-width:100%}}.sheet-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.sheet-container:before{content:"";position:absolute;top:0;left:0;right:0;height:300px;background:linear-gradient(180deg,rgba(102,126,234,.3) 0%,transparent 100%);pointer-events:none}.sheet-header{background:#fff;padding:20px 32px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #00000014;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:16px}.logo-box{width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #667eea4d}.logo-icon{color:#fff;font-size:28px!important}.header-title h1{font-size:20px;font-weight:700;color:#1e293b;margin:0}.header-title p{font-size:13px;color:#64748b;margin:0}.header-right{display:flex;align-items:center;gap:12px}.logout-btn{background:#ef4444;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s;box-shadow:0 2px 8px #ef44444d}.logout-btn:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.logout-btn:active{transform:translateY(0)}.logout-btn svg{width:18px;height:18px}.tabs-wrapper{background:#fff;border-bottom:1px solid #e2e8f0;padding:0 32px;box-shadow:0 1px 3px #0000000d}.sheet-content{padding:24px 32px;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.sheet-header{padding:16px 20px;flex-direction:column;gap:16px;align-items:flex-start}.header-left{width:100%}.header-right{width:100%;justify-content:flex-end}.logo-box{width:40px;height:40px}.logo-icon{font-size:24px!important}.header-title h1{font-size:18px}.header-title p{font-size:12px}.tabs-wrapper{padding:0 20px}.sheet-content{padding:16px 20px}.logout-btn{padding:8px 16px;font-size:13px}}
