:root{--bg:#0b0e0b;--bg-2:#161a16;--panel:#111411;--border:#5c4b2a;--border-light:#b08a4733;--gold:#b08a47;--gold-light:#d4c08a;--text:#e6dec8;--text-muted:#b9b19a;--success:#73b33a;--olive:#556b2f;--warning:#8a3d2f;--slate:#4e6e8e;--violet:#6b537c;--radius:12px;--shadow:0 10px 30px #00000080;--font-title:"Bebas Neue", sans-serif;--font-ui:"Barlow Condensed", sans-serif;--font-body:"Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);letter-spacing:.2px;font-size:14px;line-height:1.5;overflow-x:hidden}.sim-toolbar{border-bottom:1px solid var(--border);z-index:1000;background:#000;justify-content:space-between;align-items:center;padding:8px 16px;display:flex;position:relative}.sim-brand{align-items:center;display:flex}.sim-tag{background:var(--warning);color:#fff;font-family:var(--font-ui);letter-spacing:1px;border-radius:3px;padding:2px 8px;font-size:11px;font-weight:700;animation:2s infinite pulse-red}@keyframes pulse-red{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.sim-actions{align-items:center;gap:8px;display:flex}.sim-label{font-family:var(--font-ui);color:var(--text-muted);font-size:12px}.sim-btn{color:var(--text);font-family:var(--font-ui);cursor:pointer;background:#222;border:1px solid #444;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .2s}.sim-btn:hover{background:var(--gold);border-color:var(--gold-light);color:#000}.sim-btn.admin{border-color:var(--gold)}.sim-btn.operator{border-color:var(--slate)}.sim-btn.auditor{border-color:var(--violet)}.sim-btn.citizen-high{border-color:var(--success)}.sim-btn.citizen-mid{border-color:var(--text-muted)}.sim-btn.citizen-low{border-color:var(--warning)}#auth-screen{background:radial-gradient(circle,#161a16 0%,#0b0e0b 100%);justify-content:center;align-items:center;min-height:calc(100vh - 38px);padding:40px 20px;display:flex}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:480px;box-shadow:var(--shadow);padding:40px;position:relative;overflow:hidden}.auth-card:before{content:"";background:linear-gradient(90deg, var(--border), var(--gold), var(--border));height:4px;position:absolute;top:0;left:0;right:0}.state-seal-wrapper{justify-content:center;margin-bottom:20px;display:flex}.state-seal{filter:drop-shadow(0 4px 10px #0006);width:90px;height:90px}.state-title{font-family:var(--font-title);text-align:center;color:var(--gold-light);letter-spacing:2px;margin-bottom:4px;font-size:2.5rem}.state-subtitle{font-family:var(--font-ui);text-align:center;color:var(--text-muted);letter-spacing:6px;border-bottom:1px solid var(--border-light);margin-bottom:20px;padding-bottom:15px;font-size:1.1rem;font-weight:700}.auth-helper{color:var(--text-muted);text-align:center;margin-bottom:25px;font-size:12px;line-height:1.6}.auth-tabs{border:1px solid var(--border-light);background:#000;border-radius:6px;gap:2px;margin-bottom:24px;padding:3px;display:flex}.auth-tab{color:var(--text-muted);font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:10px;font-size:14px;font-weight:600;transition:all .2s}.auth-tab.active{background:var(--gold);color:#000}.auth-form{display:none}.auth-form.active{display:block}.form-group{margin-bottom:18px}label{font-family:var(--font-ui);color:var(--gold-light);letter-spacing:1px;margin-bottom:6px;font-size:12px;font-weight:700;display:block}input[type=text],input[type=email],input[type=password],select,textarea{border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-body);background:#0d0f0d;border-radius:6px;outline:none;padding:12px 14px;font-size:13px;transition:all .25s}input:focus,select:focus,textarea:focus{border-color:var(--gold-light);box-shadow:0 0 8px #d4c08a33}.field-desc{color:var(--text-muted);margin-top:4px;font-size:11px;display:block}.checkbox-container{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;display:flex}.checkbox-container input{cursor:pointer}.state-btn{width:100%;font-family:var(--font-ui);letter-spacing:1.5px;cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:14px;font-weight:700;transition:all .25s;display:flex}.state-btn.primary{background:var(--gold);color:#000;border-color:var(--gold-light)}.state-btn.primary:hover{background:var(--gold-light);box-shadow:0 0 15px #b08a2f66}.state-btn.success{background:var(--olive);color:var(--text);border-color:var(--success)}.state-btn.success:hover{background:var(--success);color:#000;box-shadow:0 0 15px #73b33a66}.state-btn.warning{background:var(--warning);color:#fff;border-color:#a44837}.state-btn.warning:hover{background:#a44837;box-shadow:0 0 15px #8a3d2f66}.state-btn.outline{border:1px solid var(--border);color:var(--text-muted);background:0 0}.state-btn.outline:hover{border-color:var(--gold);color:var(--text)}.state-btn.secondary{color:var(--text-muted);background:#222;border-color:#333}.state-btn.secondary:hover{color:var(--text);background:#333}.auth-divider{text-align:center;color:var(--text-muted);font-family:var(--font-ui);letter-spacing:1px;align-items:center;margin:20px 0;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid var(--border-light);flex:1}.auth-divider span{padding:0 10px}.google-btn{color:var(--text);background:#111;border:1px solid #333}.google-btn:hover{background:#1c1c1c;border-color:#555}.google-icon{width:18px;height:18px}.gold-glow{box-shadow:0 0 8px #b08a4726}.success-glow{box-shadow:0 0 8px #73b33a26}.app-container{flex-direction:column;min-height:calc(100vh - 38px);display:none}.app-container.active{display:flex}.main-header{background:var(--panel);border-bottom:2px solid var(--border);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.header-identity{align-items:center;gap:16px;display:flex}.header-logo{width:48px;height:48px}.header-titles h1{font-family:var(--font-title);letter-spacing:1.5px;color:var(--gold-light);font-size:1.8rem;line-height:1}.header-titles h2{font-family:var(--font-ui);letter-spacing:3px;color:var(--text-muted);margin-top:4px;font-size:.95rem;font-weight:600}.header-user-info{align-items:center;gap:20px;display:flex}.user-meta{flex-direction:column;align-items:flex-end;display:flex}.session-name{font-family:var(--font-ui);color:var(--text);letter-spacing:.5px;font-size:15px;font-weight:700}.session-badge{font-family:var(--font-ui);letter-spacing:1px;background:var(--olive);color:#000;border-radius:3px;margin-top:3px;padding:1px 6px;font-size:11px;font-weight:700}.logout-btn{width:auto;padding:6px 12px;font-size:12px}.main-nav{border-bottom:1px solid var(--border-light);background:#080a08;padding:0 24px}.nav-group{gap:8px;display:none}.nav-group.active{display:flex}.nav-tab{color:var(--text-muted);font-family:var(--font-ui);letter-spacing:1.5px;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:16px 20px;font-size:14px;font-weight:700;transition:all .25s}.nav-tab:hover{color:var(--text);border-bottom-color:var(--border)}.nav-tab.active{color:var(--gold-light);border-bottom-color:var(--gold)}.main-content{background-color:var(--bg);flex:1;padding:24px}.tab-pane{display:none}.tab-pane.active{display:block}.bento-grid{grid-template-columns:repeat(12,1fr);gap:20px;display:grid}.bento-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;position:relative;overflow:hidden}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-5{grid-column:span 5}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.card-head{border-bottom:1px solid var(--border-light);margin-bottom:20px;padding-bottom:12px}.card-title{font-family:var(--font-title);letter-spacing:1px;color:var(--gold-light);font-size:1.5rem}.card-subtitle{color:var(--text-muted);margin-top:2px;font-size:11px}.credential-card{border:1px solid var(--border);background:linear-gradient(135deg,#111411 0%,#1c221c 100%);border-radius:12px;flex-direction:column;justify-content:space-between;height:100%;min-height:290px;padding:20px;display:flex;position:relative;overflow:hidden;box-shadow:0 15px 35px #0009}.credential-card.gold-border{border:2px solid var(--gold)}.card-bg-pattern{background-image:radial-gradient(var(--border-light) 1px, transparent 0);opacity:.35;pointer-events:none;background-size:10px 10px;position:absolute;inset:0}.card-header{border-bottom:1px dashed var(--border);z-index:2;justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.card-estatal-text{font-family:var(--font-ui);color:var(--text-muted);letter-spacing:2px;font-size:10px;font-weight:700}.card-serial{font-family:var(--font-ui);color:var(--gold-light);font-size:10px}.card-body{z-index:2;gap:16px;margin:16px 0;display:flex}.card-photo-box{border:1px solid var(--border);background:#000;width:90px;height:110px;padding:4px}.cit-avatar-placeholder{background-color:var(--bg-2);filter:sepia(.8)hue-rotate(60deg)contrast(1.1);background-image:radial-gradient(#556b2f 20%,#0000 20%),radial-gradient(#556b2f 20%,#0000 20%);background-position:0 0,5px 5px;background-size:10px 10px;border:1px solid #222;width:100%;height:100%}.card-details{flex-direction:column;flex:1;justify-content:space-between;display:flex}.detail-row{flex-direction:column;margin-bottom:6px;display:flex}.detail-row .label{font-family:var(--font-ui);color:var(--text-muted);letter-spacing:1px;font-size:9px;font-weight:600}.detail-row .value{font-family:var(--font-ui);color:var(--text);font-size:14px;font-weight:700}.text-gold{color:var(--gold-light)!important}.tier-badge{background:var(--border);color:#000;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:1px 6px;display:inline-block;font-size:11px!important}.card-footer{border-top:1px dashed var(--border);z-index:2;justify-content:space-between;align-items:flex-end;padding-top:10px;display:flex}.score-display{flex-direction:column;display:flex}.score-label{font-family:var(--font-ui);color:var(--text-muted);letter-spacing:1px;font-size:9px;font-weight:700}.score-number{font-family:var(--font-title);color:var(--success);margin-top:2px;font-size:2.8rem;line-height:.9}.card-barcode{color:var(--border);letter-spacing:-1px;font-family:monospace;font-size:12px}.progress-section{margin:15px 0}.progress-labels{font-family:var(--font-ui);color:var(--text-muted);justify-content:space-between;margin-bottom:6px;font-size:13px;font-weight:700;display:flex}.progress-bar-track{border:1px solid var(--border);background:#000;border-radius:6px;width:100%;height:12px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--olive), var(--success));height:100%;box-shadow:0 0 10px var(--success);transition:width .8s cubic-bezier(.4,0,.2,1)}.progress-help{color:var(--text-muted);text-align:right;margin-top:6px;font-size:11px}.tier-info-panel{border:1px solid var(--border-light);background:#0006;border-radius:6px;padding:14px}.tier-info-title{font-family:var(--font-ui);margin-bottom:4px;font-size:12px;font-weight:700}.tier-info-desc{color:var(--text-muted);font-size:12px;line-height:1.4}.chart-card{flex-direction:column;display:flex}.chart-container{flex:1;min-height:200px;position:relative}.state-table{border-collapse:collapse;width:100%;margin-top:10px}.state-table th{border-bottom:2px solid var(--border);font-family:var(--font-ui);color:var(--gold-light);letter-spacing:1px;text-align:left;background:#0a0c0a;padding:12px;font-size:12px;font-weight:700}.state-table td{border-bottom:1px solid var(--border-light);color:var(--text);padding:12px;font-size:13px}.state-table tr:hover td{background:#161a1680}.font-mono{font-family:monospace;font-size:12px!important}.status-badge{font-family:var(--font-ui);letter-spacing:.5px;border-radius:3px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.status-active{color:var(--success)}.status-blocked{color:var(--warning)}.status-inactive{color:var(--text-muted)}.badge-reward{color:var(--success);border:1px solid var(--success);background:#73b33a26}.badge-penalty{color:var(--warning);border:1px solid var(--warning);background:#8a3d2f26}.badge-pending{color:var(--slate);border:1px solid var(--slate);background:#4e6e8e26}.badge-status{font-family:var(--font-ui);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.certificates-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px;display:grid}.certificate-banknote{border:2px solid var(--border);background:radial-gradient(circle,#1e251e 0%,#111411 100%);border-radius:8px;flex-direction:column;justify-content:space-between;min-height:180px;padding:16px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 25px #00000080}.certificate-banknote.unlocked{border-color:var(--gold);box-shadow:0 0 15px #b08a4740}.certificate-banknote.locked{opacity:.4;filter:grayscale()}.certificate-banknote .border-lines{border:1px solid var(--border);pointer-events:none;position:absolute;inset:3px}.banknote-header{border-bottom:1px solid var(--border-light);font-family:var(--font-ui);color:var(--text-muted);justify-content:space-between;padding-bottom:6px;font-size:10px;font-weight:700;display:flex}.banknote-body{text-align:center;margin:12px 0}.banknote-title{font-family:var(--font-title);letter-spacing:1px;color:var(--gold-light);font-size:1.8rem;line-height:1.1}.banknote-body.unlocked .banknote-title{color:var(--gold)}.banknote-desc{color:var(--text-muted);margin-top:4px;font-size:11px;line-height:1.3}.banknote-footer{border-top:1px dashed var(--border-light);font-family:var(--font-ui);color:var(--text-muted);justify-content:space-between;align-items:flex-end;padding-top:6px;font-size:10px;display:flex}.banknote-stamp{border:1px dashed var(--gold);width:40px;height:40px;color:var(--gold);border-radius:50%;justify-content:center;align-items:center;font-size:8px;display:flex;transform:rotate(-15deg)}.recommendations-list{flex-direction:column;gap:12px;display:flex}.rec-item{background:var(--bg-2);border:1px solid var(--border-light);border-radius:6px;justify-content:space-between;align-items:center;padding:12px;display:flex}.rec-info h4{font-family:var(--font-ui);color:var(--text);font-size:13px;font-weight:700}.rec-info p{color:var(--text-muted);margin-top:2px;font-size:11px}.rec-delta{font-family:var(--font-title);color:var(--success);font-size:1.3rem}.stats-row{gap:20px;margin-bottom:24px;display:flex}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;flex:1;padding:20px;display:flex}.stat-label{font-family:var(--font-ui);color:var(--text-muted);letter-spacing:1px;margin-bottom:4px;font-size:11px;font-weight:700}.stat-value{font-size:2.8rem;line-height:1}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.filters-row{gap:16px;margin-bottom:16px;display:flex}.filter-group{flex:1}.filter-group.search{flex:2}.table-container{border:1px solid var(--border);background:var(--panel);border-radius:8px;overflow-x:auto}.pagination{justify-content:center;gap:6px;margin-top:16px;display:flex}.page-btn{border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-ui);cursor:pointer;background:#111;border-radius:4px;padding:6px 12px;font-size:13px}.page-btn:hover{border-color:var(--gold);color:var(--text)}.page-btn.active{background:var(--gold);color:#000;border-color:var(--gold-light)}.tiers-distribution-container{flex-direction:column;gap:12px;margin-top:10px;display:flex}.dist-bar-row{flex-direction:column;gap:4px;display:flex}.dist-bar-label{justify-content:space-between;font-size:12px;display:flex}.dist-bar-track{background:#000;border:1px solid #ffffff0d;border-radius:5px;height:10px;overflow:hidden}.dist-bar-fill{border-radius:5px;height:100%;transition:width .6s}.action-divider{font-family:var(--font-ui);color:var(--gold-light);letter-spacing:1px;border-bottom:1px solid var(--border-light);margin:20px 0 12px;padding-bottom:4px;font-size:11px;font-weight:700}.status-actions,.manual-cert-row{gap:10px;display:flex}.manual-cert-row select{flex:1}.manual-cert-row button{width:auto;padding-left:20px;padding-right:20px}.back-btn{width:auto;padding:8px 16px;font-size:12px}.form-dense .form-group{margin-bottom:12px}.form-dense label{margin-bottom:4px}.form-dense input,.form-dense select,.form-dense textarea{padding:8px 12px}.modal-overlay{z-index:2000;background:#000c;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-overlay.active{display:flex}.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:500px;padding:30px;box-shadow:0 20px 50px #000c}.modal-title{font-family:var(--font-title);letter-spacing:1px;color:var(--gold-light);border-bottom:1px solid var(--border-light);margin-bottom:12px;padding-bottom:10px;font-size:1.8rem}.modal-desc{color:var(--text-muted);margin-bottom:20px;font-size:12px;line-height:1.5}.form-buttons{gap:10px;margin-top:20px;display:flex}.form-buttons button{flex:1}.toast-container{z-index:3000;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--gold);color:var(--text);font-family:var(--font-body);box-shadow:var(--shadow);border-radius:4px;flex-direction:column;min-width:280px;max-width:400px;padding:12px 18px;font-size:13px;animation:.3s cubic-bezier(.18,.89,.32,1.28) forwards slide-in;display:flex}.toast.success{border-left-color:var(--success)}.toast.warning{border-left-color:var(--warning)}.toast.info{border-left-color:var(--slate)}.toast-title{font-family:var(--font-ui);letter-spacing:1px;text-transform:uppercase;color:var(--gold-light);margin-bottom:2px;font-size:11px;font-weight:700}.toast-desc{color:var(--text-muted);font-size:12px}@keyframes slide-in{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}@media (width<=992px){.bento-grid{grid-template-columns:1fr}.col-12,.col-8,.col-6,.col-5,.col-4,.col-3{grid-column:span 12}.stats-row{flex-direction:column;gap:12px}.filters-row{flex-direction:column;gap:10px}.main-header{flex-direction:column;align-items:flex-start;gap:16px}.header-user-info{justify-content:space-between;width:100%}.main-nav{overflow-x:auto}.nav-group{flex-wrap:nowrap}}
