:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.landing-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,#0d47a1 100%);padding:24px}.landing-content{background:var(--white);border-radius:16px;padding:48px;max-width:500px;width:100%;text-align:center;box-shadow:0 8px 32px #0003}.landing-logo{margin-bottom:24px}.landing-logo h1{font-size:36px;color:var(--primary);margin-bottom:4px}.landing-logo span{background:var(--secondary);color:var(--white);padding:4px 12px;border-radius:20px;font-size:14px;font-weight:600}.landing-content h2{font-size:18px;color:var(--dark);margin-bottom:16px}.landing-content>p{color:var(--gray);margin-bottom:32px}.landing-features{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px}.feature{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:var(--bg);border-radius:var(--radius)}.feature-icon{font-size:32px}.feature span:last-child{font-size:14px;color:var(--gray)}.landing-footer{padding-top:24px;border-top:1px solid var(--gray-light)}.landing-footer p{color:var(--gray);font-size:14px;margin-bottom:8px}.landing-footer a{color:var(--primary);text-decoration:none;font-weight:500}@media(max-width:480px){.landing-content{padding:32px 24px}.landing-features{grid-template-columns:1fr}}.vehicle-type-container{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#004987,#003666);position:relative;overflow:hidden}.vehicle-type-container:before,.vehicle-type-container:after{content:"";position:absolute;border-radius:50%;background:#ffffff0d;pointer-events:none}.vehicle-type-container:before{width:300px;height:300px;top:-100px;right:-100px}.vehicle-type-container:after{width:200px;height:200px;bottom:100px;left:-50px}.vehicle-type-header{padding:60px 24px 40px;text-align:center;color:var(--white);z-index:1}.seguramiga-logo{margin-bottom:32px;display:flex;justify-content:center}.seguramiga-logo img{height:48px;width:auto}.welcome-title{font-size:36px;font-weight:700;margin-bottom:16px;color:var(--white);letter-spacing:-.5px}.welcome-subtitle{font-size:16px;font-weight:400;color:#fffffff2;max-width:300px;margin:0 auto;line-height:1.5}.vehicle-type-content{flex:1;background:transparent;padding:32px 24px 24px;display:flex;flex-direction:column}.vehicle-type-label{font-size:var(--font-size-module);font-weight:600;color:var(--white);margin-bottom:20px;display:block;text-align:center}.vehicle-type-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.vehicle-type-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px 16px;background:var(--white);border:2px solid var(--white);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);height:100%}.vehicle-type-card.card-full{grid-column:span 2;flex-direction:column;padding:32px 24px}.vehicle-type-card.card-half{grid-column:span 1;aspect-ratio:4/3}.vehicle-type-card i{font-size:42px;color:var(--secondary);transition:transform var(--transition-base)}.vehicle-label{font-size:16px;font-weight:600;color:var(--text-body);text-align:center;line-height:1.4}.vehicle-type-card:hover{border-color:var(--secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.vehicle-type-card.selected{border-width:3px;border-color:var(--secondary);box-shadow:0 0 0 4px #61a60e4d}.vehicle-type-card.selected i{transform:scale(1.1)}.vehicle-type-footer{margin-top:auto;padding-top:24px;text-align:center}.vehicle-type-footer p{font-size:12px;color:#fffc}@media(max-width:480px){.vehicle-type-header{padding:32px 20px 24px}.welcome-title{font-size:28px}.welcome-subtitle{font-size:14px}.vehicle-type-content{padding:24px 20px 20px}.vehicle-type-card{padding:16px 20px}.vehicle-type-card i{font-size:28px}}.plan-selection-container{min-height:100vh;display:flex;flex-direction:column;background:var(--white);overflow-y:auto;overflow-x:hidden}.plan-selection-content{flex:1;padding:24px 24px 40px;display:flex;flex-direction:column;gap:20px;overflow:visible}.rcv-card{background:var(--bg-blue);border-radius:var(--radius);padding:16px;border:1px solid var(--border-color)}.rcv-card-header{display:flex;flex-direction:column;gap:8px}.rcv-card h3{font-size:16px;font-weight:700;color:var(--primary);margin:0}.rcv-price{font-size:14px;color:var(--text-body);display:flex;flex-direction:column;gap:2px}.rcv-price span{font-weight:700;color:var(--primary)}.rcv-badge{background:var(--secondary);color:var(--white);padding:6px 12px;border-radius:16px;font-size:12px;font-weight:600;white-space:nowrap}.vehicle-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.vehicle-tab{padding:10px 20px;border-radius:20px;border:none;background:var(--gray-50);color:var(--text-body);font-size:var(--font-size-body);font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--transition-base)}.vehicle-tab.active{background:var(--secondary);color:var(--white)}.vehicle-tab:hover:not(.active){background:var(--gray-200)}.coverages-section{margin:8px 0 24px;overflow:visible}.coverages-title{font-size:18px;font-weight:700;color:var(--text-dark);margin-bottom:8px}.coverages-subtitle{font-size:14px;color:var(--text-body);margin-bottom:16px}.coverages-list{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.coverage-card{background:var(--white);border:2px solid var(--border-color);border-radius:var(--radius);overflow:visible;transition:all var(--transition-base);position:relative;flex-shrink:0;cursor:pointer}.coverage-card:hover{border-color:var(--secondary);box-shadow:0 4px 12px #61a60e26}.coverage-card.selected{border-color:var(--secondary);background:#61a60e0d}.coverage-card.selected:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--secondary)}.coverage-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 16px 16px 20px;cursor:pointer;gap:12px}.coverage-card h4{font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:4px}.coverage-price{font-size:14px;color:var(--text-body)}.coverage-price span{font-weight:700}.coverage-info{flex:1}.coverage-check-icon{width:24px;height:24px;border:2px solid var(--border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-base);background:var(--white)}.coverage-check-icon.checked{background:var(--secondary);border-color:var(--secondary)}.coverage-check-icon i{font-size:18px;color:var(--white);font-weight:700}.coverage-toggle{display:flex!important;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;border:none;border-top:1px solid var(--border-color);background:var(--white);color:var(--primary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.coverage-toggle:hover{background:var(--bg-blue);color:var(--secondary)}.coverage-toggle i{font-size:20px}.coverage-details{padding:16px;border-top:1px solid var(--border-color);background:var(--white)}.coverage-details p{font-size:13px;color:var(--text-body);margin-bottom:8px;line-height:1.5}.coverage-details p:last-child{margin-bottom:0}.btn-link{background:none;border:none;color:var(--text-body);font-size:var(--font-size-body);font-weight:500;cursor:pointer;padding:12px;text-align:center;transition:color var(--transition-base)}.btn-link:hover{color:var(--text-dark)}.coverage-select-btn{display:flex;align-items:center;justify-content:space-between;gap:12px}.coverage-select-btn .btn-content{display:flex;align-items:center;gap:8px;flex:1}.coverage-count-badge{background:var(--white);color:var(--primary);min-width:24px;height:24px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;padding:0 8px}.coverage-select-btn i{font-size:24px}.total-price-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius);padding:16px;display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:600;color:var(--text-dark)}.total-amount{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.total-amount .price-usd{font-size:20px;font-weight:700;color:var(--primary);line-height:1.2}.price-bs{font-size:13px;font-weight:600;color:var(--text-placeholder);line-height:1.2;opacity:.85}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:var(--white);border-radius:24px 24px 0 0;width:100%;max-width:500px;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:20px;font-weight:700;color:var(--text-dark);margin:0}.modal-close{background:none;border:none;color:var(--text-body);font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition-base)}.modal-close:hover{background:var(--gray-50)}.modal-body{flex:1;overflow-y:auto;padding:20px 24px}.modal-subtitle{font-size:14px;color:var(--text-body);margin-bottom:20px}.modal-coverages-list{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.modal-coverage-item{background:var(--bg-blue);border:1px solid var(--border-color);border-radius:var(--radius);padding:16px}.modal-coverage-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.coverage-info h3{font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:4px}.coverage-info .coverage-price{font-size:14px;color:var(--text-body);font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%}.coverage-toggle-modal{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 0;border:none;background:none;color:var(--primary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.coverage-toggle-modal:hover{color:var(--text-dark)}.coverage-toggle-modal i{font-size:20px}.modal-coverage-details{padding-top:12px;border-top:1px solid var(--border-color);margin-top:8px}.modal-coverage-details p{font-size:13px;color:var(--text-body);margin-bottom:8px;line-height:1.5}.modal-coverage-details p:last-child{margin-bottom:0}.modal-total{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--gray-50);border-radius:var(--radius);font-size:16px;font-weight:600;color:var(--text-dark)}.modal-total-amount{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.modal-total-amount .price-usd{font-size:20px;font-weight:700;color:var(--primary);line-height:1.2}.modal-footer{padding:16px 24px;border-top:1px solid var(--border-color)}.modal-details{max-height:80vh}.modal-coverage-price{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-blue);border-radius:var(--radius);margin-bottom:20px}.modal-coverage-price .price-label{font-size:14px;font-weight:600;color:var(--text-body)}.modal-coverage-price .price-values{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.modal-coverage-price .price-usd{font-size:20px;font-weight:700;color:var(--primary);line-height:1.2}.details-subtitle{font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:12px}.coverage-benefits-list{list-style:none;padding:0;margin:0}.coverage-benefits-list li{background:var(--white);border:1px solid var(--border-color);border-radius:8px;margin-bottom:8px;font-size:14px;color:var(--text-body);line-height:1.5;position:relative;padding:12px 16px 12px 40px}.coverage-benefits-list li:before{content:"✓";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;background:var(--secondary);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.coverage-benefits-list li:last-child{margin-bottom:0}@media(max-width:480px){.plan-selection-content{padding:24px 20px}.vehicle-tabs{gap:6px}.vehicle-tab{padding:8px 16px;font-size:13px}.modal-content{max-height:90vh}.modal-header,.modal-body{padding:16px 20px}.modal-footer{padding:12px 20px}}.step-header{background:linear-gradient(180deg,#004987,#003666);color:var(--white);padding:40px 24px 60px;text-align:center;border-radius:0 0 40px 40px;position:relative;box-shadow:0 4px 12px #0000001a;margin-bottom:-20px}.step-header-back{position:absolute;top:16px;left:16px;width:40px;height:40px;border:none;background:transparent;color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.step-header-back:hover{background:#ffffff1a}.step-header-back i{font-size:28px}.step-progress-fill{height:100%;background:var(--white);border-radius:2px;transition:width var(--transition-smooth)}@media(max-width:480px){.step-header{padding:32px 20px 50px}.step-title{font-size:22px}}.plan-confirmation-container{min-height:100vh;display:flex;flex-direction:column;background:var(--gray-50)}.plan-confirmation-header{background:linear-gradient(180deg,#004987,#003666);color:var(--white);padding:40px 24px 60px;text-align:center;border-radius:0 0 40px 40px;position:relative;box-shadow:0 4px 12px #0000001a}.seguramiga-logo-header{margin-bottom:24px;display:flex;justify-content:center}.seguramiga-logo-header img{height:48px;width:auto}.step-title{font-size:24px;font-weight:700;margin-bottom:8px;color:var(--white)}.step-subtitle{font-size:14px;font-weight:400;color:#ffffffe6;margin-bottom:24px;max-width:300px;margin-left:auto;margin-right:auto;line-height:1.5}.step-progress-bar{width:100%;max-width:320px;height:4px;background:#fff3;border-radius:2px;overflow:hidden;margin:0 auto}.step-progress-fill{height:100%;background:#fff;border-radius:2px;transition:width var(--transition-smooth)}.plan-confirmation-content{flex:1;padding:24px;display:flex;flex-direction:column;gap:20px}.rcv-featured-card{background:var(--bg-blue);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:8px;border:1px solid var(--border-color)}.rcv-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.rcv-featured-card h3{font-size:18px;font-weight:700;color:var(--primary);margin:0}.rcv-featured-price{font-size:20px;font-weight:700;color:var(--primary);margin:0;white-space:nowrap}.rcv-featured-badge{background:var(--secondary);color:var(--white);padding:8px 16px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.coverages-grid{background:var(--white);border:1px dashed var(--border-color);border-radius:var(--radius);padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative}.coverage-grid-item{display:flex;flex-direction:column;gap:4px;padding:12px;position:relative}.coverage-grid-item:nth-child(odd):not(:last-child){border-right:1px dashed var(--border-color);padding-right:20px}.coverage-grid-item:nth-child(2n){padding-left:20px}.coverage-grid-item:not(:nth-last-child(-n+2)){border-bottom:1px dashed var(--border-color);padding-bottom:20px}.coverage-grid-item h4{font-size:16px;font-weight:700;color:var(--text-dark);margin:0}.coverage-price-row{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%}.coverage-usd{font-size:18px;font-weight:700;color:var(--text-dark)}.coverage-bs{font-size:14px;font-weight:600;color:var(--text-body);white-space:nowrap}.total-section{background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius);padding:20px}.total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.total-label{font-size:18px;font-weight:600;color:var(--text-dark)}.total-value{font-size:32px;font-weight:700;color:var(--text-dark)}.total-bs{font-size:16px;font-weight:500;color:var(--text-body);margin:0}@media(max-width:480px){.plan-confirmation-header{padding:32px 20px 48px}.plan-confirmation-content{padding:20px}.coverages-grid{padding:16px;gap:16px 8px}.coverage-grid-item{padding:8px}.coverage-grid-item:nth-child(odd):not(:last-child){padding-right:12px}.coverage-grid-item:nth-child(2n){padding-left:12px}.coverage-grid-item h4{font-size:14px}.coverage-usd{font-size:16px}.coverage-bs{font-size:12px}.total-value{font-size:28px}.total-bs{font-size:14px}}.camera-overlay{position:fixed;inset:0;background:#000;z-index:1000;display:flex;flex-direction:column}.camera-container{flex:1;display:flex;flex-direction:column;max-width:100%;max-height:100%}.camera-header{display:flex;align-items:center;padding:16px;background:#000c;color:#fff}.camera-header span{flex:1;text-align:center;font-size:16px;font-weight:500}.close-btn{width:40px;height:40px;border:none;background:#fff3;color:#fff;font-size:20px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#ffffff4d}.close-btn i{font-size:24px}.camera-header-controls{display:flex;gap:8px}.control-btn{width:36px;height:36px;border:none;background:#fff3;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative}.control-btn:hover{background:#ffffff4d}.control-btn.active{background:#61a60e}.control-btn i{font-size:18px}.badge-auto{position:absolute;bottom:-2px;right:-2px;font-size:8px;font-weight:700;background:#fff;color:#004987;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center}.camera-viewfinder{flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#000}.camera-viewfinder video{width:100%;height:100%;object-fit:cover}.camera-overlay-mask{position:absolute;inset:0;display:flex;flex-direction:column;pointer-events:none}.mask-top,.mask-bottom{background:#0009;flex:1}.mask-middle{display:flex;width:100%;height:0;padding-bottom:53.125vw;max-height:250px;position:relative}.mask-left,.mask-right{background:#0009;width:7.5%}.frame-cutout{flex:1;background:transparent}.viewfinder-frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:85%;max-width:400px;aspect-ratio:1.6 / 1;pointer-events:none}.frame-border{position:absolute;inset:0;border:2px solid rgba(245,158,11,.8);border-radius:12px;box-shadow:0 0 0 2px #ffffff4d,0 0 20px #f59e0b80,inset 0 0 20px #f59e0b1a;animation:pulse-border-warning 2s ease-in-out infinite;transition:border-color .3s ease,box-shadow .3s ease}.viewfinder-frame.status-perfect .frame-border{border-color:#61a60ee6;box-shadow:0 0 0 2px #ffffff4d,0 0 30px #61a60e99,inset 0 0 20px #61a60e26;animation:pulse-border-perfect 1.5s ease-in-out infinite}.viewfinder-frame.status-warning .frame-border{border-color:#f59e0bcc;box-shadow:0 0 0 2px #ffffff4d,0 0 20px #f59e0b80,inset 0 0 20px #f59e0b1a;animation:pulse-border-warning 2s ease-in-out infinite}.viewfinder-frame.status-error .frame-border{border-color:#ef4444e6;box-shadow:0 0 0 2px #ffffff4d,0 0 20px #ef444480,inset 0 0 20px #ef44441a;animation:pulse-border-error 1s ease-in-out infinite}@keyframes pulse-border-perfect{0%,to{border-color:#61a60ee6;box-shadow:0 0 0 2px #ffffff4d,0 0 30px #61a60e99,inset 0 0 20px #61a60e26}50%{border-color:#61a60e;box-shadow:0 0 0 3px #ffffff80,0 0 40px #61a60ecc,inset 0 0 30px #61a60e40}}@keyframes pulse-border-warning{0%,to{border-color:#f59e0bcc;box-shadow:0 0 0 2px #ffffff4d,0 0 20px #f59e0b80,inset 0 0 20px #f59e0b1a}50%{border-color:#f59e0b;box-shadow:0 0 0 2px #fff6,0 0 25px #f59e0bb3,inset 0 0 25px #f59e0b26}}@keyframes pulse-border-error{0%,to{border-color:#ef4444e6;opacity:1}50%{border-color:#ef4444;opacity:.7}}.corner{position:absolute;width:40px;height:40px;border-color:#f59e0b;border-style:solid;border-width:0;z-index:2;transition:border-color .3s ease}.corner.top-left{top:-2px;left:-2px;border-top-width:5px;border-left-width:5px;border-top-left-radius:12px}.corner.top-right{top:-2px;right:-2px;border-top-width:5px;border-right-width:5px;border-top-right-radius:12px}.corner.bottom-left{bottom:-2px;left:-2px;border-bottom-width:5px;border-left-width:5px;border-bottom-left-radius:12px}.corner.bottom-right{bottom:-2px;right:-2px;border-bottom-width:5px;border-right-width:5px;border-bottom-right-radius:12px}.viewfinder-frame.status-perfect .corner{border-color:#61a60e;animation:corner-pulse-green 1.5s ease-in-out infinite}.viewfinder-frame.status-warning .corner{border-color:#f59e0b;animation:corner-pulse-yellow 2s ease-in-out infinite}.viewfinder-frame.status-error .corner{border-color:#ef4444;animation:corner-pulse-red 1s ease-in-out infinite}@keyframes corner-pulse-green{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}@keyframes corner-pulse-yellow{0%,to{opacity:1}50%{opacity:.7}}@keyframes corner-pulse-red{0%,to{opacity:1}50%{opacity:.5}}.countdown-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10}.countdown-number{font-size:120px;font-weight:700;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.5),0 0 60px rgba(97,166,14,.8);animation:countdown-pop 1s ease-out}@keyframes countdown-pop{0%{opacity:0;transform:scale(2)}30%{opacity:1;transform:scale(.9)}50%{transform:scale(1.05)}to{transform:scale(1)}}.status-message{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:24px;font-size:14px;font-weight:500;white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .3s ease;z-index:5}.status-message i{font-size:18px}.status-message.status-perfect{background:#61a60ee6;color:#fff}.status-message.status-warning{background:#f59e0be6;color:#fff}.status-message.status-error{background:#ef4444e6;color:#fff}.camera-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff}.camera-loading .spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.camera-controls{padding:24px;background:#000c;display:flex;justify-content:space-between;align-items:center}.auto-capture-toggle{display:flex;align-items:center;gap:6px;padding:8px 16px;border:2px solid rgba(255,255,255,.3);background:transparent;color:#fff;border-radius:20px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease;min-width:90px}.auto-capture-toggle:hover{border-color:#ffffff80}.auto-capture-toggle.active{border-color:#61a60e;background:#61a60e33}.auto-capture-toggle i{font-size:16px}.controls-spacer{min-width:90px}.capture-btn{width:72px;height:72px;border-radius:50%;border:4px solid white;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.capture-btn:active{transform:scale(.95)}.capture-btn:disabled{opacity:.5;cursor:not-allowed}.capture-btn.ready{border-color:#61a60e}.capture-btn.ready .capture-btn-inner{background:#61a60e}.capture-btn-inner{width:56px;height:56px;border-radius:50%;background:#fff;transition:all .2s ease}.capture-btn:hover:not(:disabled) .capture-btn-inner{background:#e0e0e0}.camera-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;color:#fff;text-align:center}.camera-error .error-icon{font-size:64px;margin-bottom:16px;color:#ef4444}.camera-error .error-icon i{font-size:64px}.camera-error p{font-size:16px;margin-bottom:24px;max-width:300px;line-height:1.5}.camera-error .error-actions{display:flex;gap:12px;margin-bottom:16px}.camera-error .error-actions .btn{padding:12px 24px;border-radius:12px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;cursor:pointer;border:none}.camera-error .error-actions .btn-primary{background:#61a60e;color:#fff}.camera-error .error-actions .btn-secondary{background:#fff3;color:#fff}.camera-error .error-hint{font-size:12px;color:#fff9;margin-top:8px;max-width:280px}.camera-preview{display:flex;flex-direction:column;height:100%;background:#000}.preview-header{padding:16px;background:#000c;color:#fff;text-align:center;font-size:16px;font-weight:500}.preview-image-container img{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 4px 20px #0000004d;object-fit:contain}.preview-actions{display:flex;gap:12px;padding:20px;background:#000c}.preview-actions .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;font-size:14px;font-weight:600;border-radius:12px;cursor:pointer;transition:all .2s ease}.preview-actions .btn i{font-size:20px}.preview-actions .btn-secondary{background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff}.preview-actions .btn-secondary:hover{background:#ffffff4d}.preview-actions .btn-primary{background:#61a60e;border:none;color:#fff}.preview-actions .btn-outline{background:transparent;border:2px solid rgba(255,255,255,.5);color:#fff}.preview-actions .btn-outline:hover{background:#ffffff1a;border-color:#ffffffb3}.preview-header{display:flex;align-items:center;justify-content:center;position:relative}.preview-header .back-btn{position:absolute;left:16px;width:36px;height:36px;border:none;background:#fff3;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.preview-header .back-btn:hover{background:#ffffff4d}.preview-header .back-btn i{font-size:20px}.preview-header .header-spacer{width:36px}.crop-container{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#000;touch-action:none;-webkit-user-select:none;user-select:none}.crop-container img{max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;display:block}.crop-area{position:absolute;border:1px solid rgba(255,255,255,.5);box-shadow:0 0 0 9999px #0009;cursor:move;box-sizing:border-box;z-index:10}.crop-hint{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:8px 16px;border-radius:20px;font-size:12px;white-space:nowrap;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.quality-indicators{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;flex-direction:row;gap:8px;z-index:10;flex-wrap:wrap;justify-content:center;max-width:90%}.quality-indicator{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .3s ease;white-space:nowrap}.quality-indicator i{font-size:14px}.quality-indicator.lighting-good{background:#61a60ee6;color:#fff}.quality-indicator.lighting-medium{background:#f59e0be6;color:#fff}.quality-indicator.lighting-low{background:#ef4444e6;color:#fff;animation:pulse-warning 1.5s ease-in-out infinite}.quality-indicator.lighting-high{background:#f59e0be6;color:#fff}.quality-indicator.lighting-unknown{background:#0009;color:#fff}.quality-indicator.stability-stable{background:#61a60ed9;color:#fff}.quality-indicator.stability-unstable{background:#ef4444e6;color:#fff;animation:shake .5s ease-in-out infinite}.quality-score{width:100px;padding:6px 10px;background:#00000080;border-radius:20px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.score-bar{height:6px;background:#ffffff4d;border-radius:3px;overflow:hidden}.score-fill{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:3px}.quality-score.score-good .score-fill{background:#61a60e}.quality-score.score-medium .score-fill{background:#f59e0b}.quality-score.score-low .score-fill{background:#ef4444}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-2px)}40%{transform:translate(2px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@media(max-width:768px){.viewfinder-frame{width:90%}.mask-left,.mask-right{width:5%}.status-message{font-size:13px;padding:10px 16px;bottom:15px}.corner{width:32px;height:32px}.countdown-number{font-size:100px}}@media(max-width:480px){.viewfinder-frame{width:92%}.mask-left,.mask-right{width:4%}.status-message{font-size:12px;white-space:normal;max-width:280px;text-align:center;bottom:10px}.corner{width:28px;height:28px}.countdown-number{font-size:80px}.quality-indicators{gap:6px}.quality-indicator{padding:4px 10px;font-size:11px}.quality-indicator i{font-size:12px}.quality-score{width:80px;padding:4px 8px}.score-bar{height:5px}.auto-capture-toggle{padding:6px 12px;font-size:11px;min-width:80px}.controls-spacer{min-width:80px}.capture-btn{width:64px;height:64px}.capture-btn-inner{width:48px;height:48px}.camera-header-controls{gap:6px}.control-btn{width:32px;height:32px}.control-btn i{font-size:16px}.preview-actions{flex-wrap:wrap;gap:10px}.preview-actions .btn{padding:12px 14px;font-size:13px}.preview-actions .btn-primary{flex:1 1 100%;order:-1}.preview-actions .btn-secondary,.preview-actions .btn-outline{flex:1 1 calc(50% - 5px);min-width:0}.crop-corner{width:24px;height:24px}.crop-corner:before,.crop-corner:after{background:#999}.crop-corner.top-left:before,.crop-corner.top-left:after,.crop-corner.top-right:before,.crop-corner.top-right:after,.crop-corner.bottom-left:before,.crop-corner.bottom-left:after,.crop-corner.bottom-right:before,.crop-corner.bottom-right:after{width:24px;height:24px}.crop-corner.top-left:before{height:24px;width:3px}.crop-corner.top-left:after{width:24px;height:3px}.crop-corner.top-right:before{height:24px;width:3px}.crop-corner.top-right:after{width:24px;height:3px}.crop-corner.bottom-left:before{height:24px;width:3px}.crop-corner.bottom-left:after{width:24px;height:3px}.crop-corner.bottom-right:before{height:24px;width:3px}.crop-corner.bottom-right:after{width:24px;height:3px}.crop-edge.top,.crop-edge.bottom{left:24px;right:24px}.crop-edge.left,.crop-edge.right{top:24px;bottom:24px}.crop-hint{font-size:11px;padding:6px 12px;bottom:12px}}@media(orientation:landscape)and (max-height:600px){.viewfinder-frame{width:60%;max-width:500px}.mask-left,.mask-right{width:20%}.status-message{bottom:10px;font-size:12px}.countdown-number{font-size:70px}.camera-controls{padding:12px 24px}.capture-btn{width:56px;height:56px}.capture-btn-inner{width:42px;height:42px}}.cedula-capture-container{min-height:100vh;display:flex;flex-direction:column;background:var(--white)}.cedula-capture-header{background:linear-gradient(180deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);padding:32px 24px;text-align:center}.cedula-capture-title{font-size:var(--font-size-module);font-weight:700;margin-bottom:8px}.cedula-capture-subtitle{font-size:var(--font-size-body);font-weight:400;color:#ffffffe6;margin-bottom:20px}.cedula-progress-bar{width:100%;height:4px;background:#fff3;border-radius:2px;overflow:hidden}.cedula-progress-fill{height:100%;background:var(--white);transition:width var(--transition-smooth)}.cedula-capture-content{flex:1;padding:24px;display:flex;flex-direction:column;gap:20px}.cedula-captured-preview{position:relative;border-radius:var(--radius);overflow:hidden;border:2px solid var(--border-color);margin-bottom:20px}.cedula-captured-preview img{width:100%;display:block}.cedula-retake-button{position:absolute;top:12px;right:12px;background:var(--white);border:none;padding:10px 16px;border-radius:var(--radius);font-size:13px;font-weight:600;color:var(--text-dark);cursor:pointer;box-shadow:0 2px 8px #00000026;transition:all var(--transition-base)}.cedula-retake-button:hover{background:var(--gray-50);transform:translateY(-1px)}.cedula-processing{text-align:center;padding:32px 24px}.cedula-processing i{font-size:48px;color:var(--secondary);animation:spin 1s linear infinite}.cedula-processing p{margin-top:16px;font-size:var(--font-size-body);color:var(--text-body)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cedula-ocr-results{background:transparent;padding:0}.cedula-ocr-results h3{display:none}.cedula-ocr-results>p{display:none}.cedula-ocr-fields{display:flex;flex-direction:column;gap:16px}.cedula-form-group{display:flex;flex-direction:column;gap:8px}.cedula-form-group label{font-size:14px;font-weight:500;color:var(--text-dark)}.cedula-form-group input,.cedula-form-group select{width:100%;padding:14px 16px;border:1px solid #E0E0E0;border-radius:12px;font-size:14px;font-family:var(--font-primary);background:#f5f5f5;color:var(--text-dark);transition:all var(--transition-base);appearance:none;-webkit-appearance:none}.cedula-form-group input::placeholder{color:var(--text-placeholder)}.cedula-form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239BA5AD' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;padding-right:44px}.cedula-form-group input:focus,.cedula-form-group select:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 3px #61a60e26}.cedula-document-row{display:flex;gap:12px}.cedula-document-row select{flex:0 0 70px;padding-right:36px;background-position:right 8px center;text-align:center}.cedula-document-row input{flex:1}.cedula-confidence{margin-top:12px;font-size:12px;text-align:center;color:var(--text-placeholder)}.cedula-confidence.high{color:var(--secondary);font-weight:600}.cedula-confidence.low{color:var(--danger);font-weight:600}.cedula-consent{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--gray-50);border-radius:var(--radius)}.cedula-consent input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--secondary);flex-shrink:0;margin-top:2px}.cedula-consent label{font-size:13px;color:var(--text-body);line-height:1.5;cursor:pointer}.cedula-consent label a{color:var(--secondary);text-decoration:underline}.cedula-actions{margin-top:auto;display:flex;flex-direction:column;gap:12px}@media(max-width:480px){.cedula-capture-header,.cedula-capture-content{padding:24px 20px}.cedula-capture-button{padding:16px}.cedula-capture-button i{font-size:28px}}.cedula-quality-feedback{margin-top:16px;padding:16px;background:var(--gray-50);border-radius:var(--radius)}.quality-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:20px;font-size:13px;font-weight:600;margin-bottom:12px}.quality-badge i{font-size:16px}.quality-badge.score-good{background:#61a60e26;color:var(--secondary)}.quality-badge.score-medium{background:#f59e0b26;color:#d97706}.quality-badge.score-low{background:#ef444426;color:#dc2626}.quality-recommendations{font-size:13px}.quality-recommendations p{color:var(--text-body);margin-bottom:8px;font-weight:500}.quality-recommendations ul{margin:0;padding-left:20px;color:var(--text-body)}.quality-recommendations li{margin-bottom:4px;line-height:1.4}.quality-recommendations li:last-child{margin-bottom:0}.image-preview-overlay{position:fixed;inset:0;background:#000;z-index:1000;display:flex;flex-direction:column}.image-preview-container{flex:1;display:flex;flex-direction:column;max-width:100%;max-height:100%}.image-preview-overlay .preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#000c;color:#fff}.image-preview-overlay .preview-header span{flex:1;text-align:center;font-size:16px;font-weight:500}.image-preview-overlay .back-btn{width:40px;height:40px;border:none;background:#fff3;color:#fff;font-size:20px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.image-preview-overlay .back-btn:hover{background:#ffffff4d}.image-preview-overlay .header-spacer{width:40px}.image-preview-overlay .preview-image-container{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden;background:#000}.image-preview-overlay .preview-image-container img{max-width:100%;max-height:100%;border-radius:12px;object-fit:contain}.image-preview-overlay .preview-actions{display:flex;gap:12px;padding:20px;background:#000c}.image-preview-overlay .preview-actions .btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;font-size:14px;font-weight:600;border-radius:12px;cursor:pointer;transition:all .2s ease;border:none}.image-preview-overlay .preview-actions .btn i{font-size:20px}.image-preview-overlay .preview-actions .btn-secondary{background:#fff3;color:#fff}.image-preview-overlay .preview-actions .btn-secondary:hover{background:#ffffff4d}.image-preview-overlay .preview-actions .btn-primary{background:#61a60e;color:#fff}.image-preview-overlay .preview-actions .btn-primary:hover{background:#4d8a0b}.image-preview-overlay .preview-actions .btn-outline{background:transparent;border:2px solid rgba(255,255,255,.5);color:#fff}.image-preview-overlay .preview-actions .btn-outline:hover{background:#ffffff1a;border-color:#ffffffb3}.image-preview-overlay .crop-container{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#000;touch-action:none;-webkit-user-select:none;user-select:none}.image-preview-overlay .crop-container img{max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;display:block}.image-preview-overlay .crop-area{position:absolute;border:1px solid rgba(255,255,255,.5);box-shadow:0 0 0 9999px #0009;cursor:move;box-sizing:border-box;z-index:10}.image-preview-overlay .crop-corner{position:absolute;width:20px;height:20px;z-index:20;pointer-events:auto;touch-action:none}.image-preview-overlay .crop-corner:before,.image-preview-overlay .crop-corner:after{content:"";position:absolute;background:#888}.image-preview-overlay .crop-corner.top-left{top:-2px;left:-2px;cursor:nwse-resize}.image-preview-overlay .crop-corner.top-left:before{top:0;left:0;width:3px;height:20px}.image-preview-overlay .crop-corner.top-left:after{top:0;left:0;width:20px;height:3px}.image-preview-overlay .crop-corner.top-right{top:-2px;right:-2px;cursor:nesw-resize}.image-preview-overlay .crop-corner.top-right:before{top:0;right:0;width:3px;height:20px}.image-preview-overlay .crop-corner.top-right:after{top:0;right:0;width:20px;height:3px}.image-preview-overlay .crop-corner.bottom-left{bottom:-2px;left:-2px;cursor:nesw-resize}.image-preview-overlay .crop-corner.bottom-left:before{bottom:0;left:0;width:3px;height:20px}.image-preview-overlay .crop-corner.bottom-left:after{bottom:0;left:0;width:20px;height:3px}.image-preview-overlay .crop-corner.bottom-right{bottom:-2px;right:-2px;cursor:nwse-resize}.image-preview-overlay .crop-corner.bottom-right:before{bottom:0;right:0;width:3px;height:20px}.image-preview-overlay .crop-corner.bottom-right:after{bottom:0;right:0;width:20px;height:3px}.image-preview-overlay .crop-edge{position:absolute;z-index:15;pointer-events:auto;touch-action:none}.image-preview-overlay .crop-edge.top{top:-8px;left:20px;right:20px;height:16px;cursor:ns-resize}.image-preview-overlay .crop-edge.bottom{bottom:-8px;left:20px;right:20px;height:16px;cursor:ns-resize}.image-preview-overlay .crop-edge.left{left:-8px;top:20px;bottom:20px;width:16px;cursor:ew-resize}.image-preview-overlay .crop-edge.right{right:-8px;top:20px;bottom:20px;width:16px;cursor:ew-resize}.image-preview-overlay .crop-grid{position:absolute;inset:0;pointer-events:none}.image-preview-overlay .crop-grid-line{position:absolute;background:#ffffff4d}.image-preview-overlay .crop-grid-line.horizontal{left:0;right:0;height:1px}.image-preview-overlay .crop-grid-line.vertical{top:0;bottom:0;width:1px}.image-preview-overlay .crop-hint{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:8px 16px;border-radius:20px;font-size:12px;white-space:nowrap;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}@media(max-width:480px){.image-preview-overlay .preview-actions{flex-wrap:wrap;gap:10px}.image-preview-overlay .preview-actions .btn{padding:12px 14px;font-size:13px}.image-preview-overlay .preview-actions .btn-primary{flex:1 1 100%;order:-1}.image-preview-overlay .preview-actions .btn-secondary,.image-preview-overlay .preview-actions .btn-outline{flex:1 1 calc(50% - 5px);min-width:0}}.carnet-capture-container{min-height:100vh;display:flex;flex-direction:column;background:var(--white)}.carnet-capture-header{background:linear-gradient(180deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);padding:32px 24px;text-align:center}.carnet-capture-title{font-size:var(--font-size-module);font-weight:700;margin-bottom:8px}.carnet-capture-subtitle{font-size:var(--font-size-body);font-weight:400;color:#ffffffe6;margin-bottom:20px}.carnet-progress-bar{width:100%;height:4px;background:#fff3;border-radius:2px;overflow:hidden}.carnet-progress-fill{height:100%;background:var(--white);transition:width var(--transition-smooth)}.carnet-capture-content{flex:1;padding:24px;display:flex;flex-direction:column;gap:20px}.capture-area{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.capture-instruction{font-size:14px;color:var(--text-body);text-align:center;margin-bottom:8px}.image-placeholder{width:100%;aspect-ratio:16/10;background-color:#444;border-radius:12px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#ffffffb3}.image-placeholder i{font-size:48px;color:#ffffff80}.image-placeholder span{font-size:14px;font-weight:500}.image-placeholder:hover{background-color:#555}.image-placeholder:active{transform:scale(.98)}.capture-buttons{display:flex;gap:12px}.btn-camera{flex:1;padding:16px;background-color:var(--primary);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .3s ease}.btn-camera:hover{background-color:var(--primary-dark)}.btn-camera:active{transform:scale(.98)}.btn-camera i{font-size:20px}.btn-upload{flex:1;padding:16px;background-color:#e6f0f6;color:var(--primary);border:none;border-radius:12px;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .3s ease}.btn-upload:active{transform:scale(.98)}.btn-upload:hover{background-color:#d0e1ee}.btn-upload i{font-size:20px}.btn-gallery{width:100%;padding:16px;background-color:#e6f0f6;color:var(--primary);border:none;border-radius:12px;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .3s ease}.btn-gallery:hover{background-color:#d0e1ee}.btn-gallery:active{transform:scale(.98)}.btn-gallery i{font-size:20px}.carnet-captured-preview{position:relative;border-radius:var(--radius);overflow:hidden;border:2px solid var(--border-color);margin-bottom:20px}.carnet-captured-preview img{width:100%;display:block}.carnet-retake-button{position:absolute;top:12px;right:12px;background:var(--white);border:none;padding:10px 16px;border-radius:var(--radius);font-size:13px;font-weight:600;color:var(--text-dark);cursor:pointer;box-shadow:0 2px 8px #00000026;transition:all var(--transition-base);display:flex;align-items:center;gap:6px}.carnet-retake-button:hover{background:var(--gray-50);transform:translateY(-1px)}.carnet-processing{text-align:center;padding:32px 24px}.carnet-processing i{font-size:48px;color:var(--secondary);animation:spin 1s linear infinite}.carnet-processing p{margin-top:16px;font-size:var(--font-size-body);color:var(--text-body)}.carnet-ocr-results{background:transparent;padding:0}.carnet-ocr-results h3{display:none}.carnet-ocr-results>p{display:none}.carnet-ocr-fields{display:flex;flex-direction:column;gap:16px}.carnet-form-group{display:flex;flex-direction:column;gap:8px}.carnet-form-group label{font-size:14px;font-weight:500;color:var(--text-dark)}.carnet-form-group input,.carnet-form-group select{width:100%;padding:14px 16px;border:1px solid #E0E0E0;border-radius:12px;font-size:14px;font-family:var(--font-primary);background:#f5f5f5;color:var(--text-dark);transition:all var(--transition-base);appearance:none;-webkit-appearance:none}.carnet-form-group input::placeholder{color:var(--text-placeholder)}.carnet-form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239BA5AD' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;padding-right:44px}.carnet-form-group input:focus,.carnet-form-group select:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 3px #61a60e26}.carnet-confidence{margin-top:12px;font-size:12px;text-align:center;color:var(--text-placeholder)}.carnet-confidence.high{color:var(--secondary);font-weight:600}.carnet-confidence.low{color:var(--danger);font-weight:600}.carnet-actions{margin-top:auto;display:flex;flex-direction:column;gap:12px}.image-preview-overlay{position:fixed;inset:0;background:#000000f2;z-index:1000;display:flex;flex-direction:column}.image-preview-container{flex:1;display:flex;flex-direction:column;max-height:100vh;overflow:hidden}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;color:#fff}.preview-header span{font-size:16px;font-weight:600}.preview-header .back-btn{background:#ffffff1a;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer}.preview-header .back-btn i{font-size:24px}.preview-header .header-spacer{width:40px}.preview-image-container{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}.preview-image-container img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.preview-actions{display:flex;flex-wrap:wrap;gap:12px;padding:20px;background:#00000080}.preview-actions .btn{flex:1;min-width:100px;padding:14px 16px;border-radius:12px;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s ease;border:none}.preview-actions .btn i{font-size:18px}.preview-actions .btn-primary{background:var(--secondary);color:#fff}.preview-actions .btn-primary:hover{background:#4d8a0b}.preview-actions .btn-secondary{background:#ffffff26;color:#fff}.preview-actions .btn-secondary:hover{background:#ffffff40}.preview-actions .btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5)}.preview-actions .btn-outline:hover{border-color:#fff;background:#ffffff1a}.crop-container{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}.crop-container img{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.crop-area{position:absolute;border:1px solid rgba(255,255,255,.5);background:transparent;cursor:move;box-shadow:0 0 0 9999px #0009;box-sizing:border-box;z-index:10}.crop-corner{position:absolute;width:20px;height:20px;z-index:20;pointer-events:auto;touch-action:none}.crop-corner:before,.crop-corner:after{content:"";position:absolute;background:#888}.crop-corner.top-left{top:-2px;left:-2px;cursor:nwse-resize}.crop-corner.top-left:before{top:0;left:0;width:3px;height:20px}.crop-corner.top-left:after{top:0;left:0;width:20px;height:3px}.crop-corner.top-right{top:-2px;right:-2px;cursor:nesw-resize}.crop-corner.top-right:before{top:0;right:0;width:3px;height:20px}.crop-corner.top-right:after{top:0;right:0;width:20px;height:3px}.crop-corner.bottom-left{bottom:-2px;left:-2px;cursor:nesw-resize}.crop-corner.bottom-left:before{bottom:0;left:0;width:3px;height:20px}.crop-corner.bottom-left:after{bottom:0;left:0;width:20px;height:3px}.crop-corner.bottom-right{bottom:-2px;right:-2px;cursor:nwse-resize}.crop-corner.bottom-right:before{bottom:0;right:0;width:3px;height:20px}.crop-corner.bottom-right:after{bottom:0;right:0;width:20px;height:3px}.crop-edge{position:absolute;z-index:15;pointer-events:auto;touch-action:none}.crop-edge.top{top:-8px;left:20px;right:20px;height:16px;cursor:ns-resize}.crop-edge.bottom{bottom:-8px;left:20px;right:20px;height:16px;cursor:ns-resize}.crop-edge.left{left:-8px;top:20px;bottom:20px;width:16px;cursor:ew-resize}.crop-edge.right{right:-8px;top:20px;bottom:20px;width:16px;cursor:ew-resize}.crop-grid{position:absolute;inset:0;pointer-events:none}.crop-grid-line{position:absolute;background:#ffffff4d}.crop-grid-line.horizontal{left:0;right:0;height:1px}.crop-grid-line.vertical{top:0;bottom:0;width:1px}.crop-hint{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#ffffffb3;font-size:12px;text-align:center;padding:8px 16px;background:#00000080;border-radius:20px;white-space:nowrap}@media(max-width:480px){.preview-actions{flex-wrap:wrap}.preview-actions .btn-primary{order:-1;flex:1 1 100%}.preview-actions .btn-secondary,.preview-actions .btn-outline{flex:1 1 calc(50% - 6px);min-width:auto}.crop-corner{width:24px;height:24px}.crop-corner:before,.crop-corner:after{background:#999}.crop-corner.top-left:before{height:24px;width:3px}.crop-corner.top-left:after{width:24px;height:3px}.crop-corner.top-right:before{height:24px;width:3px}.crop-corner.top-right:after{width:24px;height:3px}.crop-corner.bottom-left:before{height:24px;width:3px}.crop-corner.bottom-left:after{width:24px;height:3px}.crop-corner.bottom-right:before{height:24px;width:3px}.crop-corner.bottom-right:after{width:24px;height:3px}.crop-edge.top,.crop-edge.bottom{left:24px;right:24px}.crop-edge.left,.crop-edge.right{top:24px;bottom:24px}}@media(max-width:480px){.carnet-capture-header,.carnet-capture-content{padding:24px 20px}.carnet-capture-button{padding:16px}.carnet-capture-button i{font-size:28px}}.contact-info-container{min-height:100vh;display:flex;flex-direction:column;background:var(--white)}.contact-info-header{background:linear-gradient(180deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);padding:32px 24px;text-align:center}.contact-info-title{font-size:var(--font-size-module);font-weight:700;margin-bottom:8px}.contact-info-subtitle{font-size:var(--font-size-body);font-weight:400;color:#ffffffe6;margin-bottom:20px}.contact-progress-bar{width:100%;height:4px;background:#fff3;border-radius:2px;overflow:hidden}.contact-progress-fill{height:100%;background:var(--white);transition:width var(--transition-smooth)}.contact-info-content{flex:1;padding:24px;display:flex;flex-direction:column;gap:20px}.contact-method-label{font-size:16px;font-weight:600;color:var(--text-dark);margin-bottom:12px}.contact-method-cards{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.contact-method-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--white);border:2px solid var(--border-color);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-base)}.contact-method-card i{font-size:28px;color:var(--secondary);transition:transform var(--transition-base)}.contact-method-card:hover{border-color:var(--secondary);box-shadow:0 4px 12px #61a60e26}.contact-method-card.selected{border-color:var(--secondary);background:var(--secondary-50);box-shadow:0 4px 12px #61a60e33}.contact-method-card.selected i{transform:scale(1.1)}.contact-method-content{flex:1}.contact-method-content h3{font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:4px}.contact-method-content p{font-size:13px;color:var(--text-body)}.contact-input-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.contact-input-group label{font-size:var(--font-size-body);font-weight:500;color:var(--text-dark)}.contact-input-group input{width:100%;padding:14px 16px;border:1px solid #E0E0E0;border-radius:12px;font-size:14px;font-family:var(--font-primary);transition:border-color .2s,box-shadow .2s;color:var(--text-dark);background-color:#f5f5f5}.contact-input-group input::placeholder{color:var(--text-placeholder)}.contact-input-group input:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 3px #61a60e26}.contact-input-group input.error{border-color:var(--danger);background-color:var(--danger-50)}.contact-input-hint{font-size:12px;color:var(--text-placeholder)}.contact-input-hint.error{color:var(--danger)}.email-input-wrapper{position:relative;width:100%}.email-input-transparent{width:100%;padding:14px 16px;border:1px solid #E0E0E0;border-radius:12px;font-size:14px;font-family:var(--font-primary);transition:border-color .2s,box-shadow .2s;background-color:#f5f5f5;color:transparent;caret-color:var(--text-dark)}.email-input-transparent::placeholder{color:var(--text-placeholder)}.email-input-transparent:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 3px #61a60e26}.email-display-layer{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:14px;font-family:var(--font-primary);pointer-events:none;-webkit-user-select:none;user-select:none;display:flex;align-items:center;white-space:nowrap}.email-text{color:#394c5c;font-weight:400}.email-domain-hint{color:var(--text-placeholder);margin-left:0}.phone-input-container{position:relative;display:flex;gap:8px;width:100%}.country-selector{display:flex;align-items:center;gap:6px;padding:14px 12px;background-color:#f5f5f5;border:1px solid #E0E0E0;border-radius:12px;cursor:pointer;transition:all .2s;min-width:100px;-webkit-user-select:none;user-select:none}.country-selector:hover{border-color:var(--secondary);background-color:#61a60e0d}.country-flag{font-size:20px;line-height:1}.country-code{font-size:14px;font-weight:600;color:var(--text-dark)}.country-selector i{margin-left:auto;font-size:20px;color:var(--text-body)}.country-dropdown{position:absolute;top:calc(100% + 4px);left:0;width:100%;max-height:300px;overflow-y:auto;background:var(--white);border:1px solid #E0E0E0;border-radius:12px;box-shadow:0 8px 24px #0000001f;z-index:100;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.country-option{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid #F5F5F5}.country-option:last-child{border-bottom:none}.country-option:hover{background-color:#61a60e0d}.country-option.selected{background-color:#61a60e1a}.country-option .country-flag{font-size:24px}.country-option .country-name{flex:1;font-size:14px;font-weight:500;color:var(--text-dark)}.country-option .country-code{font-size:13px;font-weight:600;color:var(--text-body)}.country-dropdown::-webkit-scrollbar{width:6px}.country-dropdown::-webkit-scrollbar-track{background:#f5f5f5;border-radius:10px}.country-dropdown::-webkit-scrollbar-thumb{background:var(--secondary);border-radius:10px}.country-dropdown::-webkit-scrollbar-thumb:hover{background:#528c0b}.contact-inputs-section{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.radio-indicator{margin-left:auto}.radio-outer{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.radio-outer.selected{border-color:var(--secondary)}.radio-inner{width:10px;height:10px;border-radius:50%;background-color:var(--secondary)}.contact-info-actions{margin-top:auto;display:flex;flex-direction:column;gap:12px}@media(max-width:480px){.contact-info-header,.contact-info-content{padding:24px 20px}.contact-method-card{padding:16px}.contact-method-card i{font-size:24px}}.otp-verification-container{min-height:100vh;display:flex;flex-direction:column;background:var(--white)}.otp-verification-header{background:linear-gradient(180deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);padding:32px 24px;text-align:center}.otp-verification-title{font-size:var(--font-size-module);font-weight:700;margin-bottom:8px}.otp-verification-subtitle{font-size:var(--font-size-body);font-weight:400;color:#ffffffe6;margin-bottom:20px}.otp-progress-bar{width:100%;height:4px;background:#fff3;border-radius:2px;overflow:hidden}.otp-progress-fill{height:100%;background:var(--white);transition:width var(--transition-smooth)}.otp-verification-content{flex:1;padding:32px 24px;display:flex;flex-direction:column;align-items:center}.otp-icon-wrapper{width:80px;height:80px;background:var(--bg-blue);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:24px}.otp-icon-wrapper i{font-size:40px;color:var(--secondary)}.otp-message{text-align:center;margin-bottom:32px}.otp-message h2{font-size:18px;font-weight:600;color:var(--text-dark);margin-bottom:8px}.otp-message p{font-size:14px;color:var(--text-body)}.otp-message strong{color:var(--text-dark)}.otp-inputs-container{display:flex;gap:12px;justify-content:center;margin-bottom:24px;width:100%;max-width:400px}.otp-input{width:48px;height:56px;text-align:center;font-size:24px;font-weight:600;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--white);color:var(--text-dark);transition:all var(--transition-base)}.otp-input:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 3px var(--secondary-50)}.otp-input.filled{border-color:var(--secondary);background:var(--secondary-50)}.otp-input.error{border-color:var(--danger);background:var(--danger-50)}.otp-resend{text-align:center;margin-bottom:32px}.otp-resend p{font-size:13px;color:var(--text-body);margin-bottom:8px}.otp-resend-button{background:none;border:none;color:var(--secondary);font-size:14px;font-weight:600;cursor:pointer;padding:8px 16px;border-radius:var(--radius);transition:all var(--transition-base)}.otp-resend-button:hover:not(:disabled){background:var(--secondary-50)}.otp-resend-button:disabled{opacity:.5;cursor:not-allowed}.otp-actions{width:100%;max-width:400px;display:flex;flex-direction:column;gap:12px;margin-top:auto}@media(max-width:480px){.otp-verification-header,.otp-verification-content{padding:24px 20px}.otp-inputs-container{gap:8px}.otp-input{width:40px;height:48px;font-size:20px}}.plan-info-container{min-height:100vh;display:flex;flex-direction:column;background:var(--white)}.plan-info-header{background:linear-gradient(180deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);padding:32px 24px;text-align:center}.plan-info-title{font-size:var(--font-size-module);font-weight:700;margin-bottom:8px}.plan-info-subtitle{font-size:var(--font-size-body);font-weight:400;color:#ffffffe6;margin-bottom:20px}.plan-info-progress-bar{width:100%;height:4px;background:#fff3;border-radius:2px;overflow:hidden}.plan-info-progress-fill{height:100%;background:var(--white);transition:width var(--transition-smooth)}.plan-info-content{flex:1;padding:24px;display:flex;flex-direction:column;gap:20px}.plan-info-form{display:flex;flex-direction:column;gap:16px}.plan-info-form-group{display:flex;flex-direction:column;gap:6px}.plan-info-form-group label{font-size:13px;font-weight:600;color:var(--text-dark)}.plan-info-form-group label span{color:var(--danger);margin-left:2px}.plan-info-form-group input,.plan-info-form-group select,.plan-info-form-group textarea{width:100%;padding:14px 16px;border:1px solid #E0E0E0;border-radius:12px;font-size:14px;font-family:var(--font-primary);background:#f5f5f5;color:var(--text-dark);transition:all var(--transition-base)}.plan-info-form-group input,.plan-info-form-group textarea{appearance:none;-webkit-appearance:none}.plan-info-form-group select{cursor:pointer}.plan-info-form-group input::placeholder,.plan-info-form-group textarea::placeholder{color:var(--text-placeholder)}.plan-info-form-group input:focus,.plan-info-form-group select:focus,.plan-info-form-group textarea:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 3px #61a60e26}.plan-info-form-group input.error,.plan-info-form-group select.error,.plan-info-form-group textarea.error{border-color:var(--danger)}.plan-info-form-group input:disabled,.plan-info-form-group select:disabled{background:var(--gray-100);color:var(--text-placeholder);cursor:not-allowed;opacity:.7}.plan-info-form-group textarea{resize:vertical;min-height:80px}.plan-info-form-hint{font-size:12px;color:var(--text-placeholder)}.plan-info-form-error{font-size:12px;color:var(--danger)}.plan-info-section{background:var(--bg-blue);border-radius:var(--radius);padding:16px;border:1px solid var(--border-color)}.plan-info-section h3{font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:16px;display:flex;align-items:center;gap:8px}.plan-info-section h3 i{color:var(--secondary);font-size:20px}.plan-info-actions{margin-top:auto;display:flex;flex-direction:column;gap:12px}@media(max-width:480px){.plan-info-header,.plan-info-content{padding:24px 20px}}.data-confirm-container{min-height:100vh;display:flex;flex-direction:column;background:var(--white)}.data-confirm-content{flex:1;padding:24px;display:flex;flex-direction:column;gap:16px}.data-confirm-card{background:#f5f5f5;border-radius:12px;padding:20px 24px;border:1px solid #E0E0E0}.data-confirm-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.data-confirm-label{font-size:var(--font-size-body);color:var(--text-body);font-weight:400}.data-confirm-value{font-size:var(--font-size-body);font-weight:600;color:var(--primary);text-align:right;max-width:55%;word-break:break-word}.data-confirm-actions{margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:12px;align-items:center}@media(max-width:480px){.data-confirm-content{padding:24px 20px}.data-confirm-card{padding:16px 20px}}.payment-container{min-height:100vh;display:flex;flex-direction:column;background:var(--white)}.payment-header{background:linear-gradient(180deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);padding:32px 24px;text-align:center}.payment-title{font-size:var(--font-size-module);font-weight:700;margin-bottom:8px}.payment-subtitle{font-size:var(--font-size-body);font-weight:400;color:#ffffffe6;margin-bottom:20px}.payment-progress-bar{width:100%;height:4px;background:#fff3;border-radius:2px;overflow:hidden}.payment-progress-fill{height:100%;background:var(--white);transition:width var(--transition-smooth)}.payment-content{flex:1;padding:24px;display:flex;flex-direction:column;gap:20px}.payment-amount-card{background:var(--bg-blue);border-radius:var(--radius);padding:20px;border:2px solid var(--secondary);text-align:center}.payment-amount-label{font-size:14px;color:var(--text-body);margin-bottom:8px}.payment-amount-values{display:flex;flex-direction:column;align-items:center;gap:4px}.payment-amount-value{font-size:32px;font-weight:700;color:var(--secondary);line-height:1.2}.payment-amount-bs{font-size:16px;font-weight:600;color:var(--text-placeholder);line-height:1.2}.payment-methods-label{font-size:16px;font-weight:600;color:var(--text-dark);margin-bottom:12px}.payment-methods-list{display:flex;flex-direction:column;gap:12px}.payment-method-card{display:flex;align-items:center;gap:16px;padding:24px;background:var(--white);border:1px solid transparent;border-radius:12px;cursor:pointer;transition:all var(--transition-base);box-shadow:0 2px 8px #0000000d;min-height:80px}.payment-method-card.method-pago-movil{background-color:#0e82c5;color:#fff}.payment-method-card.method-cuentas-nacionales{background-color:#003666;color:#fff}.payment-method-card.method-tarjeta-nacional{background-color:#f8f9fa;border:1px solid #E9ECEF;color:#1a1a1a}.payment-method-card i{font-size:24px;color:inherit}.payment-method-card.selected{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.payment-method-card.method-pago-movil.selected{box-shadow:0 8px 16px #0e82c54d}.payment-method-card.method-cuentas-nacionales.selected{box-shadow:0 8px 16px #0036664d}.payment-method-card.method-tarjeta-nacional.selected{border-color:#0e82c5}.payment-method-content h3{font-size:16px;font-weight:600;color:inherit;margin:0}.payment-method-card .bx-chevron-right{color:inherit;opacity:.8}.payment-form-section{background:var(--white);border-radius:var(--radius);padding:0;margin-top:24px}.payment-form-section h3{font-size:18px;font-weight:700;color:var(--text-dark);margin-bottom:16px}.payment-form{display:flex;flex-direction:column;gap:16px}.payment-form-group{display:flex;flex-direction:column;gap:8px}.payment-form-group label{font-size:14px;font-weight:500;color:var(--text-dark)}.payment-form-group input,.payment-form-group select{width:100%;padding:14px 16px;border:1px solid #E0E0E0;border-radius:12px;font-size:14px;font-family:var(--font-primary);background:#f5f5f5;color:var(--text-dark);transition:all var(--transition-base);appearance:none;-webkit-appearance:none}.payment-form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239BA5AD' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;padding-right:44px;background-color:#f5f5f5}.payment-form-group input::placeholder{color:var(--text-placeholder)}.payment-form-group input:focus,.payment-form-group select:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 3px #61a60e26}.payment-form-group input.error{border-color:var(--danger);background-color:#fff5f5}.payment-form-group input[type=date]{position:relative;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.payment-form-group input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;color:transparent;background:transparent;cursor:pointer;opacity:0}.payment-form-group input[type=date]::-webkit-inner-spin-button,.payment-form-group input[type=date]::-webkit-clear-button{display:none}.payment-form-group input[type=date]::-webkit-datetime-edit{padding:0}.payment-form-hint{font-size:12px;color:var(--text-placeholder)}.phone-input-container{display:flex;gap:8px;width:100%}.country-selector-fixed{display:flex;align-items:center;gap:6px;padding:14px 12px;background-color:#f5f5f5;border:1px solid #E0E0E0;border-radius:12px;min-width:100px;-webkit-user-select:none;user-select:none}.country-selector-fixed .country-flag{font-size:20px;line-height:1}.country-selector-fixed .country-code{font-size:14px;font-weight:600;color:var(--text-dark)}.phone-input-container input{flex:1}.payment-actions{margin-top:32px;display:flex;flex-direction:column;gap:16px}.btn-full{background-color:#61a60e;border-radius:50px;padding:16px;font-size:16px;font-weight:600;text-transform:none}.pm-unified-screen{display:flex;flex-direction:column;gap:20px}.pm-data-card{background:#f5f5f5;border-radius:12px;padding:20px;border:1px solid #E0E0E0}.pm-data-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.pm-data-title{font-size:16px;font-weight:700;color:var(--text-dark)}.pm-copy-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:none;color:var(--primary);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.pm-copy-btn:hover{color:var(--primary-dark)}.pm-copy-btn i{font-size:18px}.pm-data-rows{display:flex;flex-direction:column}.pm-data-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.pm-data-row-divider{border-top:1px solid #E0E0E0;margin-top:8px;padding-top:16px}.pm-data-label{font-size:14px;color:var(--text-body);font-weight:400}.pm-data-value{font-size:14px;font-weight:600;text-align:right}.pm-data-value.highlight{color:var(--primary)}.pm-data-value.highlight-green{color:var(--secondary)}.pm-tabs{display:flex;background:#e9ecef;border-radius:50px;padding:4px}.pm-tab{flex:1;padding:14px 20px;border:none;border-radius:50px;font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-base);background:transparent;color:var(--text-body)}.pm-tab.active{background:var(--secondary);color:#fff;box-shadow:0 2px 8px #61a60e40}.pm-tab:not(.active):hover{color:var(--text-dark)}.pm-mode-content{display:flex;flex-direction:column;gap:16px}.pm-info-box{text-align:center;padding:0 16px}.pm-info-box h4{font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:8px}.pm-info-box p{font-size:14px;color:var(--text-body);line-height:1.5}.pm-user-phone-card{background:#f0f9e8;border-radius:12px;padding:16px 20px;text-align:center}.pm-user-phone-label{display:block;font-size:14px;font-weight:500;color:var(--secondary);margin-bottom:4px}.pm-user-phone-value{display:block;font-size:18px;font-weight:700;color:var(--text-dark)}.payment-form-desc{font-size:14px;color:var(--text-body);margin-bottom:16px}.pm-otp-container{display:flex;gap:8px;justify-content:center;margin:24px 0 8px}.pm-otp-input{width:48px;height:56px;text-align:center;font-size:24px;font-weight:700;border:2px solid var(--border-color);border-radius:var(--radius);background:var(--white);color:var(--text-dark);transition:all var(--transition-base)}.pm-otp-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #00498726}.account-mode-switch{display:flex;background:#e9ecef;border-radius:50px;padding:4px}.account-mode-switch .switch-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border:none;border-radius:50px;background:transparent;font-size:14px;font-weight:600;color:var(--text-body);cursor:pointer;transition:all var(--transition-base)}.account-mode-switch .switch-btn i{font-size:18px}.account-mode-switch .switch-btn:not(.active):hover{color:var(--text-dark)}.account-mode-switch .switch-btn.active{background:var(--secondary);color:#fff;box-shadow:0 2px 8px #61a60e40}.payer-section{margin-top:8px;padding-top:16px;border-top:1px dashed var(--border-color)}.payer-section-title{display:block;font-size:14px;font-weight:600;color:var(--text-dark);margin-bottom:12px}.payer-fields{display:flex;gap:12px}.payer-fields .payment-form-group{margin-bottom:0}.form-row{display:flex;gap:12px}.form-row .payment-form-group{flex:1}.payment-failed-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 100px);position:relative;overflow:hidden;padding-top:60px}.payment-failed-decoration{position:absolute;inset:0;pointer-events:none}.payment-failed-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 24px;z-index:1}.payment-failed-icon{width:100px;height:100px;border-radius:50%;background:#00498714;display:flex;align-items:center;justify-content:center;margin-bottom:24px}.payment-failed-icon i{font-size:48px;color:var(--primary)}.payment-failed-title{font-size:22px;font-weight:700;color:var(--text-dark);margin-bottom:12px}.payment-failed-message{font-size:14px;color:var(--text-body);line-height:1.6;max-width:320px;margin:0}.payment-failed-actions{width:100%;margin-top:auto;padding-top:40px;display:flex;flex-direction:column;align-items:center;gap:16px;z-index:1}.payment-failed-footer{text-align:center;font-size:12px;color:#999;margin-top:8px}@media(max-width:480px){.payment-header,.payment-content{padding:24px 20px}.payment-container{width:100%;overflow-x:hidden}.account-mode-switch .switch-btn{padding:10px 12px;font-size:13px}.payer-fields{gap:8px}}.confirmation-loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--white);position:relative;overflow:hidden;padding:40px 24px}.confirmation-loading-decoration{position:absolute;inset:0;pointer-events:none}.decoration-circle{position:absolute;border-radius:50%;background:#0049870d}.decoration-circle.circle-1{width:300px;height:300px;top:-100px;left:-100px}.decoration-circle.circle-2{width:200px;height:200px;top:50%;right:-80px;background:#61a60e0d}.decoration-circle.circle-3{width:150px;height:150px;bottom:100px;left:-50px;background:#00498708}.confirmation-loading-content{z-index:1;text-align:center;max-width:400px;width:100%}.confirmation-loading-title{font-size:26px;font-weight:700;color:var(--text-dark);margin-bottom:48px}.confirmation-loading-icons{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:32px;position:relative;min-height:140px}.loading-icon-wrapper{animation:float 3s ease-in-out infinite}.loading-icon-wrapper.icon-1{animation-delay:0s}.loading-icon-wrapper.icon-2{animation-delay:.3s}.loading-icon-wrapper.icon-3{animation-delay:.6s}.loading-icon-wrapper.icon-4{animation-delay:.9s}.loading-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:pulse 2s ease-in-out infinite}.loading-icon.blue{background:var(--primary)}.loading-icon.green{background:var(--secondary)}.loading-icon.light-blue{background:#b8d9f5}.loading-icon.light-blue-2{background:#a8caec}.loading-icon i{font-size:28px;color:#fff}.loading-icon.light-blue i,.loading-icon.light-blue-2 i{color:var(--primary)}.confirmation-loading-text{font-size:14px;color:var(--text-body);margin:0}.confirmation-loading-footer{position:absolute;bottom:24px;left:0;right:0;text-align:center;font-size:12px;color:#999}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.confirmation-success-container{min-height:100vh;display:flex;flex-direction:column;background:var(--white);position:relative;overflow:hidden;padding:60px 24px 24px}.confirmation-success-decoration{position:absolute;inset:0;pointer-events:none}.confirmation-success-content{flex:1;display:flex;flex-direction:column;align-items:center;z-index:1;max-width:480px;width:100%;margin:0 auto}.confirmation-success-icon{width:88px;height:88px;border-radius:50%;background:#61a60e1a;display:flex;align-items:center;justify-content:center;margin-bottom:20px;position:relative}.confirmation-success-icon:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:transparent;border:3px solid var(--secondary);animation:wave 2s ease-out infinite}.confirmation-success-icon i{font-size:44px;color:var(--secondary)}@keyframes wave{0%{transform:scale(1);opacity:1}to{transform:scale(1.4);opacity:0}}.confirmation-success-title{font-size:24px;font-weight:700;color:var(--text-dark);margin:0 0 8px;text-align:center}.confirmation-success-subtitle{font-size:14px;color:var(--text-body);margin:0 0 20px;text-align:center}.confirmation-plan-badge{background:#e6f4ff;color:var(--primary);font-size:13px;font-weight:600;padding:10px 20px;border-radius:8px;margin-bottom:24px;text-align:center}.confirmation-qr-code{width:180px;height:180px;margin:0 auto 24px;background:#fff;border:2px solid var(--border-color);border-radius:12px;display:flex;align-items:center;justify-content:center}.qr-placeholder{width:160px;height:160px;background:#fff;display:flex;align-items:center;justify-content:center}.qr-placeholder i{font-size:120px;color:var(--text-dark)}.confirmation-details-container{width:100%;padding:0 8px}.confirmation-details-row{display:flex;align-items:stretch;gap:0}.confirmation-detail-col{flex:1;display:flex;flex-direction:column;gap:4px;padding:12px 16px}.confirmation-detail-divider-vertical{width:1px;background-image:linear-gradient(to bottom,var(--border-color) 50%,transparent 50%);background-size:1px 8px;background-repeat:repeat-y;margin:8px 0}.confirmation-detail-label{font-size:12px;color:var(--text-body);font-weight:400}.confirmation-detail-value{font-size:13px;font-weight:600;color:var(--text-dark);word-break:break-word}.confirmation-details-divider{width:100%;height:1px;background-image:linear-gradient(to right,var(--border-color) 50%,transparent 50%);background-size:8px 1px;background-repeat:repeat-x;margin:4px 0}.confirmation-success-actions{width:100%;margin-top:auto;padding-top:24px;display:flex;flex-direction:column;align-items:center;gap:12px;z-index:1}.confirmation-success-actions .btn i{font-size:18px}.confirmation-success-footer{text-align:center;font-size:12px;color:#999;margin-top:16px}@media(max-width:480px){.confirmation-loading-container{padding:24px 20px}.confirmation-loading-title{font-size:22px;margin-bottom:40px}.confirmation-loading-icons{gap:12px;min-height:120px}.loading-icon{width:48px;height:48px}.loading-icon i{font-size:24px}.confirmation-success-container{padding:40px 20px 20px}.confirmation-success-icon{width:72px;height:72px}.confirmation-success-icon i{font-size:36px}.confirmation-success-title{font-size:22px}.confirmation-qr-code{width:160px;height:160px}.qr-placeholder{width:140px;height:140px}.qr-placeholder i{font-size:100px}.confirmation-detail-col{padding:8px 12px}.confirmation-detail-label{font-size:11px}.confirmation-detail-value{font-size:12px}}.header-subtitle{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--primary-dark, #2563eb);background:#fffffff2;padding:6px 16px;border-radius:20px;margin-top:12px;box-shadow:0 2px 8px #00000026}.header-subtitle:before{content:"🏪";font-size:14px;margin-right:2px}.step-title{font-size:20px;font-weight:600;margin-bottom:8px}.step-description{color:var(--gray);margin-bottom:24px}.steps-container{background:var(--white);border-radius:var(--radius-lg);padding:16px 8px;overflow-x:auto;width:100%;max-width:500px;margin-top:16px;box-shadow:var(--shadow-sm)}.steps{display:flex;justify-content:center;gap:4px;min-width:max-content}.step-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 8px}.step-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;background:var(--gray-light);color:var(--gray);transition:all .3s ease}.step-item.active .step-circle{background:var(--primary);color:var(--white);transform:scale(1.1);box-shadow:0 4px 12px #1a73e866}.step-item.completed .step-circle{background:var(--secondary);color:var(--white)}.step-label{font-size:11px;color:var(--gray);text-align:center;max-width:60px}.step-item.active .step-label{color:var(--primary);font-weight:600}.step-item.completed .step-label{color:var(--secondary)}@media(max-width:480px){.form-row{grid-template-columns:1fr}.steps{padding:0 16px}.step-label{display:none}}.document-type-group{display:flex;gap:8px;margin-bottom:16px}.document-type-btn{flex:1;padding:12px;border:2px solid var(--gray-light);border-radius:var(--radius);background:var(--white);cursor:pointer;font-weight:500;transition:all .2s}.document-type-btn.active{border-color:var(--primary);color:var(--primary);background:#e8f0fe}.checkbox-group{display:flex;align-items:flex-start;gap:12px;margin:16px 0;text-align:left}.checkbox-group input{margin-top:4px;width:18px;height:18px;accent-color:var(--primary)}.checkbox-group label{font-size:14px;color:var(--gray)}.checkbox-group a{color:var(--primary)}.form-actions{display:flex;gap:12px;margin-top:24px}.form-actions .btn{flex:1}.confirmation-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#10b981;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='%23ffffff' fill-opacity='0.06'%3E%3C!-- Shield with checkmark --%3E%3Cpath d='M60 8 C60 8 88 18 88 18 L88 58 C88 85 60 100 60 100 C60 100 32 85 32 58 L32 18 C32 18 60 8 60 8 Z'/%3E%3C!-- Car silhouette at bottom --%3E%3Cpath d='M10 108 L18 98 L38 98 L45 86 L75 86 L82 98 L102 98 L110 108 L110 118 L10 118 Z' fill-opacity='0.04'/%3E%3Ccircle cx='30' cy='118' r='7' fill-opacity='0.04'/%3E%3Ccircle cx='90' cy='118' r='7' fill-opacity='0.04'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(135deg,#10b981,#059669,#047857);background-size:120px 120px,100% 100%;background-attachment:fixed;padding:24px}.confirmation-content{background:var(--white);border-radius:16px;padding:48px;max-width:500px;width:100%;text-align:center;box-shadow:0 8px 32px #0003}.confirmation-icon{width:80px;height:80px;background:var(--secondary);color:var(--white);font-size:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.confirmation-content h1{font-size:24px;color:var(--dark);margin-bottom:8px}.confirmation-content>p{color:var(--gray);margin-bottom:32px}.confirmation-details{background:var(--bg);border-radius:var(--radius);padding:24px;text-align:left;margin-bottom:24px}.detail-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--gray-light)}.detail-row:last-child{border-bottom:none}.detail-row span{color:var(--gray)}.status{padding:4px 12px;border-radius:20px;font-size:12px}.status-pending{background:#fff3cd;color:#856404}.status-policy_issued{background:#d4edda;color:#155724}.status-payment_completed{background:#cce5ff;color:#004085}.confirmation-note{color:var(--gray);font-size:14px}.login-container{position:fixed;top:0;left:0;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dark) 0%,#37474f 100%);padding:24px;box-sizing:border-box;z-index:1000}.login-card{background:var(--white);border-radius:16px;padding:48px;width:100%;max-width:400px;box-shadow:0 8px 32px #0000004d}.login-header{text-align:center;margin-bottom:32px}.login-logo{width:200px;height:auto;margin-bottom:16px}.login-header p{color:var(--gray)}.login-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--gray-light)}.login-footer a{color:var(--primary);text-decoration:none}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-input{padding-right:48px}.password-toggle-btn{position:absolute;right:12px;background:none;border:none;cursor:pointer;font-size:20px;padding:4px 8px;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:color .2s ease;-webkit-user-select:none;user-select:none}.password-toggle-btn:hover{color:#374151}.password-toggle-btn:focus{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}@media(max-width:480px){.login-card{padding:32px 24px}}.alert-error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #f5c6cb;color:#721c24;padding:14px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:10px;animation:shake .5s ease-in-out}.alert-error:before{content:"⚠️";font-size:18px}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.error-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s ease}.error-modal{background:#fff;padding:32px;border-radius:16px;width:90%;max-width:360px;text-align:center;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease}.error-modal-icon{font-size:48px;margin-bottom:16px;display:block}.error-modal h3{color:#1a1a1a;font-size:20px;font-weight:600;margin:0 0 8px}.error-modal p{color:#4b5563;font-size:15px;margin:0 0 24px;line-height:1.5}.error-modal .btn{width:100%}.overview-page{padding:0;max-width:1400px}.dashboard-header{margin-bottom:32px}.dashboard-header h1{font-size:28px;font-weight:700;color:var(--gray-900);margin:0 0 6px;letter-spacing:-.02em}.dashboard-header p{color:var(--gray-500);font-size:15px;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:32px}.stat-card{background:var(--white);border-radius:var(--radius-lg);padding:28px;border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:140px;cursor:pointer}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transition:height .3s ease}.stat-card:after{content:"";position:absolute;top:0;right:0;width:120px;height:120px;border-radius:50%;opacity:0;transition:all .4s ease;transform:translate(30%,-30%);pointer-events:none}.stat-card:hover{box-shadow:0 20px 40px #0000001f;transform:translateY(-6px) scale(1.02);border-color:transparent}.stat-card:hover:before{height:6px}.stat-card:hover:after{opacity:.15;transform:translate(20%,-20%) scale(1.5)}.stat-card:nth-child(1):before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.stat-card:nth-child(1):after{background:radial-gradient(circle,#3b82f6 0%,transparent 70%)}.stat-card:nth-child(1):hover{box-shadow:0 20px 40px #3b82f640}.stat-card:nth-child(2):before{background:linear-gradient(90deg,#10b981,#34d399)}.stat-card:nth-child(2):after{background:radial-gradient(circle,#10b981 0%,transparent 70%)}.stat-card:nth-child(2):hover{box-shadow:0 20px 40px #10b98140}.stat-card:nth-child(3):before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.stat-card:nth-child(3):after{background:radial-gradient(circle,#8b5cf6 0%,transparent 70%)}.stat-card:nth-child(3):hover{box-shadow:0 20px 40px #8b5cf640}.stat-card:nth-child(4):before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.stat-card:nth-child(4):after{background:radial-gradient(circle,#f59e0b 0%,transparent 70%)}.stat-card:nth-child(4):hover{box-shadow:0 20px 40px #f59e0b40}.stat-card h3{font-size:12px;font-weight:600;color:var(--gray-500);margin:0 0 16px;text-transform:uppercase;letter-spacing:.08em}.stat-card .stat-value{font-size:36px;font-weight:700;color:var(--gray-900);line-height:1.1;margin-bottom:8px;flex-grow:1;display:flex;align-items:flex-end}.stat-card .stat-subtitle{font-size:13px;color:var(--gray-400);display:flex;align-items:center;gap:4px;margin-top:auto}.stat-card .stat-subtitle.positive{color:var(--success-600)}.stat-card .stat-subtitle.negative{color:var(--danger-600)}.recent-subscriptions-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);overflow:hidden}.recent-subscriptions-card .card-header{padding:20px 24px;border-bottom:1px solid var(--gray-100);margin-bottom:0;background:var(--gray-50);display:flex;justify-content:space-between;align-items:center}.recent-subscriptions-card .card-title{font-size:16px;font-weight:600;color:var(--gray-900);margin:0}.data-table{width:100%;background:var(--white);overflow:hidden}.data-table table{width:100%;border-collapse:collapse}.data-table th{padding:14px 24px;text-align:left;font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.data-table td{padding:16px 24px;border-bottom:1px solid var(--gray-100);color:var(--gray-700);font-size:14px}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:all var(--transition-fast)}.data-table tbody tr:hover{background:var(--gray-50)}.data-table tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:500;text-transform:capitalize}.badge-pending{background:var(--warning-50);color:var(--warning-600)}.badge-pending:before{background:var(--warning-500)}.badge-otp_validated{background:var(--primary-50);color:var(--primary-700)}.badge-otp_validated:before{background:var(--primary-500)}.badge-payment_pending{background:#dbeafe;color:#1d4ed8}.badge-payment_pending:before{background:#3b82f6}.badge-payment_completed,.badge-policy_issued{background:var(--success-50);color:var(--success-700)}.badge-payment_completed:before,.badge-policy_issued:before{background:var(--success-500)}.badge-cancelled{background:var(--danger-50);color:var(--danger-700)}.badge-cancelled:before{background:var(--danger-500)}.empty-table-message{text-align:center;color:var(--gray-400);padding:64px 20px;font-size:14px}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:20px}}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:16px}.stat-card{padding:20px;min-height:120px}.stat-card .stat-value{font-size:28px}.data-table{overflow-x:auto}.data-table th,.data-table td{padding:12px 16px}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr;gap:12px}.stat-card{min-height:auto;padding:18px}.dashboard-header h1{font-size:24px}}.aggregators-page{padding:0}.aggregators-page .dashboard-header{margin-bottom:28px}.aggregators-page .dashboard-header h1{font-size:28px;font-weight:700;color:var(--gray-900);margin:0 0 6px;letter-spacing:-.02em}.aggregators-page .dashboard-header p{color:var(--gray-500);font-size:15px;margin:0}.aggregators-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);overflow:hidden}.aggregators-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--gray-100);background:var(--gray-50);margin-bottom:0}.aggregators-card .card-title{font-size:16px;font-weight:600;color:var(--gray-900);margin:0}.aggregators-page .data-table{width:100%;background:var(--white);overflow:hidden}.aggregators-page .data-table table{width:100%;border-collapse:collapse}.aggregators-page .data-table th{padding:14px 20px;text-align:left;font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.aggregators-page .data-table td{padding:16px 20px;border-bottom:1px solid var(--gray-100);color:var(--gray-700);font-size:14px;vertical-align:middle}.aggregators-page .data-table tr:last-child td{border-bottom:none}.aggregators-page .data-table tbody tr{transition:background-color var(--transition-fast)}.aggregators-page .data-table tbody tr:hover{background:var(--gray-50)}.aggregators-page code{background:var(--gray-100);padding:4px 8px;border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-mono);color:var(--gray-700)}.badge-active{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500;background:var(--success-50);color:var(--success-700)}.badge-active:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success-500)}.badge-inactive{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500;background:var(--danger-50);color:var(--danger-700)}.badge-inactive:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--danger-500)}.btn-icon{background:none;border:1px solid transparent;font-size:16px;cursor:pointer;padding:8px;border-radius:var(--radius);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.aggregators-page .data-table td:last-child{white-space:nowrap}.aggregators-page .data-table td:last-child .btn-icon{display:inline-flex;margin-right:4px}.empty-table-cell{text-align:center;color:var(--gray-400);padding:48px 20px}.modal{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUp .3s ease}.modal form{padding:24px}.form-label{display:block;margin-bottom:8px;font-weight:500;color:var(--gray-700);font-size:14px}.form-input,.form-select,.modal textarea{width:100%;padding:11px 14px;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:14px;background-color:var(--white);transition:all var(--transition-base);font-family:inherit}.form-input:focus,.form-select:focus,.modal textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50)}.form-input::placeholder,.modal textarea::placeholder{color:var(--gray-400)}.document-input-row{display:flex;gap:10px}.document-type-select{width:80px;flex-shrink:0;text-align:center;padding-left:12px;padding-right:12px}.document-number-input{flex:1}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-identity{grid-template-columns:180px 1fr;gap:16px;align-items:flex-start}.form-group-document{min-width:150px;max-width:200px}.form-group-document .document-input-row{gap:4px}.form-group-document .document-type-select{width:54px;padding:11px 6px;text-align:center;font-size:13px}.form-group-document .document-number-input,.form-group-name{flex:1;min-width:0}.input-error{border-color:var(--danger)!important;background-color:var(--danger-50)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:28px;padding-top:20px;border-top:1px solid var(--gray-100)}.confirm-modal-body p{margin:0;font-size:16px;color:var(--gray-700);line-height:1.6}.confirm-modal .modal-actions{padding:0 24px 24px;gap:12px;border-top:none;margin-top:0}.confirm-modal .btn{padding:12px 28px;font-size:14px;font-weight:600;min-width:120px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.btn-icon.qr-btn:hover{background:var(--primary-50);border-color:var(--primary-100)}.qr-modal{max-width:700px;width:100%}.qr-modal-body{padding:24px;max-height:60vh;overflow-y:auto}.qr-generate-section{background:var(--gray-50);border-radius:var(--radius-lg);padding:20px;margin-bottom:24px;border:1px solid var(--gray-100)}.qr-generate-section h4{font-size:14px;font-weight:600;color:var(--gray-700);margin:0 0 16px}.qr-generate-form{display:flex;gap:12px}.qr-generate-form .form-input{flex:1}.qr-generate-form .btn{white-space:nowrap}.qr-list-section h4{font-size:14px;font-weight:600;color:var(--gray-700);margin:0 0 16px}.qr-empty{text-align:center;color:var(--gray-400);padding:32px;font-size:14px}.qr-items-grid{display:flex;flex-direction:column;gap:12px}.qr-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.qr-item:hover{border-color:var(--primary-200);box-shadow:var(--shadow-sm)}.qr-item.inactive{opacity:.6;background:var(--gray-50)}.qr-item-image{flex-shrink:0;width:80px;height:80px;border-radius:var(--radius);overflow:hidden;background:var(--white);border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center}.qr-item-image img{width:100%;height:100%;object-fit:contain}.qr-item-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.qr-label{font-size:15px;font-weight:600;color:var(--gray-900)}.qr-stats{font-size:13px;color:var(--gray-500)}.qr-status{font-size:12px;font-weight:500}.qr-status.active{color:var(--success-600)}.qr-status.inactive{color:var(--danger-600)}.qr-item-actions{display:flex;gap:8px;flex-shrink:0}.qr-item-actions .btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast);font-size:14px;text-decoration:none}.qr-item-actions .btn-icon:hover{background:var(--gray-100);border-color:var(--gray-300)}.qr-item-actions .btn-icon.delete:hover{background:var(--danger-50);border-color:var(--danger-200)}.warning-text{color:var(--danger-600);font-size:13px;margin-top:8px}@media(max-width:768px){.form-row{grid-template-columns:1fr}.modal{margin:16px;max-width:calc(100% - 32px)}.qr-modal{max-width:100%;margin:16px}.qr-generate-form{flex-direction:column}.qr-item{flex-wrap:wrap}.qr-item-image{width:60px;height:60px}}.qr-codes-page{padding:0;max-width:1400px}.page-header-row{margin-bottom:32px}.page-header-row h1{font-size:28px;font-weight:700;color:var(--gray-900);margin:0 0 6px;letter-spacing:-.02em}.header-subtitle{color:var(--gray-500);font-size:15px;margin:0}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:32px}.qr-codes-page .stat-card{background:var(--white);border-radius:var(--radius-lg);padding:28px;border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:140px;cursor:pointer}.qr-codes-page .stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transition:height .3s ease}.qr-codes-page .stat-card:after{content:"";position:absolute;top:0;right:0;width:120px;height:120px;border-radius:50%;opacity:0;transition:all .4s ease;transform:translate(30%,-30%);pointer-events:none}.qr-codes-page .stat-card:hover{box-shadow:0 20px 40px #0000001f;transform:translateY(-6px) scale(1.02);border-color:transparent}.qr-codes-page .stat-card:hover:before{height:6px}.qr-codes-page .stat-card:hover:after{opacity:.15;transform:translate(20%,-20%) scale(1.5)}.qr-codes-page .stat-card:nth-child(1):before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.qr-codes-page .stat-card:nth-child(1):after{background:radial-gradient(circle,#3b82f6 0%,transparent 70%)}.qr-codes-page .stat-card:nth-child(1):hover{box-shadow:0 20px 40px #3b82f640}.qr-codes-page .stat-card:nth-child(2):before{background:linear-gradient(90deg,#10b981,#34d399)}.qr-codes-page .stat-card:nth-child(2):after{background:radial-gradient(circle,#10b981 0%,transparent 70%)}.qr-codes-page .stat-card:nth-child(2):hover{box-shadow:0 20px 40px #10b98140}.qr-codes-page .stat-card:nth-child(3):before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.qr-codes-page .stat-card:nth-child(3):after{background:radial-gradient(circle,#8b5cf6 0%,transparent 70%)}.qr-codes-page .stat-card:nth-child(3):hover{box-shadow:0 20px 40px #8b5cf640}.qr-codes-page .stat-card:nth-child(4):before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.qr-codes-page .stat-card:nth-child(4):after{background:radial-gradient(circle,#f59e0b 0%,transparent 70%)}.qr-codes-page .stat-card:nth-child(4):hover{box-shadow:0 20px 40px #f59e0b40}.qr-codes-page .stat-card .stat-label{font-size:12px;font-weight:600;color:var(--gray-500);margin:0 0 16px;text-transform:uppercase;letter-spacing:.08em}.qr-codes-page .stat-card .stat-value{font-size:36px;font-weight:700;color:var(--gray-900);line-height:1.1;margin-bottom:8px;flex-grow:1;display:flex;align-items:flex-end}.filters-row{display:flex;gap:16px;align-items:center;margin-bottom:24px;flex-wrap:wrap}.filters-row .search-box{flex:1;min-width:200px}.filters-row .search-box input{width:100%;padding:12px 16px 12px 44px;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:14px;background-color:var(--white);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cpath d='m21 21-4.35-4.35'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.filters-row .search-box input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50)}.filters-row .search-box input::placeholder{color:var(--gray-400)}.view-toggle{display:flex;background:var(--white);border-radius:var(--radius);padding:4px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100)}.view-toggle button{padding:10px 18px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:500;color:var(--gray-600);border-radius:var(--radius-sm);transition:all var(--transition-base);white-space:nowrap}.view-toggle button:hover{color:var(--gray-800)}.view-toggle button.active{background:var(--primary);color:var(--white);box-shadow:var(--shadow-sm)}.aggregator-groups{display:flex;flex-direction:column;gap:20px}.aggregator-group{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);overflow:hidden}.group-header{padding:20px 24px;background:var(--gray-50);border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;align-items:center}.group-info h3{font-size:16px;font-weight:600;color:var(--gray-900);margin:0}.group-stats{display:flex;gap:24px}.group-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.group-stat .stat-num{font-size:20px;font-weight:700;color:var(--gray-900)}.group-stat .stat-txt{font-size:12px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}.group-stat.highlight .stat-num{color:var(--primary)}.qr-list table,.all-qrs-table table{width:100%;border-collapse:collapse}.qr-list th,.all-qrs-table th{padding:14px 24px;text-align:left;font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.qr-list td,.all-qrs-table td{padding:16px 24px;border-bottom:1px solid var(--gray-100);color:var(--gray-700);font-size:14px;vertical-align:middle}.qr-list tr:last-child td,.all-qrs-table tr:last-child td{border-bottom:none}.qr-list tbody tr,.all-qrs-table tbody tr{transition:all var(--transition-fast)}.qr-list tbody tr:hover,.all-qrs-table tbody tr:hover{background:var(--gray-50)}.qr-list tbody tr:hover td:first-child,.all-qrs-table tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.qr-id{font-family:var(--font-mono);font-size:13px;background:var(--gray-100);padding:4px 8px;border-radius:var(--radius-sm);color:var(--gray-700)}.scan-count{font-weight:600;color:var(--primary)}.last-scan{color:var(--gray-500)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:500}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%}.status-badge.active{background:var(--success-50);color:var(--success-700)}.status-badge.active:before{background:var(--success-500)}.status-badge.inactive{background:var(--danger-50);color:var(--danger-700)}.status-badge.inactive:before{background:var(--danger-500)}.actions{display:flex;gap:6px}.btn-toggle{background:none;border:1px solid transparent;cursor:pointer;font-size:16px;padding:8px;border-radius:var(--radius);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.btn-toggle:hover{background:var(--gray-100);border-color:var(--gray-200)}.all-qrs-table{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);overflow:hidden}.empty-state{text-align:center;padding:64px 20px;color:var(--gray-400);font-size:14px;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-100);box-shadow:var(--shadow-sm)}.page-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@media(max-width:1200px){.stats-row{grid-template-columns:repeat(2,1fr);gap:20px}}@media(max-width:768px){.stats-row{grid-template-columns:repeat(2,1fr);gap:16px}.qr-codes-page .stat-card{padding:20px;min-height:120px}.qr-codes-page .stat-card .stat-value{font-size:28px}.filters-row{flex-direction:column;align-items:stretch}.view-toggle{justify-content:center}.group-header{flex-direction:column;gap:16px;align-items:flex-start}.qr-list,.all-qrs-table{overflow-x:auto}.qr-list th,.qr-list td,.all-qrs-table th,.all-qrs-table td{padding:12px 16px}}@media(max-width:480px){.stats-row{grid-template-columns:1fr;gap:12px}.qr-codes-page .stat-card{min-height:auto;padding:18px}.page-header-row h1{font-size:24px}}.user-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.user-modal{background:var(--white);border-radius:var(--radius-lg);width:90%;max-width:520px;box-shadow:var(--shadow-xl);animation:modalSlideUp .3s ease-out;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.user-modal-header{padding:20px 24px;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;align-items:center;background:var(--gray-50)}.user-modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--gray-900)}.user-modal form{padding:24px;overflow-y:auto}.form-input,.form-select{width:100%;padding:11px 14px;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:14px;transition:all var(--transition-base);box-sizing:border-box;background:var(--white)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50)}.form-input::placeholder{color:var(--gray-400)}.checkbox-group{display:flex;align-items:center}.checkbox-label{display:flex;align-items:center;cursor:pointer;font-size:14px;color:var(--gray-700)}.checkbox-label input[type=checkbox]{margin-right:10px;width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.roles-grid,.roles-grid-user{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;max-height:200px;overflow-y:auto;padding:4px}.role-checkbox{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast);font-size:14px;color:var(--gray-700)}.role-checkbox:hover{background:var(--white);border-color:var(--gray-300);box-shadow:var(--shadow-xs)}.role-checkbox input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--primary);flex-shrink:0;cursor:pointer}.role-checkbox:has(input:checked){background:var(--primary-50);border-color:var(--primary-200)}.role-checkbox .role-info{display:flex;flex-direction:column;gap:2px}.role-checkbox .role-label{font-weight:600;color:var(--gray-800)}.role-checkbox .role-description{font-size:12px;color:var(--gray-500);line-height:1.4}.roles-loading,.roles-empty{padding:20px;text-align:center;color:var(--gray-500);background:var(--gray-50);border-radius:var(--radius);font-size:14px}.loading-text{font-size:12px;color:var(--gray-400);font-weight:400}.role-checkbox-label{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast);font-size:13px;color:var(--gray-700)}.role-checkbox-label:hover{background:var(--white);border-color:var(--gray-300);box-shadow:var(--shadow-xs)}.role-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0}.role-checkbox-label input[type=checkbox]:checked+span,.role-checkbox-label:has(input:checked){color:var(--primary-700)}.role-checkbox-label:has(input:checked){background:var(--primary-50);border-color:var(--primary-100)}.roles-grid::-webkit-scrollbar{width:6px}.roles-grid::-webkit-scrollbar-track{background:var(--gray-100);border-radius:3px}.roles-grid::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.roles-grid::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.form-input.error,.input-error{border-color:var(--danger)!important;background-color:var(--danger-50)}.error-message{color:var(--danger-600);font-size:12px;margin-top:6px;display:block}@media(max-width:600px){.user-modal{width:calc(100% - 32px);max-width:none;margin:16px}.roles-grid{grid-template-columns:1fr 1fr}}.users-page{padding:0}.users-page .dashboard-header{margin-bottom:28px}.users-page .dashboard-header h1{font-size:28px;font-weight:700;color:var(--gray-900);margin:0 0 6px;letter-spacing:-.02em}.users-page .dashboard-header p{color:var(--gray-500);font-size:15px;margin:0}.users-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);overflow:hidden}.users-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--gray-100);background:var(--gray-50);gap:20px}.filters-bar{display:flex;gap:16px;align-items:center;flex:1}.search-input{flex:1;min-width:200px;padding:11px 16px 11px 44px;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:14px;background-color:var(--white);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cpath d='m21 21-4.35-4.35'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center;transition:all var(--transition-base)}.search-input:focus{outline:none;border-color:var(--primary);background-color:var(--white);box-shadow:0 0 0 3px var(--primary-50)}.search-input::placeholder{color:var(--gray-400)}.filter-select{width:200px;padding:11px 36px 11px 14px;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:14px;background-color:var(--white);color:var(--gray-700);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:all var(--transition-base)}.filter-select:focus{outline:none;border-color:var(--primary);background-color:var(--white);box-shadow:0 0 0 3px var(--primary-50)}.users-table{width:100%;border-collapse:collapse}.users-table th{background:var(--gray-50);padding:14px 20px;text-align:left;font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:1}.users-table td{padding:16px 20px;border-bottom:1px solid var(--gray-100);color:var(--gray-700);font-size:14px;vertical-align:middle}.users-table tr:last-child td{border-bottom:none}.users-table tbody tr{transition:all var(--transition-fast)}.users-table tbody tr:hover{background:var(--gray-50)}.users-table tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge-success{background:var(--success-50);color:var(--success-700)}.badge-success:before{background:var(--success-500)}.badge-danger{background:var(--danger-50);color:var(--danger-700)}.badge-danger:before{background:var(--danger-500)}.badge-role{background:var(--primary-50);color:var(--primary-700);margin-right:4px}.badge-role:before{display:none}.role-super_admin{background:linear-gradient(135deg,#7c3aed15,#8b5cf615);color:#6d28d9;border:1px solid #ddd6fe}.role-admin{background:linear-gradient(135deg,#3b82f615,#60a5fa15);color:var(--primary-700);border:1px solid var(--primary-100)}.role-viewer{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200)}.actions-cell{display:flex;gap:6px}.btn-icon{background:none;border:1px solid transparent;cursor:pointer;padding:8px;border-radius:var(--radius);transition:all var(--transition-fast);font-size:16px;display:flex;align-items:center;justify-content:center}.btn-icon.status.pause:hover{background:var(--warning-50);border-color:var(--warning-100)}.btn-icon.status.play:hover{background:var(--success-50);border-color:var(--success-100)}.users-card .alert{margin:16px 24px 0}@media(max-width:1024px){.card-header{flex-direction:column;align-items:stretch!important}.filters-bar{flex-wrap:wrap}.filter-select{width:100%}}@media(max-width:768px){.card-header{padding:16px 20px}.filters-bar{flex-direction:column}.search-input{min-width:100%}.table-container{overflow-x:auto}.users-table th,.users-table td{padding:12px 16px}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--gray-100);background:var(--gray-50)}.btn-warning{background:linear-gradient(135deg,var(--warning) 0%,var(--warning-600) 100%);color:var(--white);box-shadow:0 2px 4px #f59e0b40}.btn-warning:hover{background:linear-gradient(135deg,var(--warning-600) 0%,var(--warning-700) 100%);transform:translateY(-1px);box-shadow:0 4px 8px #f59e0b59}.btn-success{background:linear-gradient(135deg,var(--success) 0%,var(--success-600) 100%);color:var(--white);box-shadow:0 2px 4px #22c55e40}.btn-success:hover{background:linear-gradient(135deg,var(--success-600) 0%,var(--success-700) 100%);transform:translateY(-1px);box-shadow:0 4px 8px #22c55e59}.success-text{font-size:14px!important;color:var(--success-600)!important}.role-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.role-modal{background:var(--white);border-radius:var(--radius-lg);width:90%;max-width:600px;box-shadow:var(--shadow-xl);animation:modalSlideUp .3s ease-out;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.role-modal-header{padding:20px 24px;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;align-items:center;background:var(--gray-50);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.role-modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--gray-900)}.close-btn{background:none;border:none;font-size:22px;color:var(--gray-500);cursor:pointer;line-height:1;padding:4px 8px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.close-btn:hover{background:var(--gray-200);color:var(--gray-700)}.role-modal form{padding:24px;overflow-y:auto}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--gray-700);font-size:14px}.form-input,.form-textarea{width:100%;padding:11px 14px;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:14px;transition:all var(--transition-base);box-sizing:border-box;background:var(--white)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50)}.form-input::placeholder,.form-textarea::placeholder{color:var(--gray-400)}.form-input:disabled{background:var(--gray-100);cursor:not-allowed;color:var(--gray-500)}.form-textarea{resize:vertical;min-height:80px;font-family:inherit}.form-help{display:block;font-size:12px;margin-top:8px;color:var(--gray-500)}.form-help.error{color:var(--danger-600)}.permissions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.permissions-header label{margin-bottom:0}.btn-link{background:none;border:none;color:var(--primary);cursor:pointer;font-size:13px;padding:0;font-weight:500;transition:color var(--transition-fast)}.btn-link:hover{color:var(--primary-dark);text-decoration:underline}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;max-height:280px;overflow-y:auto;padding:4px}.permission-checkbox{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast);font-size:14px;color:var(--gray-700)}.permission-checkbox:hover{background:var(--white);border-color:var(--gray-300);box-shadow:var(--shadow-xs)}.permission-checkbox input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--primary);flex-shrink:0;cursor:pointer}.permission-checkbox:has(input:checked){background:var(--primary-50);border-color:var(--primary-200)}.permission-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.permission-label{font-weight:600;color:var(--gray-800);font-size:14px}.permission-description{font-size:12px;color:var(--gray-500);line-height:1.4}.permissions-grid::-webkit-scrollbar{width:6px}.permissions-grid::-webkit-scrollbar-track{background:var(--gray-100);border-radius:3px}.permissions-grid::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.permissions-grid::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--gray-100)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.alert{padding:14px 16px;border-radius:var(--radius);margin:0 24px;font-size:14px}@media(max-width:600px){.role-modal{width:calc(100% - 32px);max-width:none;margin:16px}.permissions-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.roles-permissions-page{padding:0}.roles-permissions-page .dashboard-header{margin-bottom:28px}.roles-permissions-page .dashboard-header h1{font-size:28px;font-weight:700;color:var(--gray-900);margin:0 0 6px;letter-spacing:-.02em}.roles-permissions-page .dashboard-header p{color:var(--gray-500);font-size:15px;margin:0}.roles-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);overflow:hidden}.roles-card .card-header{display:flex;justify-content:flex-end;align-items:center;padding:20px 24px;border-bottom:1px solid var(--gray-100);background:var(--gray-50)}.table-container{width:100%;background:var(--white);overflow:hidden}.roles-table{width:100%;border-collapse:collapse}.roles-table th{background:var(--gray-50);padding:14px 20px;text-align:left;font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:1}.roles-table td{padding:16px 20px;border-bottom:1px solid var(--gray-100);color:var(--gray-700);font-size:14px;vertical-align:middle}.roles-table tr:last-child td{border-bottom:none}.roles-table tbody tr{transition:all var(--transition-fast)}.roles-table tbody tr:hover{background:var(--gray-50)}.roles-table tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.font-medium{font-weight:600;color:var(--gray-900)}.description-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permissions-badges{display:flex;flex-wrap:wrap;gap:6px}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500;line-height:1.4}.badge-permission{background:var(--primary-50);color:var(--primary-700);border:1px solid var(--primary-100)}.badge-more{background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-200)}.badge-clickable{cursor:pointer;transition:all var(--transition-fast)}.badge-clickable:hover{background:var(--primary-50);color:var(--primary-700);border-color:var(--primary-200)}.badge-system{background:linear-gradient(135deg,#7c3aed15,#8b5cf615);color:#6d28d9;border:1px solid #ddd6fe}.badge-custom{background:var(--success-50);color:var(--success-700);border:1px solid var(--success-100)}.text-muted{color:var(--gray-400);font-style:italic}.actions-cell{display:flex;gap:6px;white-space:nowrap}.btn-icon{background:none;border:1px solid transparent;cursor:pointer;padding:8px;border-radius:var(--radius);transition:all var(--transition-fast);font-size:16px;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--gray-100);border-color:var(--gray-200)}.btn-icon.edit:hover{background:var(--primary-50);border-color:var(--primary-100)}.btn-icon.delete:hover{background:var(--danger-50);border-color:var(--danger-100)}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.btn-icon:disabled:hover{background:none;border-color:transparent}.text-center{text-align:center;color:var(--gray-400);padding:48px 20px}.roles-card .alert{margin:16px 24px 0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-xl);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.confirm-modal{max-width:420px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--gray-100);background:var(--gray-50);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--gray-900)}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--gray-500);padding:4px 8px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.modal-close:hover{background:var(--gray-200);color:var(--gray-700)}.confirm-modal-body{padding:32px 24px;text-align:center}.confirm-modal-body p{margin:0 0 12px;font-size:16px;color:var(--gray-700);line-height:1.6}.confirm-modal-body p:last-child{margin-bottom:0}.warning-text{font-size:14px!important;color:var(--danger-600)!important}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:0 24px 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius);font-weight:600;font-size:14px;cursor:pointer;border:none;transition:all var(--transition-base)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);box-shadow:0 2px 4px #3b82f640}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary-darker) 100%);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f659}.btn-secondary{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200)}.btn-secondary:hover{background:var(--gray-200);border-color:var(--gray-300)}@media(max-width:1024px){.description-cell{max-width:150px}}@media(max-width:768px){.roles-card .card-header{padding:16px 20px}.table-container{overflow-x:auto}.roles-table th,.roles-table td{padding:12px 16px}.permissions-badges{flex-direction:column;align-items:flex-start}}.sdm-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:flex-start;padding:40px 20px;z-index:1000;overflow-y:auto;animation:sdm-fade-in .2s ease}@keyframes sdm-fade-in{0%{opacity:0}to{opacity:1}}.sdm-container{background:#fff;border-radius:16px;width:100%;max-width:900px;box-shadow:0 25px 50px -12px #00000040;animation:sdm-slide-up .3s ease;display:flex;flex-direction:column;max-height:calc(100vh - 80px)}@keyframes sdm-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sdm-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 28px;border-bottom:1px solid #e5e7eb;background:linear-gradient(to bottom,#f8fafc,#fff);border-radius:16px 16px 0 0}.sdm-header-content{display:flex;flex-direction:column;gap:12px}.sdm-title-section h2{font-size:22px;font-weight:700;color:#0f172a;margin:0 0 4px}.sdm-id{font-size:13px;color:#64748b;font-family:SF Mono,Monaco,Inconsolata,monospace;background:#f1f5f9;padding:4px 10px;border-radius:6px;display:inline-block}.sdm-status-badge{padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.sdm-status-badge:before{content:"";width:8px;height:8px;border-radius:50%}.sdm-status-success{background:#dcfce7;color:#166534}.sdm-status-success:before{background:#22c55e}.sdm-status-warning{background:#fef3c7;color:#92400e}.sdm-status-warning:before{background:#f59e0b}.sdm-status-danger{background:#fee2e2;color:#991b1b}.sdm-status-danger:before{background:#ef4444}.sdm-status-info{background:#dbeafe;color:#1e40af}.sdm-status-info:before{background:#3b82f6}.sdm-status-default{background:#f1f5f9;color:#475569}.sdm-status-default:before{background:#94a3b8}.sdm-close{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#64748b;transition:all .2s}.sdm-close:hover{background:#f1f5f9;color:#0f172a}.sdm-tabs{display:flex;gap:4px;padding:8px 28px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.sdm-tab{padding:10px 20px;border:none;background:transparent;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s}.sdm-tab:hover{background:#e2e8f0;color:#334155}.sdm-tab.active{background:#fff;color:#0f172a;box-shadow:0 1px 3px #0000001a}.sdm-content{flex:1;overflow-y:auto;padding:24px 28px}.sdm-tab-content{animation:sdm-fade-in .2s ease}.sdm-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px}.sdm-stat-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:6px}.sdm-stat-card.highlight{background:linear-gradient(135deg,#1e40af,#3b82f6);border:none}.sdm-stat-card.highlight .sdm-stat-label{color:#fffc}.sdm-stat-card.highlight .sdm-stat-value{color:#fff}.sdm-stat-label{font-size:12px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.sdm-stat-value{font-size:16px;font-weight:600;color:#0f172a}.sdm-section{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #f1f5f9}.sdm-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.sdm-section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.sdm-section-icon{width:40px;height:40px;background:#f1f5f9;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px}.sdm-section-header h3{font-size:16px;font-weight:600;color:#0f172a;margin:0}.sdm-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.sdm-info-item{display:flex;flex-direction:column;gap:6px}.sdm-info-item.full-width{grid-column:1 / -1}.sdm-info-item label{font-size:12px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.sdm-info-item span{font-size:15px;color:#0f172a}.sdm-mono{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:14px!important;background:#f8fafc;padding:4px 8px;border-radius:6px;display:inline-block}.sdm-badge-sm{display:inline-block;background:#dbeafe;color:#1e40af;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:500}.sdm-amount{font-weight:700!important;color:#059669!important;font-size:18px!important}.sdm-vehicle-highlight{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px}.sdm-plate{display:inline-block;background:#f8fafc;color:#1e40af;padding:6px 14px;border-radius:6px;border:2px solid #e2e8f0;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:15px;font-weight:600;letter-spacing:1px}.sdm-coverages{margin-top:20px;padding-top:20px;border-top:1px dashed #e2e8f0}.sdm-coverages h4{font-size:13px;font-weight:600;color:#64748b;margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.sdm-coverages-list{background:#f8fafc;border-radius:10px;overflow:hidden}.sdm-coverage-item{display:flex;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e5e7eb}.sdm-coverage-item:last-child{border-bottom:none}.sdm-coverage-amount{font-weight:600;color:#1e40af}.sdm-documents-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.sdm-document-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.sdm-document-header{display:flex;align-items:center;gap:10px;padding:16px;background:#fff;border-bottom:1px solid #e2e8f0}.sdm-document-icon{font-size:24px}.sdm-document-header h4{font-size:14px;font-weight:600;color:#0f172a;margin:0}.sdm-document-preview{padding:16px;display:flex;flex-direction:column;gap:12px}.sdm-document-preview img{width:100%;height:200px;object-fit:cover;border-radius:8px;cursor:pointer;transition:transform .2s}.sdm-document-preview img:hover{transform:scale(1.02)}.sdm-document-view-btn{width:100%;padding:10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e40af;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.sdm-document-view-btn:hover{background:#1e40af;color:#fff;border-color:#1e40af}.sdm-document-empty{padding:40px 20px;text-align:center}.sdm-empty-icon{font-size:48px;opacity:.5;display:block;margin-bottom:8px}.sdm-document-empty p{color:#94a3b8;font-size:14px;margin:0}.sdm-payment-summary{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;border-radius:12px;padding:20px 24px;margin-bottom:28px}.sdm-payment-amount{display:flex;flex-direction:column;gap:4px}.sdm-payment-label{font-size:12px;font-weight:500;color:#166534;text-transform:uppercase;letter-spacing:.05em}.sdm-payment-value{font-size:28px;font-weight:700;color:#166534}.sdm-payment-status{padding:8px 20px;border-radius:20px;font-size:14px;font-weight:600}.sdm-empty-state{text-align:center;padding:60px 20px}.sdm-empty-state .sdm-empty-icon{font-size:64px;opacity:.4}.sdm-empty-state h3{font-size:18px;font-weight:600;color:#334155;margin:16px 0 8px}.sdm-empty-state p{color:#64748b;font-size:14px;margin:0}.sdm-timeline{position:relative;padding-left:32px}.sdm-timeline:before{content:"";position:absolute;left:15px;top:20px;bottom:20px;width:2px;background:#e2e8f0}.sdm-timeline-item{position:relative;padding-bottom:28px;display:flex;gap:16px}.sdm-timeline-item:last-child{padding-bottom:0}.sdm-timeline-marker{position:absolute;left:-32px;width:32px;height:32px;background:#fff;border:2px solid #e2e8f0;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1}.sdm-timeline-item.completed .sdm-timeline-marker{background:#dcfce7;border-color:#22c55e}.sdm-timeline-item.pending .sdm-timeline-marker{background:#fef3c7;border-color:#f59e0b}.sdm-timeline-icon{font-size:14px}.sdm-timeline-content{display:flex;flex-direction:column;gap:4px;padding-top:4px}.sdm-timeline-label{font-size:14px;font-weight:500;color:#0f172a}.sdm-timeline-date{font-size:12px;color:#64748b}.sdm-footer{padding:16px 28px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px;background:#f8fafc;border-radius:0 0 16px 16px}.sdm-btn{padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.sdm-btn-secondary{background:#fff;border:1px solid #e2e8f0;color:#475569}.sdm-btn-secondary:hover{background:#f1f5f9}.sdm-btn-primary{background:#1e40af;color:#fff}.sdm-btn-primary:hover{background:#1e3a8a}.sdm-viewer-overlay{position:fixed;inset:0;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:1100;animation:sdm-fade-in .2s ease}.sdm-viewer{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:sdm-slide-up .3s ease}.sdm-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.sdm-viewer-header h3{font-size:16px;font-weight:600;color:#0f172a;margin:0}.sdm-viewer-close{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#64748b;transition:all .2s}.sdm-viewer-close:hover{background:#f1f5f9;color:#0f172a}.sdm-viewer-content{padding:20px;overflow:auto;display:flex;justify-content:center;align-items:center}.sdm-viewer-content img{max-width:100%;max-height:calc(90vh - 100px);object-fit:contain;border-radius:8px}@media(max-width:768px){.sdm-overlay{padding:20px 12px}.sdm-header{padding:20px;flex-direction:column;gap:16px}.sdm-tabs{padding:8px 12px;overflow-x:auto}.sdm-tab{padding:8px 16px;font-size:13px;white-space:nowrap}.sdm-content{padding:20px}.sdm-info-grid,.sdm-documents-grid{grid-template-columns:1fr}.sdm-payment-summary{flex-direction:column;gap:16px;text-align:center}.sdm-footer{padding:16px 20px}.sdm-stats-row{grid-template-columns:1fr}}.subscriptions-page{padding:0;max-width:1400px}.filters-card{background:var(--white);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:24px;border:1px solid var(--gray-100);box-shadow:var(--shadow-sm)}.filters-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:16px;align-items:end}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:12px;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.05em}.filter-group input,.filter-group select{padding:10px 14px;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:14px;color:var(--gray-700);transition:all var(--transition-fast);background:var(--white)}.filter-group input[type=date]{cursor:pointer}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.subscriptions-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);overflow:hidden}.subscriptions-card .card-header{padding:20px 24px;border-bottom:1px solid var(--gray-100);background:var(--gray-50)}.subscriptions-card .card-title{font-size:16px;font-weight:600;color:var(--gray-900);margin:0}.customer-cell{display:flex;flex-direction:column;gap:2px}.customer-name{font-weight:500;color:var(--gray-900)}.customer-doc{font-size:12px;color:var(--gray-500);font-family:monospace}.email-cell{font-size:13px;color:var(--gray-600);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plate-cell{font-family:monospace;font-weight:600;color:var(--gray-800)}.amount-cell{font-weight:600;color:var(--success-600)}.btn-action{padding:6px 14px;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:none}.btn-view{background:var(--primary-50);color:var(--primary-700)}.btn-view:hover{background:var(--primary-100);color:var(--primary-800)}.loading-cell{text-align:center;padding:40px 20px!important;color:var(--gray-500)}.spinner-small{width:20px;height:20px;border:2px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;display:inline-block;margin-right:10px;vertical-align:middle}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:20px;border-top:1px solid var(--gray-100)}.pagination button{padding:8px 16px;border:1px solid var(--gray-200);background:var(--white);border-radius:var(--radius);font-size:14px;cursor:pointer;transition:all var(--transition-fast)}.pagination button:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:14px;color:var(--gray-600)}@media(max-width:1200px){.filters-grid{grid-template-columns:1fr 1fr 1fr}}@media(max-width:768px){.filters-grid{grid-template-columns:1fr 1fr}.data-table{overflow-x:auto}.email-cell{max-width:120px}}@media(max-width:480px){.filters-grid{grid-template-columns:1fr}.filters-card{padding:16px}}.dashboard-layout{display:flex;min-height:100vh;background:var(--bg)}.sidebar{width:260px;background:linear-gradient(180deg,var(--gray-900) 0%,#0f172a 100%);color:var(--white);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;box-shadow:4px 0 10px #0000001a}.sidebar-header{padding:24px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo{width:100%;max-width:180px;height:auto;filter:brightness(1.1)}.sidebar-nav{flex:1;padding:20px 0;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 24px;color:#ffffffa6;text-decoration:none;transition:all var(--transition-fast);border:none;background:none;width:100%;cursor:pointer;font-size:14px;font-weight:500;position:relative}.nav-item:hover{color:var(--white);background:#ffffff0f}.nav-item.active{color:var(--white);background:linear-gradient(90deg,#3b82f633,#3b82f60d)}.nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--primary) 0%,var(--primary-light) 100%);border-radius:0 2px 2px 0}.nav-divider{height:1px;background:#ffffff14;margin:16px 0}.nav-group{position:relative}.nav-toggle{justify-content:flex-start}.nav-arrow{font-size:10px;transition:transform var(--transition-smooth);margin-left:auto;opacity:.5}.nav-arrow.open{transform:rotate(180deg)}.nav-submenu{background:#00000040;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:200px}}.nav-subitem{display:flex;align-items:center;gap:12px;padding:11px 24px 11px 52px;color:#ffffff8c;text-decoration:none;transition:all var(--transition-fast);font-size:14px;position:relative}.nav-subitem:hover{color:var(--white);background:#ffffff0a}.nav-subitem.active{color:var(--white);background:#3b82f61a}.nav-subitem.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary)}.nav-icon{font-size:18px;flex-shrink:0}.sidebar-footer{padding:20px 24px;border-top:1px solid rgba(255,255,255,.08);background:#00000026}.user-info{display:flex;flex-direction:column;margin-bottom:14px}.user-name{font-weight:600;font-size:14px;color:var(--white)}.user-role{font-size:12px;color:#ffffff8c;text-transform:capitalize;margin-top:2px}.logout-btn{width:100%;padding:11px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);color:var(--white);cursor:pointer;transition:all var(--transition-fast);font-size:14px;font-weight:500}.logout-btn:hover{background:#ffffff24;border-color:#fff3}.main-content{flex:1;margin-left:260px;padding:36px 48px;background:var(--bg);min-height:100vh}@media(max-width:1400px){.main-content{padding:32px 36px}}@media(max-width:768px){.sidebar{width:60px}.sidebar-header h1,.sidebar-header span,.nav-item span:last-child,.user-info,.logout-btn{display:none}.nav-item{justify-content:center;padding:16px}.nav-icon{font-size:24px}.main-content{margin-left:60px;padding:24px 20px}}.nav-divider{height:1px;background-color:#ffffff1a;margin:12px 24px}:root{--primary: #004987;--primary-dark: #003666;--primary-darker: #002444;--primary-light: #0066b3;--primary-50: #E8F3FA;--primary-100: #d1e7f5;--primary-500: #004987;--primary-600: #003666;--primary-700: #002444;--secondary: #61A60E;--secondary-dark: #4d8b0b;--secondary-darker: #3a6a08;--secondary-light: #7bc218;--secondary-50: #f0f8e6;--secondary-100: #d9eec4;--secondary-500: #61A60E;--secondary-600: #4d8b0b;--secondary-700: #3a6a08;--danger: #ef4444;--warning: #f59e0b;--success: #61A60E;--success-50: #f0f8e6;--success-100: #d9eec4;--success-500: #61A60E;--success-600: #4d8b0b;--success-700: #3a6a08;--warning-50: #fffbeb;--warning-100: #fef3c7;--warning-500: #f59e0b;--warning-600: #d97706;--danger-50: #F9E4E3;--danger-100: #fee2e2;--danger-500: #ef4444;--danger-600: #dc2626;--danger-700: #b91c1c;--text-title: #192F42;--text-body: #394C5C;--text-placeholder: #9BA5AD;--text-dark: #192F42;--dark: #192F42;--gray: #394C5C;--gray-light: #E8F3FA;--gray-50: #FBFBFB;--gray-100: #f3f4f6;--gray-200: #E8F3FA;--gray-300: #d1d5db;--gray-400: #9BA5AD;--gray-500: #394C5C;--gray-600: #4b5563;--gray-700: #192F42;--gray-800: #1f2937;--gray-900: #111827;--white: #FFFFFF;--bg: #FBFBFB;--bg-blue: #E8F3FA;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--radius-sm: 8px;--radius: 12px;--radius-md: 12px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--border-width: 1px;--border-color: #E8F3FA;--font: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--font-size-title: 32px;--font-size-module: 20px;--font-size-body: 14px;--font-size-error: 12px;--step-content-padding: 24px;--step-content-gap: 20px;--step-header-padding-top: 40px;--step-header-padding-bottom: 60px;--step-title-size: 24px;--step-subtitle-size: 14px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);background-color:var(--bg);color:var(--dark);line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border:none;border-radius:var(--radius);font-size:var(--font-size-body);font-weight:500;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--secondary-100)}.btn-primary{background:var(--secondary);color:var(--white);box-shadow:0 2px 4px #61a60e40}.btn-primary:hover{background:var(--secondary-dark);transform:translateY(-1px);box-shadow:0 4px 8px #61a60e59}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 2px #61a60e40}.btn-secondary{background:var(--primary);color:var(--white);box-shadow:0 2px 4px #00498740}.btn-secondary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px #00498759}.btn-secondary:active{transform:translateY(0);box-shadow:0 1px 2px #00498740}.btn-success{background:var(--success);color:var(--white);box-shadow:0 2px 4px #61a60e40}.btn-success:hover{background:var(--success-dark);transform:translateY(-1px);box-shadow:0 4px 8px #61a60e59}.btn-danger{background:linear-gradient(135deg,var(--danger) 0%,var(--danger-600) 100%);color:var(--white);box-shadow:0 2px 4px #ef444440}.btn-danger:hover{background:linear-gradient(135deg,var(--danger-600) 0%,var(--danger-700) 100%);transform:translateY(-1px);box-shadow:0 4px 8px #ef444459}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-full{width:100%}.btn-sm{padding:8px 16px;font-size:13px}.btn-lg{padding:14px 28px;font-size:16px}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:8px;font-weight:500;font-size:var(--font-size-body);color:var(--text-dark)}.form-input{width:100%;padding:14px 16px;border:var(--border-width) solid var(--border-color);border-radius:var(--radius);font-size:var(--font-size-body);transition:border-color .2s,box-shadow .2s;color:var(--text-body);background-color:var(--white)}.form-input::placeholder{color:var(--text-placeholder)}.form-input:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 3px var(--secondary-50)}.form-input.error{border-color:var(--danger);background-color:var(--danger-50)}.form-input.success{border-color:var(--secondary);background-color:var(--white)}.form-error{color:var(--danger);font-size:var(--font-size-error);margin-top:4px}.form-select{width:100%;padding:14px 16px;border:var(--border-width) solid var(--border-color);border-radius:var(--radius);font-size:var(--font-size-body);background:var(--white);color:var(--text-body);cursor:pointer}.form-select:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 3px var(--secondary-50)}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px;border:1px solid var(--gray-100);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.card-title{font-size:18px;font-weight:600;color:var(--gray-900)}.card-subtitle{font-size:14px;color:var(--gray-500);margin-top:4px}.page-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;background-color:#f0f4f8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg fill='%233b82f6' fill-opacity='0.04'%3E%3Cpath d='M50 5 C50 5 68 12 68 12 L68 40 C68 58 50 70 50 70 C50 70 32 58 32 40 L32 12 C32 12 50 5 50 5 Z'/%3E%3Cpath d='M20 78 L26 72 L38 72 L42 65 L58 65 L62 72 L74 72 L80 78 L80 88 L20 88 Z'/%3E%3Ccircle cx='32' cy='88' r='5'/%3E%3Ccircle cx='68' cy='88' r='5'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(180deg,#e8f4fc,#f0f4f8,#e8f0f5);background-size:100px 100px,100% 100%;background-attachment:fixed}.page-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);padding:20px 24px;width:100%;max-width:500px;text-align:center;border-radius:0 0 var(--radius-xl) var(--radius-xl);box-shadow:0 4px 20px #3b82f64d;display:flex;flex-direction:column;align-items:center;gap:4px}.page-header h1{font-size:26px;font-weight:700;letter-spacing:-.5px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.page-content{flex:1;padding:24px;max-width:500px;width:100%}.steps{display:flex;justify-content:center;gap:8px;padding:16px;background:var(--white);border-bottom:1px solid var(--gray-light)}.step{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:500;font-size:14px;background:var(--gray-light);color:var(--gray)}.step.active{background:var(--primary);color:var(--white)}.step.completed{background:var(--secondary);color:var(--white)}.loading{display:flex;justify-content:center;align-items:center;padding:48px;flex:1;min-height:50vh}.spinner{width:40px;height:40px;border:3px solid var(--gray-light);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{padding:14px 16px;border-radius:var(--radius);margin-bottom:16px;display:flex;align-items:flex-start;gap:12px;font-size:14px}.alert-error{background:var(--danger-50);color:var(--danger-700);border:1px solid var(--danger-100)}.alert-success{background:var(--success-50);color:var(--success-700);border:1px solid var(--success-100)}.alert-warning{background:var(--warning-50);color:var(--warning-600);border:1px solid var(--warning-100)}.alert-info{background:var(--primary-50);color:var(--primary-700);border:1px solid var(--primary-100)}.text-center{text-align:center}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}@media(max-width:480px){.page-content,.card{padding:16px}.btn{padding:14px 20px}}
