*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#1a1a1a;background:#faf8f5;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-container{background:#faf8f5;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:420px;padding:48px 40px;box-shadow:0 8px 40px #00000014}.login-logo{margin-bottom:4px}.login-card h1{color:#111;font-size:28px;font-weight:700}.login-subtitle{color:#666;margin-bottom:32px;font-size:14px}.btn-login{color:#fff;background:#e8472a;border:2px solid #e8472a}.btn-login:hover{color:#fff;background:#c73520;border-color:#c73520}.form-group{text-align:left;margin-bottom:16px}.form-group label{color:#444;margin-bottom:6px;font-size:13px;font-weight:600;display:block}input{border:1.5px solid #ddd;border-radius:8px;outline:none;width:100%;padding:10px 14px;font-size:15px;transition:border-color .2s}input:focus{border-color:#111}.btn-primary{color:#e8472a;cursor:pointer;background:#fff;border:2px solid #e8472a;border-radius:8px;width:100%;margin-top:8px;padding:12px;font-size:15px;font-weight:700;transition:background .15s,color .15s}.btn-primary:hover{color:#fff;background:#e8472a}.btn-primary:disabled{color:#bbb;cursor:not-allowed;background:#f5f5f5;border-color:#ddd}.btn-logout{color:#fff;cursor:pointer;background:0 0;border:1.5px solid #fff;border-radius:8px;padding:6px 16px;font-size:14px;transition:background .2s}.btn-logout:hover{background:#ffffff26}.btn-profile-header{color:#fff;cursor:pointer;background:0 0;border:1.5px solid #fff6;border-radius:8px;padding:6px 16px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s}.btn-profile-header:hover{background:#ffffff1a;border-color:#fff}.dashboard{background:#faf8f5;min-height:100vh}.dashboard-header{color:#fff;background:#111;border-bottom:3px solid #e8472a;justify-content:space-between;align-items:center;padding:10px 32px;display:flex}.header-brand{align-items:center;gap:16px;display:flex}.header-tagline{letter-spacing:2px;color:#e8472a;text-transform:uppercase;max-width:120px;font-size:10px;font-weight:700;line-height:1.3}.dashboard-main{max-width:1000px;margin:0 auto;padding:32px}.dashboard-main h2{align-items:center;gap:10px;margin-bottom:24px;font-size:22px;font-weight:700;display:flex}.period-badge{color:#c73520;background:#fee8e4;border-radius:20px;padding:3px 10px;font-size:13px;font-weight:600}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px;display:grid}.roi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:4px;display:grid}.roi-card{background:#f4f1ed;border:1.5px solid #e8e3dc;border-radius:12px;padding:16px 20px}.roi-label{color:#888;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;font-size:11px;font-weight:700}.roi-value{color:#111;margin-bottom:2px;font-size:26px;font-weight:800}.roi-sub{color:#999;font-size:12px}.metric-card{text-align:center;background:#fff;border-top:4px solid #111;border-radius:16px;padding:28px 24px;box-shadow:0 2px 12px #0000000f}.metric-card.green{border-top-color:#e8472a}.metric-card.orange{border-top-color:#e07b39}.metric-card.blue{border-top-color:#3b82f6}.metric-icon{margin-bottom:12px;font-size:36px}.metric-value{color:#1a1a1a;margin-bottom:6px;font-size:32px;font-weight:800}.metric-label{color:#666;font-size:13px;font-weight:500}.register-section{background:#fff;border-radius:16px;padding:28px;box-shadow:0 2px 12px #0000000f}.register-section h3{color:#fff;margin-bottom:20px;font-size:17px;font-weight:700}.btn-outline-sm{color:#e8472a;cursor:pointer;background:0 0;border:1.5px solid #e8472a;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .15s}.btn-outline-sm:hover{color:#fff;background:#e8472a}.register-form-vertical{flex-direction:column;gap:14px;display:flex}.register-field{flex-direction:column;gap:5px;display:flex}.register-field label{color:#555;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.register-field input,.register-field select{margin:0}.employee-list-section{background:#fff;border-radius:16px;margin-top:24px;padding:28px;box-shadow:0 2px 12px #0000000f}.employee-list-section h3{color:#fff;margin-bottom:20px;font-size:17px;font-weight:700}.employee-table{border-collapse:collapse;width:100%;font-size:14px}.employee-table th{text-align:left;color:#555;text-transform:uppercase;letter-spacing:.5px;background:#faf8f5;border-bottom:1px solid #e8e0da;padding:10px 14px;font-size:12px;font-weight:600}.employee-table td{color:#333;border-bottom:1px solid #faf8f5;padding:12px 14px}.employee-table tr:last-child td{border-bottom:none}.employee-table tr:hover td{background:#faf8f5}.status-badge{border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.status-badge.active{color:#1a6b3a;background:#d8f3dc}.status-badge.inactive{color:#c0392b;background:#fde8e8}.error-msg{color:#c0392b;margin-top:10px;font-size:13px}.success-msg{color:#27ae60;margin-top:10px;font-size:13px}.loading{color:#666;font-size:14px}@media (width<=700px){.register-form{grid-template-columns:1fr}.dashboard-main{padding:16px}}.header-nav{gap:8px;display:flex}.suspension-banner{color:#fff;text-align:center;letter-spacing:.2px;background:#c0392b;padding:10px 24px;font-size:14px;font-weight:600}.nav-btn{color:#fff;cursor:pointer;background:0 0;border:1.5px solid #fff6;border-radius:8px;padding:6px 18px;font-size:14px;font-weight:500;transition:all .2s}.nav-btn:hover{background:#faf8f526;border-color:#faf8f599}.nav-btn.active{background:#e8472a;border-color:#e8472a;font-weight:700}.points-banner{color:#fff;background:linear-gradient(135deg,#111,#333);border-radius:14px;align-items:center;gap:10px;margin-bottom:24px;padding:16px 24px;display:flex}.points-icon{font-size:28px}.points-label{opacity:.85;font-size:14px}.points-value{font-size:28px;font-weight:800}.points-hint{opacity:.7;margin-left:auto;font-size:12px}.rewards-page{padding-top:0}.rewards-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;display:grid}.reward-card{background:#fff;border-radius:14px;flex-direction:column;gap:8px;padding:22px 20px;display:flex;box-shadow:0 2px 12px #0000000f}.reward-title{color:#1a1a1a;font-size:16px;font-weight:700}.reward-desc{color:#666;flex:1;font-size:13px}.reward-footer{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.reward-cost{color:#111;font-size:15px;font-weight:700}.reward-stock{color:#888;font-size:12px}.reward-limit{color:#e8472a;background:#e8472a14;border-radius:20px;align-self:flex-start;padding:3px 8px;font-size:11px;font-weight:600}.btn-redeem{color:#e8472a;cursor:pointer;background:#fff;border:2px solid #e8472a;border-radius:8px;width:100%;margin-top:8px;padding:10px;font-size:14px;font-weight:700;transition:background .15s,color .15s}.btn-redeem:hover:not(:disabled){color:#fff;background:#e8472a}.btn-redeem:disabled{color:#bbb;cursor:not-allowed;background:#f5f5f5;border-color:#ddd}.reward-form{grid-template-columns:2fr 2fr 1fr 1fr auto;align-items:end;gap:12px;display:grid}.reward-form .btn-primary{white-space:nowrap;width:auto;margin-top:0}.limit-row{grid-column:1/-1;align-items:center;gap:12px;display:flex}.limit-toggle{color:#444;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.limit-toggle input[type=checkbox]{accent-color:#e8472a;cursor:pointer;width:16px;height:16px}.limit-input{width:72px!important;padding:6px 10px!important;font-size:13px!important}@media (width<=800px){.reward-form,.rewards-grid{grid-template-columns:1fr}.points-hint{display:none}}.employee-tabs{background:#fff;border-bottom:1px solid #e8e0da;gap:4px;margin-bottom:28px;padding:12px 16px;display:flex}.tab-btn{color:#555;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 18px;font-size:14px;font-weight:500;transition:all .2s}.tab-btn:hover{background:#faf8f5}.tab-btn.active{color:#fff;background:#111;font-weight:700}.profile-page{max-width:600px;margin:0 auto}.profile-avatar-section{background:#111;border-radius:16px;flex-direction:column;align-items:center;margin-bottom:24px;padding:32px 24px;display:flex}.profile-avatar{color:#fff;letter-spacing:-1px;background:#e8472a;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:14px;font-size:32px;font-weight:900;display:flex}.profile-avatar-name{color:#faf8f5;letter-spacing:-.5px;font-size:22px;font-weight:800}.profile-avatar-email{color:#888;margin-top:4px;font-size:14px}.profile-dept-pill{color:#aaa;background:#222;border-radius:20px;margin-top:12px;padding:5px 14px;font-size:12px;font-weight:600}.profile-sections{flex-direction:column;gap:20px;display:flex}.profile-section-title{color:#888;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:8px;padding-left:4px;font-size:11px;font-weight:800}.profile-card{background:#fff;border:1px solid #ebebeb;border-radius:14px;overflow:hidden}.profile-row{border-bottom:1px solid #f4f4f4;justify-content:space-between;align-items:center;padding:13px 16px;display:flex}.profile-row:last-child{border-bottom:none}.profile-row-label{color:#555;font-size:14px}.profile-row-value{color:#111;text-align:right;max-width:55%;font-size:14px;font-weight:600}.profile-logout-section{padding-top:4px}.profile-logout-btn{color:#e8472a;cursor:pointer;background:#fff;border:1.5px solid #e8472a;border-radius:12px;width:100%;padding:14px;font-size:15px;font-weight:800;transition:background .15s}.profile-logout-btn:hover{background:#fff5f3}.employee-content h2{color:#1a1a1a;margin-bottom:4px;font-size:20px;font-weight:700}.stats-hint{color:#888;margin-top:8px;font-size:13px}.metric-card.gold{border-top-color:#f4a62a}.home-panel{background:#fff;border:1px solid #e5e2de;border-radius:14px;padding:20px 24px}.home-panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.home-panel-title{color:#111;font-size:14px;font-weight:700}.home-panel-badge{color:#e8472a;background:#faf8f5;border:1px solid #e5e2de;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:700}.leaderboard-list{flex-direction:column;gap:8px;display:flex}.leaderboard-row{border-radius:8px;grid-template-columns:20px 1fr 80px 52px;align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:grid}.leaderboard-row.is-me{background:#fff5f3}.lb-rank{color:#aaa;font-size:12px;font-weight:800}.leaderboard-row.is-me .lb-rank{color:#e8472a}.lb-name{color:#333;white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.leaderboard-row.is-me .lb-name{color:#111;font-weight:700}.lb-bar-wrap{background:#f0ede9;border-radius:3px;height:5px;overflow:hidden}.lb-bar{background:#e8472a;border-radius:3px;height:100%;transition:width .4s}.leaderboard-row.is-me .lb-bar{background:#e8472a}.lb-km{color:#555;text-align:right;font-size:12px;font-weight:700}.reward-unlocked{background:#f0faf4;border-radius:10px;margin-bottom:14px;padding:12px}.reward-unlocked-label{color:#1a8a4a;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.reward-unlocked-list{flex-direction:column;gap:6px;display:flex}.reward-chip{color:#111;background:#fff;border:1px solid #c3e6cb;border-radius:8px;padding:6px 10px;font-size:13px}.reward-next{margin-top:4px}.reward-next-header{color:#555;justify-content:space-between;margin-bottom:8px;font-size:13px;display:flex}.reward-progress-bar{background:#f0ede9;border-radius:4px;height:8px;overflow:hidden}.reward-progress-fill{background:#e8472a;border-radius:4px;height:100%;transition:width .4s}.active-challenge-row{background:#faf8f5;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.challenge-type-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.challenge-type-dot.challenge{background:#e8472a}.challenge-type-dot.activity{background:#1a8a4a}.log-form-card{background:#fff;border-radius:16px;max-width:600px;padding:28px;box-shadow:0 2px 12px #0000000f}.activity-type-selector{gap:10px;margin-bottom:24px;display:flex}.type-btn{cursor:pointer;background:#fff;border:2px solid #ddd;border-radius:10px;flex:1;padding:12px;font-size:14px;font-weight:600;transition:all .2s}.type-btn:hover{border-color:#111}.type-btn.active{color:#111;background:#fee8e4;border-color:#111}.form-row{grid-template-columns:2fr 1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.log-form .form-group label{color:#444;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.activity-result{background:#f0fdf4;border-left:4px solid #111;border-radius:12px;margin-top:20px;padding:18px}.activity-result.invalid{background:#fff8f0;border-left-color:#e07b39}.result-msg{margin-bottom:10px;font-size:15px;font-weight:700}.result-stats{color:#333;gap:20px;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.validation-warning{color:#e07b39;margin-bottom:10px;font-size:12px}.btn-secondary{color:#111;cursor:pointer;background:0 0;border:1.5px solid #111;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.btn-secondary:hover{color:#fff;background:#111}@media (width<=600px){.form-row{grid-template-columns:1fr}.activity-type-selector{flex-direction:column}.result-stats{flex-direction:column;gap:6px}}.superadmin-header{justify-content:space-between;align-items:flex-start;margin-bottom:28px;display:flex}.companies-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.company-card{background:#fff;border-top:4px solid #111;border-radius:16px;padding:24px;box-shadow:0 2px 12px #0000000f}.company-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.company-name{color:#1a1a1a;font-size:17px;font-weight:700}.company-taxid{color:#888;margin-top:2px;font-size:12px}.company-meta{background:#faf8f5;border-radius:10px;flex-direction:column;gap:6px;margin-bottom:14px;padding:12px;display:flex}.company-meta-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.company-meta-label{color:#888;font-weight:500}.company-meta-value{color:#111;font-weight:600}.plan-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.plan-label{color:#555;font-size:12px;font-weight:600}.plan-select{cursor:pointer;background:#fff;border:1.5px solid #ddd;border-radius:8px;outline:none;flex:1;padding:6px 10px;font-size:13px}.plan-select:focus{border-color:#111}.trial-badge{color:#b7791f;text-align:center;background:#fff8e1;border-radius:8px;margin-bottom:10px;padding:5px 10px;font-size:12px;font-weight:600}.trial-urgent{color:#c0392b;background:#fde8e8}.company-since{color:#aaa}.sub-badge{white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.sub-trial{color:#b7791f;background:#fff8e1}.sub-active{color:#1a6b3a;background:#d8f3dc}.sub-suspended{color:#c0392b;background:#fde8e8}.sub-cancelled{color:#888;background:#f0f0f0}.card-suspended{opacity:.75;border-top-color:#e07b39}.card-cancelled{opacity:.5;border-top-color:#ccc}.company-actions{border-top:1px solid #faf8f5;gap:8px;margin-top:14px;padding-top:14px;display:flex}.action-btn{cursor:pointer;border:none;border-radius:8px;flex:1;padding:7px 10px;font-size:13px;font-weight:600;transition:opacity .2s}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn:hover:not(:disabled){opacity:.85}.action-green{color:#1a6b3a;background:#d8f3dc}.action-red{color:#c0392b;background:#fde8e8}.action-grey{color:#666;background:#f0f0f0}.sub-current-card{background:#fff;border-top:4px solid #111;border-radius:16px;margin-bottom:8px;padding:28px;box-shadow:0 2px 12px #0000000f}.sub-current-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.sub-plan-name{font-size:22px;font-weight:800}.sub-plan-price{color:#666;margin-top:4px;font-size:15px}.usage-section{margin-top:8px}.usage-label{color:#555;justify-content:space-between;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.usage-bar{background:#e8e4e0;border-radius:10px;height:10px;overflow:hidden}.usage-fill{border-radius:10px;height:100%;transition:width .5s}.plans-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.plan-card{background:#fff;border-top:4px solid #ddd;border-radius:14px;padding:22px 18px;position:relative;box-shadow:0 2px 12px #0000000f}.plan-card-current{box-shadow:0 4px 20px #0000001f}.plan-current-badge{color:#fff;background:#e8472a;border-radius:0 0 6px 6px;padding:3px 8px;font-size:10px;font-weight:700;position:absolute;top:-1px;right:12px}.plan-card-name{margin-bottom:4px;font-size:17px;font-weight:800}.plan-card-price{color:#111;margin-bottom:2px;font-size:22px;font-weight:900}.plan-card-price-anual{color:#888;margin-bottom:14px;font-size:12px}.plan-features{color:#444;flex-direction:column;gap:6px;margin:0 0 16px;padding:0;font-size:12px;list-style:none;display:flex}.btn-plan-upgrade{text-align:center;color:#e8472a;background:#fff;border:2px solid #e8472a;border-radius:8px;padding:8px;font-size:13px;font-weight:700;text-decoration:none;transition:background .15s,color .15s;display:block}.btn-plan-upgrade:hover{color:#fff;background:#e8472a}.sub-contact-note{color:#666;text-align:center;background:#faf8f5;border-radius:12px;padding:20px;font-size:13px}.billing-section{background:#fff;border-radius:16px;padding:24px 28px;box-shadow:0 2px 12px #0000000f}.billing-section h3{color:#fff;margin-bottom:20px;font-size:16px;font-weight:700}.plan-distribution{flex-direction:column;gap:14px;display:flex}.dist-row{grid-template-columns:120px 1fr 100px 80px;align-items:center;gap:12px;display:grid}.dist-label{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.dist-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.dist-bar-wrap{width:100%}.dist-bar{background:#faf8f5;border-radius:10px;height:10px;overflow:hidden}.dist-fill{border-radius:10px;height:100%}.dist-count{color:#555;text-align:right;font-size:13px}.dist-revenue{color:#111;text-align:right;font-size:13px;font-weight:700}.employee-table tfoot td{border-top:2px solid #e8e0da;font-size:14px}.create-company-form{grid-template-columns:1fr 1fr;gap:16px;display:grid}.create-company-form .btn-primary{grid-column:1/-1;width:auto;margin-top:0}.empty-state{text-align:center;color:#888;background:#fff;border-radius:16px;padding:60px 20px}.empty-state p{margin-top:8px;font-size:15px}@media (width<=600px){.create-company-form{grid-template-columns:1fr}.superadmin-header{flex-direction:column;gap:16px}}.sub-tabs{border-bottom:2px solid #faf8f5;gap:8px;padding-bottom:2px;display:flex}.sub-tab-btn{color:#888;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:6px 6px 0 0;align-items:center;gap:6px;margin-bottom:-4px;padding:8px 18px;font-size:14px;font-weight:600;transition:color .15s;display:flex}.sub-tab-btn:hover{color:#111}.sub-tab-btn.active{color:#111;border-bottom-color:#e8472a;font-weight:700}.badge-count{color:#fff;background:#c0392b;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:700;display:inline-flex}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{text-align:center;background:#fff;border-radius:20px;width:90%;max-width:420px;padding:36px 32px;box-shadow:0 20px 60px #0003}.redemption-modal h3{color:#1a1a1a;margin:12px 0 4px;font-size:22px;font-weight:800}.redemption-success-icon{font-size:52px}.redemption-reward-name{color:#666;margin-bottom:24px;font-size:15px}.redemption-code-display{background:#fee8e4;border:2px dashed #e8472a;border-radius:14px;margin:16px 0;padding:20px}.redemption-code-label{color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:600}.redemption-code{letter-spacing:4px;color:#fff;font-family:Courier New,monospace;font-size:32px;font-weight:900}.redemption-code-hint{color:#888;margin-top:10px;font-size:12px;line-height:1.4}.redemption-points-left{color:#555;margin-top:8px;font-size:14px}.redemptions-list{flex-direction:column;gap:12px;display:flex}.redemption-row{background:#fff;border:1px solid #e0e0e0;border-radius:12px;flex-direction:column;gap:8px;padding:16px 20px;display:flex}.redemption-row.used{opacity:.7}.redemption-row-main{justify-content:space-between;align-items:center;display:flex}.redemption-row-title{font-size:15px;font-weight:700}.redemption-row-date{color:#888;font-size:13px}.redemption-row-code{letter-spacing:3px;color:#fff;font-family:Courier New,monospace;font-size:20px;font-weight:900}.redemption-row.used .redemption-row-code{color:#999}.redemption-row-meta{justify-content:space-between;align-items:center;display:flex}.redemption-cost{color:#888;font-size:13px}.redemption-status{font-size:13px;font-weight:600}.redemption-status.pending{color:#e07b39}.redemption-status.used{color:#111}.redemptions-admin-section h3{color:#1a1a1a;align-items:center;font-size:16px;font-weight:700;display:flex}.redemption-code-badge{color:#c73520;letter-spacing:2px;background:#fee8e4;border:1px solid #f5b8ae;border-radius:6px;padding:3px 8px;font-family:Courier New,monospace;font-size:13px;font-weight:700;display:inline-block}.redemption-code-badge.used{color:#999;background:#f5f5f5;border-color:#ddd}.btn-validate{color:#e8472a;cursor:pointer;white-space:nowrap;background:#fff;border:2px solid #e8472a;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:700;transition:background .15s,color .15s}.btn-validate:hover{color:#fff;background:#e8472a}.btn-validate:disabled{color:#bbb;cursor:not-allowed;background:#f5f5f5;border-color:#ddd}.challenges-list{flex-direction:column;gap:16px;display:flex}.challenge-card{background:#fff;border:1px solid #e8e4e0;border-radius:16px;padding:20px 24px;transition:box-shadow .15s}.challenge-card:hover{box-shadow:0 4px 16px #00000014}.challenge-past{opacity:.65}.challenge-cancelled{opacity:.45}.challenge-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.challenge-badges{flex-wrap:wrap;gap:6px;display:flex}.challenge-type-badge{letter-spacing:.3px;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:700}.challenge-type-badge.challenge{color:#c73520;background:#fee8e4}.challenge-type-badge.activity{color:#2563eb;background:#e8f4fd}.challenge-official-badge{color:#faf8f5;background:#111;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:700}.challenge-status-badge{border-radius:20px;padding:3px 9px;font-size:11px;font-weight:700}.challenge-status-badge.completed{color:#1a6b3a;background:#d8f3dc}.challenge-status-badge.cancelled{color:#888;background:#f0f0f0}.challenge-title{color:#111;margin-bottom:6px;font-size:17px;font-weight:800}.challenge-desc{color:#555;margin-bottom:12px;font-size:14px;line-height:1.5}.challenge-meta{flex-wrap:wrap;gap:12px;margin-top:10px;margin-bottom:4px;display:flex}.challenge-meta-item{color:#666;font-size:13px}.challenge-admin-actions{flex-shrink:0;gap:6px;display:flex}.challenge-admin-btn{cursor:pointer;border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;transition:opacity .15s}.challenge-admin-btn:hover{opacity:.8}.challenge-admin-btn.complete{color:#1a6b3a;background:#d8f3dc}.challenge-admin-btn.cancel{color:#666;background:#f0f0f0}.btn-challenge-leave{color:#555;cursor:pointer;background:#faf8f5;border:1.5px solid #ddd;border-radius:8px;margin-top:12px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s;display:inline-block}.btn-challenge-leave:hover{background:#f0f0f0}.challenge-form{flex-direction:column;gap:12px;display:flex}.challenge-form input,.challenge-form textarea{resize:vertical;border:1.5px solid #ddd;border-radius:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:14px}.challenge-form textarea:focus,.challenge-form input:focus{border-color:#e8472a;outline:none}.challenge-type-selector{gap:8px;display:flex}.dashboard-bottom-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px;display:grid}@media (width<=900px){.dashboard-bottom-grid{grid-template-columns:1fr}}.dashboard-block{background:#fff;border:1.5px solid #ebebeb;border-radius:14px;padding:24px}.dashboard-block-clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s}.dashboard-block-clickable:hover{border-color:#e8472a;box-shadow:0 2px 12px #e8472a14}.dashboard-block-arrow{color:#ccc;margin-left:auto;font-size:14px;transition:color .15s,transform .15s}.dashboard-block-clickable:hover .dashboard-block-arrow{color:#e8472a;transform:translate(3px)}.dashboard-block-title{color:#111;align-items:center;margin:0 0 18px;font-size:14px;font-weight:700;display:flex}.top5-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.top5-item{align-items:center;gap:12px;display:flex}.top5-rank{color:#555;background:#f0f0f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.top5-rank.rank-1{color:#7a5c00;background:gold}.top5-rank.rank-2{color:#444;background:silver}.top5-rank.rank-3{color:#fff;background:#cd7f32}.top5-name{color:#111;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:600;overflow:hidden}.top5-stats{color:#555;white-space:nowrap;font-size:12px}.top5-km{color:#aaa}.dept-badge{color:#e8472a;background:#fff5f3;border:1px solid #f8ccc5;border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.dept-tag{color:#333;background:#f5f5f5;border:1px solid #e8e8e8;border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-flex}.dept-tag-delete{cursor:pointer;color:#bbb;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1;transition:color .15s}.dept-tag-delete:hover{color:#e8472a}.dept-tag-count{color:#666;background:#e0e0e0;border-radius:10px;padding:1px 6px;font-size:11px;font-weight:600}.emp-count{color:#888;vertical-align:middle;background:#f0ede9;border-radius:20px;margin-left:8px;padding:2px 10px;font-size:14px;font-weight:600;display:inline-block}.register-dropdown{z-index:100;background:#fff;border:1px solid #e8e8e8;border-radius:12px;width:300px;padding:20px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0000001a}.dept-filter-bar{border-bottom:1px solid #f0ede9;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;padding:12px 0;display:flex}.dept-filter-chip{color:#444;cursor:pointer;background:#fafafa;border:1px solid #e8e8e8;border-radius:20px;align-items:center;gap:5px;padding:5px 12px;font-size:13px;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:inline-flex;position:relative}.dept-filter-chip:hover{color:#e8472a;background:#fff5f3;border-color:#e8472a}.dept-filter-chip.active{color:#fff;background:#e8472a;border-color:#e8472a;font-weight:700}.dept-filter-chip.dim{color:#aaa;border-style:dashed}.dept-filter-chip.dim:hover{color:#e8472a;border-style:solid}.dept-filter-chip.active .dept-filter-count{color:#fff;background:#ffffff40}.dept-filter-count{color:#777;background:#ebebeb;border-radius:10px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.4}.dept-filter-delete{color:#0000;cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;margin-left:2px;font-size:13px;line-height:1;transition:color .1s,background .1s;display:inline-flex}.dept-filter-chip:hover .dept-filter-delete{color:#e8472a}.dept-filter-chip.active .dept-filter-delete{color:#fff9}.dept-filter-chip.active .dept-filter-delete:hover{color:#fff;background:#00000026}.dept-filter-new{color:#aaa;cursor:pointer;background:0 0;border:1px dashed #ccc;border-radius:20px;align-items:center;gap:4px;padding:5px 12px;font-size:13px;transition:border-color .15s,color .15s;display:inline-flex}.dept-filter-new:hover{color:#e8472a;border-color:#e8472a}.dept-filter-add-form{align-items:center;gap:6px;display:inline-flex}.dept-filter-add-input{color:#333;border:1px solid #e8472a;border-radius:20px;outline:none;width:200px;padding:5px 14px;font-size:13px}.dept-filter-add-btn{color:#fff;cursor:pointer;background:#e8472a;border:none;border-radius:20px;padding:5px 14px;font-size:13px;font-weight:600}.dept-filter-add-btn:disabled{opacity:.5;cursor:default}.dept-filter-cancel-btn{color:#aaa;cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:15px}.dept-filter-cancel-btn:hover{color:#333}.profile-header{align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.profile-header-info{flex:1}.profile-name{color:#111;margin-bottom:4px;font-size:20px;font-weight:700}.profile-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.profile-email{color:#777;font-size:14px}.profile-dept-display{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.profile-dept-display:hover .dept-badge{background:#ffe8e3}.dept-edit-hint{color:#bbb;font-size:12px}.profile-dept-display:hover .dept-edit-hint{color:#e8472a}.dept-badge-empty{color:#aaa;background:#f5f5f5;border:1px dashed #ddd;border-radius:20px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.profile-dept-edit{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.dept-inline-select{color:#333;background:#fff;border:1px solid #e8472a;border-radius:6px;outline:none;padding:4px 8px;font-size:13px}.pending-redemptions-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pending-redemption-item{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.pending-redemption-name{color:#111;font-size:13px;font-weight:600}.pending-redemption-reward{color:#666;font-size:12px}.active-challenges-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.active-challenge-item{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;padding:10px 12px}.active-challenge-title{color:#111;margin-bottom:5px;font-size:13px;font-weight:600}.active-challenge-meta{color:#777;font-size:12px}.employees-page{padding:0}.employees-list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.employees-list-header h2{margin:0}.employee-search{color:#333;background:#fff;border:1.5px solid #ddd;border-radius:8px;width:260px;padding:8px 14px;font-family:inherit;font-size:14px}.employee-search:focus{border-color:#e8472a;outline:none}.btn-view-employee{color:#e8472a;cursor:pointer;background:0 0;border:1.5px solid #e8472a;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.btn-view-employee:hover{color:#fff;background:#e8472a}.btn-back{color:#444;cursor:pointer;background:0 0;border:1.5px solid #ccc;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s}.btn-back:hover{color:#111;border-color:#888}.status-badge.pending{color:#856404;background:#fff3cd}.status-badge.used{color:#1a6b3a;background:#d8f3dc}.btn-edit-limit{color:#555;cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #ddd;border-radius:6px;padding:4px 10px;font-size:12px;transition:border-color .15s}.btn-edit-limit:hover{color:#e8472a;border-color:#e8472a}.btn-delete-limit{color:#c0392b;cursor:pointer;background:0 0;border:1.5px solid #fcc;border-radius:6px;padding:4px 10px;font-size:12px;transition:background .15s}.btn-delete-limit:hover{background:#fde8e8}.btn-cancel-edit{color:#888;cursor:pointer;background:0 0;border:1.5px solid #ddd;border-radius:6px;padding:4px 10px;font-size:12px}.btn-cancel-edit:hover{color:#444;border-color:#aaa}.limit-period-select{color:#333;cursor:pointer;background:#fff;border:1.5px solid #ddd;border-radius:8px;padding:6px 10px;font-family:inherit;font-size:13px}.limit-period-select:focus{border-color:#e8472a;outline:none}@media (width<=768px){.dashboard-header{flex-wrap:wrap;gap:10px;padding:10px 16px}.header-tagline{display:none}.header-nav{flex-wrap:wrap;gap:4px}.nav-btn,.btn-logout{padding:5px 10px;font-size:12px}.dashboard-main{padding:16px}.dashboard-main h2{margin-bottom:16px;font-size:18px}.metrics-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.metric-card{padding:18px 14px}.metric-icon{margin-bottom:8px;font-size:28px}.metric-value{font-size:24px}.metric-label{font-size:12px}.dashboard-bottom-grid{grid-template-columns:1fr;gap:14px;margin-top:20px}.login-card{margin:16px;padding:32px 24px}.employee-table thead{display:none}.employee-table tbody tr{background:#fff;border:1px solid #e8e4e0;border-radius:10px;flex-direction:column;margin-bottom:10px;padding:12px 14px;display:flex}.employee-table td{border-bottom:none;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px;display:flex}.employee-table td:before{content:attr(data-label);color:#888;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.rewards-grid,.reward-form{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:12px}.activity-type-selector{flex-direction:column}.register-form{grid-template-columns:1fr}.superadmin-header{flex-direction:column;gap:16px}.companies-grid,.create-company-form{grid-template-columns:1fr}.dist-row{grid-template-columns:1fr 1fr;row-gap:4px}.dist-bar-wrap{grid-column:1/-1}.sub-tabs{gap:4px;padding-bottom:6px;overflow-x:auto}.sub-tab-btn{white-space:nowrap;padding:6px 12px;font-size:13px}.employees-list-header{flex-direction:column;align-items:flex-start;gap:10px}.employee-search{width:100%}.challenge-card{padding:16px}.challenge-card-top{flex-direction:column;gap:8px}.challenge-admin-actions{flex-wrap:wrap}.challenge-type-selector{flex-direction:column}.plans-grid{grid-template-columns:1fr}.redemption-row-main{flex-direction:column;align-items:flex-start;gap:4px}.modal-box{padding:24px 20px}.redemption-code{letter-spacing:2px;font-size:24px}.points-banner{padding:14px 16px}.points-value{font-size:22px}}@media (width<=400px){.metrics-grid{grid-template-columns:1fr}.nav-btn{padding:5px 7px;font-size:11px}.header-brand img{height:28px}}
