@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary: #0ca372;--primary-hover: #098e62;--primary-light: #f0fdf4;--bg-gradient: linear-gradient(135deg, #f0fdf4 0%, #f8fafc 50%, #ffffff 100%);--text-dark: #1f2937;--text-light: #6b7280;--white: #ffffff;--border: #e2e8f0;--error: #ef4444;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg-gradient);background-attachment:fixed;min-height:100vh;color:var(--text-dark);line-height:1.5;-webkit-font-smoothing:antialiased}button{cursor:pointer;border:none;border-radius:8px;font-weight:600;font-size:.95rem;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}input,textarea,select{font-family:inherit;width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;outline:none;font-size:1rem;transition:all .2s ease;background-color:var(--white)}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0ca37226}input::placeholder,textarea::placeholder{color:#b0b8c4}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#0b9568 100%);color:var(--white);padding:.75rem 1.5rem;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.btn-primary:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);transform:translate(-100%);transition:transform .5s ease}.btn-primary:hover:not(:disabled):after{transform:translate(100%)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover) 0%,#087a55 100%);box-shadow:0 4px 15px #0ca37259;transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:var(--shadow-sm)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background-color:var(--white);color:var(--text-dark);border:1px solid var(--border);padding:.75rem 1.5rem}.btn-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#cbd5e1;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-danger-ghost{background:none;color:var(--text-light);padding:.5rem;border:none;border-radius:6px}.btn-danger-ghost:hover:not(:disabled){color:var(--error);background:#fef2f2}.btn-danger-ghost:disabled{opacity:.3;cursor:not-allowed}.card{background:var(--white);border-radius:16px;box-shadow:var(--shadow-lg);padding:2.5rem;width:100%;transition:box-shadow .2s ease}.app-container{max-width:900px;margin:0 auto;padding:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--border);gap:.5rem;flex-wrap:wrap}.section-header h2{color:var(--primary);margin:0;font-size:1.15rem}label{display:block;font-size:.8rem;font-weight:600;color:var(--text-light);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.03em}.form-group{margin-bottom:1.5rem}.text-error{color:var(--error);font-size:.875rem;margin-top:.5rem}table{width:100%;border-collapse:collapse}th{text-align:left;padding:.75rem 1rem;background-color:var(--primary-light);font-weight:600;font-size:.75rem;color:var(--primary);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid #d1fae5}th:first-child{border-radius:8px 0 0}th:last-child{border-radius:0 8px 0 0}td{padding:.5rem;border-bottom:1px solid #f1f5f9;vertical-align:middle}tr:hover td{background:#fafbfc}.text-right{text-align:right}.text-center{text-align:center}.totals-card{background:linear-gradient(135deg,var(--primary-light) 0%,#ffffff 100%);padding:1.5rem;border-radius:12px;border:1px solid #d1fae5}.totals-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;font-size:.95rem}.totals-total{margin-top:.75rem;padding-top:.75rem;border-top:2px solid #bbf7d0;font-size:1.25rem;font-weight:700}.app-footer{text-align:center;padding:2rem 0 1rem;color:var(--text-light);font-size:.8rem}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;width:100%;position:relative;overflow:hidden;background:linear-gradient(160deg,#f0fdf4,#f8fafc 40%,#fff,#f0fdf4);background-attachment:fixed;padding:1rem}.login-bg-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;pointer-events:none;animation:floatOrb 12s ease-in-out infinite}.login-bg-orb-1{width:400px;height:400px;background:radial-gradient(circle,rgba(12,163,114,.2) 0%,transparent 70%);top:-10%;right:-5%;animation-delay:0s}.login-bg-orb-2{width:300px;height:300px;background:radial-gradient(circle,rgba(12,163,114,.15) 0%,transparent 70%);bottom:-5%;left:-5%;animation-delay:-4s}.login-bg-orb-3{width:200px;height:200px;background:radial-gradient(circle,rgba(187,247,208,.3) 0%,transparent 70%);top:50%;left:60%;animation-delay:-8s}@keyframes floatOrb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-30px) scale(1.05)}66%{transform:translate(-15px,15px) scale(.95)}}.login-card-wrapper{position:relative;z-index:1;width:100%;max-width:440px;animation:cardFadeUp .7s cubic-bezier(.22,.61,.36,1) forwards}@keyframes cardFadeUp{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-card{background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:20px;box-shadow:0 8px 32px #00000014,0 1px 3px #0000000a,inset 0 1px #fff9;border:1px solid rgba(226,232,240,.6);padding:2.75rem 2.5rem;text-align:center;transition:box-shadow .3s ease,transform .3s ease}.login-card:hover{box-shadow:0 12px 40px #0000001a,0 2px 6px #0000000a,inset 0 1px #fff9}.login-header{margin-bottom:2rem}.login-logo{width:88px;height:88px;object-fit:contain;mix-blend-mode:multiply;margin-bottom:1rem;animation:logoEntrance .8s cubic-bezier(.22,.61,.36,1) .2s both}@keyframes logoEntrance{0%{opacity:0;transform:scale(.8) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.login-title{color:var(--primary);font-size:1.75rem;font-weight:700;margin-bottom:.15rem;letter-spacing:-.02em}.login-subtitle{color:var(--text-dark);font-size:1.15rem;font-weight:500;margin-bottom:.15rem}.login-desc{color:var(--text-light);font-size:.9rem}.login-form{text-align:left}.input-icon-wrapper{position:relative}.input-with-icon{transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.input-with-icon:focus{transform:translateY(-1px)}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-light);padding:.35rem;border-radius:6px;cursor:pointer;transition:color .2s,background .2s;display:flex;align-items:center}.password-toggle:hover{color:var(--primary);background:var(--primary-light)}.btn-login{width:100%;padding:.875rem;margin-top:.75rem;font-size:1rem;border-radius:10px}.login-error{margin-bottom:.75rem;text-align:center;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.login-forgot{margin-top:1.25rem;color:var(--primary);font-size:.875rem;cursor:pointer;transition:color .2s}.login-forgot:hover{color:var(--primary-hover);text-decoration:underline}.login-footer{position:relative;z-index:1;margin-top:2rem;color:var(--text-light);font-size:.8rem}.spin{animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.app-container{padding:.75rem}.card{padding:1.25rem;border-radius:12px}h1{font-size:1.35rem!important}.section-header h2{font-size:1.05rem!important}table,thead,tbody,th,td,tr{display:block}thead{display:none}tr{background:#f9fafb;border-radius:10px;padding:.75rem;margin-bottom:.75rem;border:1px solid var(--border)}tr:hover td{background:transparent}td{padding:.35rem 0;border:none;display:flex;align-items:center;gap:.5rem}td:before{content:attr(data-label);font-weight:600;font-size:.7rem;color:var(--text-light);min-width:70px;text-transform:uppercase;letter-spacing:.03em}td input{text-align:left!important}td:last-child{justify-content:flex-end}.datos-grid{grid-template-columns:1fr!important}.totals-wrapper{justify-content:center!important}.totals-wrapper>div{max-width:100%!important}.header-actions{gap:.3rem!important;flex-shrink:0}.header-actions button{padding:.35rem .55rem!important;font-size:.78rem!important}.app-container{overflow-x:hidden}.section-header{gap:.75rem}label{font-size:.75rem}.login-card{padding:2rem 1.5rem;border-radius:16px}.login-title{font-size:1.4rem!important}.login-subtitle{font-size:1.05rem}.login-logo{width:72px;height:72px}.login-bg-orb-1{width:250px;height:250px}.login-bg-orb-2{width:180px;height:180px}.login-bg-orb-3{display:none}}
