:root{--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-heading:"Outfit", sans-serif;--bg-main:#0b0f19;--bg-surface:#111827;--bg-card:#111827bf;--bg-card-hover:#1f2937d9;--bg-glass:#ffffff08;--border-subtle:#ffffff14;--border-active:#10b98166;--brand-primary:#10b981;--brand-light:#34d399;--brand-dark:#059669;--brand-glow:#10b98140;--token-gold:#f59e0b;--token-light:#fbbf24;--token-glow:#f59e0b40;--accent-cyan:#06b6d4;--accent-blue:#3b82f6;--accent-purple:#8b5cf6;--status-danger:#ef4444;--text-main:#f9fafb;--text-muted:#9ca3af;--text-dim:#6b7280;--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 24px #00000059;--shadow-glow:0 0 25px var(--brand-glow);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--safe-bottom:env(safe-area-inset-bottom,16px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-main);background-image:radial-gradient(circle at 15% 15%,#10b98114 0%,#0000 40%),radial-gradient(circle at 85% 85%,#3b82f60f 0%,#0000 40%);background-attachment:fixed;min-height:100vh;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-main);letter-spacing:-.02em;font-weight:700}button{font-family:var(--font-sans);cursor:pointer;background:0 0;border:none}input,textarea,select{font-family:var(--font-sans)}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.glass-panel:hover{border-color:#ffffff26}.app-container{max-width:1280px;margin:0 auto;padding:1rem 1.25rem 5rem}@media (width>=768px){.app-container{padding:2rem 2rem 3rem}}.btn{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s ease-in-out;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--brand-primary), var(--brand-dark));color:#fff;box-shadow:0 4px 14px var(--brand-glow)}.btn-primary:hover{filter:brightness(1.1);box-shadow:0 6px 20px var(--brand-glow);transform:translateY(-1px)}.btn-secondary{color:var(--text-main);border:1px solid var(--border-subtle);background:#ffffff0f}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3}.btn-gold{background:linear-gradient(135deg, var(--token-gold), #d97706);color:#fff;box-shadow:0 4px 14px var(--token-glow)}.btn-gold:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-danger{color:var(--status-danger);background:#ef444426;border:1px solid #ef44444d}.btn-danger:hover{background:#ef444440}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-solicitado{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.badge-asignado{color:#a78bfa;background:#8b5cf626;border:1px solid #8b5cf64d}.badge-presupuesto,.badge-presupuestopendiente{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.badge-presupuestoaprobado{color:#34d399;background:#10b98133;border:1px solid #10b98166}.badge-ejecucion,.badge-enejecucion{color:#22d3ee;background:#06b6d426;border:1px solid #06b6d44d}.badge-pendienteconformidad{color:#c084fc;background:#a855f726;border:1px solid #a855f74d}.badge-garantia,.badge-garantiaactiva{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.badge-finalizado{color:#9ca3af;background:#6b728033;border:1px solid #6b72804d}.badge-cancelado{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.form-label{color:var(--text-muted);font-size:.85rem;font-weight:600}.form-control{box-sizing:border-box;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;max-width:100%;color:var(--text-main);background:#0b0f19cc;outline:none;padding:.65rem .9rem;font-size:.92rem;transition:all .2s}.form-control:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-glow)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);background:#111827;border:1px solid #ffffff1f;width:100%;max-width:520px;max-height:90vh;padding:1.5rem;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto;box-shadow:0 20px 40px #0009}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-pulse-subtle{animation:2s ease-in-out infinite pulseSubtle}@keyframes pulseSubtle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--border-subtle);border-top-color:var(--brand-primary);border-radius:50%;width:32px;height:32px;animation:.75s linear infinite spin}.desktop-only{display:flex!important}.mobile-only{display:none!important}html,body,#root{position:relative;width:100%!important;max-width:100%!important;overflow-x:hidden!important}@media (width<=768px){.desktop-only{display:none!important}.mobile-only,.mobile-nav-visible{display:flex!important}.app-container{padding-left:.85rem!important;padding-right:.85rem!important;padding-bottom:calc(5.5rem + var(--safe-bottom))!important}.glass-panel{border-radius:var(--radius-sm)!important;padding:1rem!important}.modal-overlay{align-items:stretch!important;padding:0!important;overflow-x:hidden!important}.modal-content{-webkit-overflow-scrolling:touch;width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;padding:1.25rem 1rem calc(1.5rem + var(--safe-bottom)) 1rem!important;box-sizing:border-box!important;border:none!important;border-radius:0!important;flex-direction:column!important;display:flex!important;overflow:hidden auto!important}.modal-close-x-btn{display:none!important}.btn{text-align:center;word-break:break-word;max-width:100%;white-space:normal!important}.card-actions-wrapper{flex-direction:column!important;gap:.5rem!important;width:100%!important;display:flex!important}.card-actions-wrapper .btn{width:100%!important}.client-solicitar-btn-container{justify-content:center!important;width:100%!important;margin-top:.5rem!important;display:flex!important}.card-provider-badge-container{justify-content:center!important;width:100%!important;margin-top:.35rem!important;display:flex!important}.desktop-text{display:none!important}.mobile-text{justify-content:center!important;align-items:center!important;display:inline-flex!important}.admin-main-tabs-container{justify-content:center!important;width:100%!important}.admin-tariff-header{text-align:center!important;justify-content:center!important}.admin-tariff-header h3{justify-content:center!important}.admin-tariff-header-actions{justify-content:center!important;width:100%!important}.cat-filter-all-btn{display:none!important}.admin-task-filters-container{justify-content:center!important}.admin-task-cat-filters{justify-content:center!important;width:100%!important}.col-category{display:none!important}.supervision-status-filters{flex-wrap:wrap!important;justify-content:center!important;gap:.35rem!important;width:100%!important;display:flex!important}.status-filter-all-btn{display:none!important}.supervision-status-btn{text-align:center!important;white-space:nowrap!important;box-sizing:border-box!important;flex:calc(50% - .4rem)!important;max-width:calc(50% - .2rem)!important;padding:.4rem .25rem!important;font-size:.73rem!important}.category-action-buttons{gap:.5rem!important;width:100%!important;display:flex!important}.category-action-buttons .btn{text-align:center!important;flex:1!important}.supervision-actions-cell{flex-wrap:nowrap!important;justify-content:flex-end!important;align-items:center!important;gap:.5rem!important;display:inline-flex!important}.supervision-action-btn{text-align:center!important;border-radius:var(--radius-sm)!important;box-sizing:border-box!important;justify-content:center!important;align-items:center!important;min-width:50px!important;height:38px!important;padding:.45rem .85rem!important;display:inline-flex!important}}.desktop-text{align-items:center;gap:.3rem;display:inline-flex}.mobile-text{display:none!important}.phone-split-container{flex-direction:column;gap:.3rem;width:100%;display:flex}.phone-split-box{background:#ffffff0d;border:1.5px solid #ffffff29;border-radius:10px;align-items:center;gap:.45rem;padding:.4rem .6rem;transition:all .2s;display:flex}.phone-split-box.has-error{border-color:#ef4444;box-shadow:0 0 0 2px #ef444433}.phone-split-box.is-valid{border-color:#10b981;box-shadow:0 0 0 1px #10b98140}.phone-split-badge{color:#10b981;-webkit-user-select:none;user-select:none;background:#10b9811f;border:1px solid #10b9814d;border-radius:6px;flex-shrink:0;align-items:center;gap:.3rem;padding:.45rem .65rem;font-size:.9rem;font-weight:700;display:inline-flex}.phone-split-input-area{text-align:center;width:68px;color:var(--text-main,#fff);letter-spacing:.04em;font-variant-numeric:tabular-nums;box-sizing:border-box;background:#ffffff14;border:1px solid #fff3;border-radius:6px;outline:none;padding:.45rem .35rem;font-size:.95rem;font-weight:600}.phone-split-input-area:focus{border-color:var(--brand-primary)}.phone-split-input-number{min-width:100px;color:var(--text-main,#fff);letter-spacing:.04em;font-variant-numeric:tabular-nums;box-sizing:border-box;background:#ffffff14;border:1px solid #fff3;border-radius:6px;outline:none;flex:1;padding:.45rem .6rem;font-size:.95rem;font-weight:600}.phone-split-input-number:focus{border-color:var(--brand-primary)}.phone-split-counter{color:var(--text-dim,#94a3b8);white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:.2rem;padding:0 .3rem;font-size:.74rem;font-weight:600;display:flex}.phone-split-counter.is-valid{color:#10b981}.phone-split-message{color:var(--text-dim,#94a3b8);align-items:center;gap:.3rem;margin-top:.1rem;font-size:.73rem;display:flex}.phone-split-message.has-error{color:#ef4444}.phone-split-message.is-valid{color:#10b981}.client-profile-modal-content{flex-direction:column;width:95%;max-width:820px;max-height:90vh;display:flex}.client-profile-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.85rem;display:flex}.client-profile-avatar-icon{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.client-profile-header-info{flex:1;min-width:0}.client-profile-title{margin:0;font-size:1.25rem;font-weight:700}.client-profile-subtitle{color:var(--text-muted);font-size:.8rem}.client-profile-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding-right:.25rem;overflow-y:auto}.client-profile-section-title{color:#34d399;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1rem;display:flex}.client-profile-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.client-profile-field-label{color:var(--text-muted);font-size:.75rem;display:block}.client-profile-field-value{word-break:break-word;font-size:1.05rem}.client-profile-phone-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.2rem;display:flex}.client-profile-phone-form{flex-direction:column;gap:.5rem;max-width:420px;margin-top:.25rem;display:flex}.client-profile-plan-box{border-left:4px solid #10b981;padding:1.25rem}.client-profile-plan-title{font-size:1rem;font-weight:600}.client-profile-plan-desc{color:var(--text-muted);margin-top:.2rem;font-size:.85rem}.client-profile-plan-tokens{color:#34d399;font-size:1.35rem}.client-profile-address-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1.1rem;display:flex}.client-profile-address-card.approved{border-left:4px solid #10b981}.client-profile-address-card.pending{border-left:4px solid #f59e0b}.client-profile-address-card.rejected{border-left:4px solid #ef4444}.client-profile-badge-primary{color:#34d399;background:#10b98133;border-radius:4px;padding:.1rem .4rem;font-size:.7rem}.client-profile-badge-approved{color:#10b981;align-items:center;gap:.25rem;font-size:.75rem;display:inline-flex}.client-profile-badge-pending{color:#f59e0b;background:#f59e0b26;border-radius:4px;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.75rem;display:inline-flex}.client-profile-badge-rejected{color:#ef4444;background:#ef444426;border-radius:4px;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.75rem;display:inline-flex}.client-profile-actions{gap:.5rem;display:flex}.client-profile-action-btn{align-items:center;gap:.25rem;padding:.35rem .65rem;font-size:.8rem;display:inline-flex}.client-profile-delete-btn{color:#ef4444;align-items:center;gap:.25rem;padding:.35rem .65rem;font-size:.8rem;display:inline-flex}.client-profile-alert-box{color:#fbbf24;background:#f59e0b1a;border:1px solid #f59e0b40;border-radius:6px;margin-top:.75rem;padding:.75rem;font-size:.8rem}.client-profile-footer{border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:flex-end;width:100%;margin-top:.5rem;padding-top:.85rem;display:flex}.client-profile-back-btn{width:100%;padding:.8rem;font-size:1rem;font-weight:700}.provider-profile-modal-dialog{flex-direction:column;width:95%;max-width:820px;max-height:90vh;display:flex}.provider-profile-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.85rem;display:flex}.provider-profile-header-icon{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.provider-profile-header-title{margin:0;font-size:1.25rem;font-weight:700}.provider-profile-header-meta{color:var(--text-muted);font-size:.8rem}.provider-profile-body{flex:1;padding-right:.25rem;overflow-y:auto}.provider-profile-loading,.provider-profile-error{text-align:center;padding:3rem}.provider-profile-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.provider-profile-card-title{color:#60a5fa;align-items:center;gap:.5rem;font-size:1rem;display:flex}.provider-profile-edit-btn{align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.8rem;display:inline-flex}.provider-profile-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.provider-profile-field-label{color:var(--text-muted);font-size:.75rem;display:block}.provider-profile-field-value{word-break:break-word;font-size:1.05rem}.provider-profile-field-row{align-items:center;gap:.4rem;margin-top:.2rem;display:flex}.provider-profile-categories-list{flex-wrap:wrap;gap:.4rem;display:flex}.provider-profile-category-tag{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d;border-radius:4px;padding:.2rem .6rem;font-size:.8rem;font-weight:600}.provider-profile-reputation-row{align-items:center;gap:1rem;display:flex}.provider-profile-rating-badge{align-items:center;gap:.35rem;font-size:1.1rem;font-weight:700;display:flex}.provider-profile-verified-badge{color:#10b981;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;display:flex}.provider-profile-earnings-summary{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.provider-profile-earnings-card-left{border-left:4px solid #10b981;padding:1.25rem}.provider-profile-earnings-card-right{border-left:4px solid #3b82f6;padding:1.25rem}.provider-profile-earning-amount{font-size:1.5rem;display:block}.provider-profile-earning-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1.1rem;display:flex}.provider-profile-earning-card.confirmed{border-left:4px solid #10b981}.provider-profile-earning-card.pending{border-left:4px solid #f59e0b}.provider-profile-footer{border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:flex-end;width:100%;margin-top:.5rem;padding-top:.85rem;display:flex}.provider-profile-footer-btn{width:100%;padding:.8rem;font-size:1rem;font-weight:700}.change-password-backdrop{-webkit-backdrop-filter:blur(8px);z-index:9999;background-color:#000000bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.change-password-dialog{border:1px solid var(--border-subtle);background:#0f172af2;border-radius:16px;width:100%;max-width:460px;padding:2rem;position:relative;box-shadow:0 25px 50px -12px #00000080}.change-password-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;transition:color .15s;display:flex;position:absolute;top:1rem;right:1rem}.change-password-close-btn:hover{color:var(--text-main)}.change-password-header{text-align:center;margin-bottom:1.5rem}.change-password-icon-box{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto .75rem;display:flex}.change-password-icon-box.success{color:#34d399;background:#10b98126}.change-password-icon-box.default{color:#60a5fa;background:#3b82f626}.change-password-title{letter-spacing:-.02em;margin:0 0 .4rem;font-size:1.35rem;font-weight:800}.change-password-subtitle{color:var(--text-muted);margin:0;font-size:.85rem}.change-password-error{color:#f87171;background:#ef44441f;border:1px solid #ef444459;border-radius:8px;align-items:center;gap:.45rem;margin-bottom:1rem;padding:.65rem .85rem;font-size:.83rem;display:flex}.change-password-form{flex-direction:column;gap:1rem;display:flex}.change-password-input{border-radius:8px;width:100%;padding:.7rem .85rem;font-size:.92rem}.change-password-input.mismatch{border-color:#ef4444}.change-password-input.match{border-color:#10b981}.change-password-error-hint{color:#ef4444;margin-top:.2rem;font-size:.75rem;display:block}.change-password-submit-btn{width:100%;margin-top:.5rem;padding:.75rem;font-size:.95rem;font-weight:700}.change-password-code-group{text-align:center}.change-password-code-label{margin-bottom:.5rem;font-size:.85rem;display:block}.change-password-code-input{text-align:center;letter-spacing:.3em;border-radius:8px;padding:.75rem;font-size:1.6rem;font-weight:800}.change-password-dev-code{color:#34d399;margin-top:.4rem;font-size:.75rem}.change-password-back-btn{color:var(--text-muted);cursor:pointer;text-align:center;background:0 0;border:none;font-size:.8rem;text-decoration:underline}.change-password-success-wrapper{text-align:center;padding:1rem 0}.change-password-success-box{color:#34d399;background:#10b98126;border-radius:8px;margin-bottom:1rem;padding:1rem;font-size:.95rem;font-weight:600}.tracking-modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:10000;background-color:#000000c7;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.tracking-modal-dialog{background:linear-gradient(135deg,#0f172afa,#020617f5);border:1px solid #3b82f659;border-radius:16px;flex-direction:column;width:100%;max-width:680px;max-height:92vh;display:flex;overflow:hidden;box-shadow:0 25px 60px -15px #000000e6,0 0 40px #3b82f633}.tracking-modal-header{border-bottom:1px solid var(--border-subtle);background:linear-gradient(90deg,#3b82f61f,#0000);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.tracking-modal-header-info{align-items:center;gap:.75rem;display:flex}.tracking-modal-header-icon{background:#3b82f633;border:1px solid #3b82f666;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.tracking-modal-header-title{color:#fff;margin:0;font-size:1.1rem;font-weight:700}.tracking-modal-header-subtitle{color:var(--text-muted);margin:0;font-size:.8rem}.tracking-modal-close-btn{border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;background:#ffffff0d;border-radius:8px;justify-content:center;align-items:center;padding:.45rem;transition:all .15s;display:flex}.tracking-modal-close-btn:hover{color:#fff;background:#ffffff1a}.tracking-modal-body{flex-direction:column;flex:1;gap:1rem;padding:1.25rem;display:flex;overflow-y:auto}.tracking-modal-expired{text-align:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:12px;flex-direction:column;align-items:center;gap:.85rem;padding:2rem 1.5rem;display:flex}.tracking-modal-expired-icon{color:#f87171;background:#ef444426;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.tracking-modal-expired-title{color:#fca5a5;margin:0;font-size:1.05rem;font-weight:700}.tracking-modal-expired-text{color:var(--text-muted);max-width:440px;margin:0;font-size:.85rem;line-height:1.5}.tracking-modal-status-bar{background:#10b9811a;border:1px solid #10b9814d;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.tracking-modal-status-left{align-items:center;gap:.5rem;display:flex}.tracking-modal-pulse-dot{background:#10b981;border-radius:50%;width:10px;height:10px;display:inline-block;box-shadow:0 0 10px #10b981}.tracking-modal-status-text{color:#34d399;font-size:.85rem;font-weight:700}.tracking-modal-timer-badge{color:#a7f3d0;background:#10b9812e;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .65rem;font-size:.8rem;font-weight:600;display:flex}.tracking-modal-map-container{background-color:#0f172a;border:1px solid #3b82f64d;border-radius:12px;height:280px;position:relative;overflow:hidden}.tracking-modal-loading{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;height:100%;display:flex}.tracking-modal-loading-text{color:var(--text-muted);font-size:.82rem}.tracking-modal-overlay-provider{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#93c5fd;background:#0f172ae0;border:1px solid #3b82f666;border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.75rem;font-weight:600;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 4px 12px #0006}.tracking-modal-overlay-dest{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border-subtle);color:var(--text-muted);background:#0f172aeb;border-radius:8px;justify-content:space-between;align-items:center;padding:.5rem .85rem;font-size:.75rem;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.tracking-modal-dest-text{align-items:center;gap:.35rem;min-width:0;display:flex}.tracking-modal-dest-ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tracking-modal-refresh-btn{color:#60a5fa;cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:.25rem;padding:.2rem;font-size:.72rem;font-weight:600;transition:color .15s;display:flex}.tracking-modal-refresh-btn:hover{color:#93c5fd}.tracking-modal-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;display:grid}.tracking-modal-card{border:1px solid var(--border-subtle);background:#ffffff08;border-radius:10px;flex-direction:column;gap:.4rem;padding:.85rem;display:flex}.tracking-modal-card-centered{border:1px solid var(--border-subtle);background:#ffffff08;border-radius:10px;flex-direction:column;justify-content:center;gap:.5rem;padding:.85rem;display:flex}.tracking-modal-card-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:.72rem}.tracking-modal-provider-row{align-items:center;gap:.5rem;display:flex}.tracking-modal-avatar{color:#60a5fa;background:#3b82f633;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.tracking-modal-provider-name{color:var(--text-main);font-size:.9rem;font-weight:700}.tracking-modal-verified-tag{color:#34d399;align-items:center;gap:.25rem;font-size:.75rem;display:flex}.tracking-modal-nav-links{flex-wrap:wrap;gap:.5rem;display:flex}.tracking-modal-nav-btn{flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .65rem;font-size:.75rem;text-decoration:none;display:flex}.tracking-modal-error{color:#f87171;background:#ef44441a;border:1px solid #ef444440;border-radius:8px;align-items:center;gap:.4rem;padding:.6rem .85rem;font-size:.78rem;display:flex}.tracking-modal-footer{border-top:1px solid var(--border-subtle);color:var(--text-dim);background:#0003;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;font-size:.75rem;display:flex}.tracking-modal-footer-btn{padding:.4rem 1rem;font-size:.78rem}.notifications-modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:9999;background-color:#000000bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.notifications-modal-dialog{border:1px solid var(--border-subtle);background:#0f172afa;border-radius:16px;flex-direction:column;width:100%;max-width:560px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #000000b3}.notifications-modal-header{border-bottom:1px solid var(--border-subtle);background:#00000059;justify-content:space-between;align-items:center;padding:1.1rem 1.25rem;display:flex}.notifications-modal-header-left{align-items:center;gap:.65rem;display:flex}.notifications-header-icon{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.notifications-header-title-row{align-items:center;gap:.5rem;display:flex}.notifications-modal-header-title{color:var(--text-main);margin:0;font-size:1.05rem;font-weight:800}.notifications-header-badge{color:#fff;background:#ef4444;border-radius:999px;padding:.1rem .5rem;font-size:.7rem;font-weight:800}.notifications-header-subtitle{color:var(--text-muted);margin:.15rem 0 0;font-size:.74rem}.notifications-modal-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.4rem;transition:background .2s,color .2s;display:flex}.notifications-modal-close-btn:hover{color:var(--text-main);background:#ffffff0d}.notifications-push-banner{color:#fde68a;background:#f59e0b1a;border-bottom:1px solid #f59e0b40;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.78rem;display:flex}.notifications-push-banner-text{align-items:center;gap:.5rem;display:flex}.notifications-push-banner-btn{background:#d97706;border-color:#f59e0b;flex-shrink:0;padding:.25rem .65rem;font-size:.74rem}.notifications-toolbar{border-bottom:1px solid var(--border-subtle);background:#0003;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex}.notifications-filter-group{gap:.4rem;display:flex}.notifications-filter-btn{color:var(--text-muted);border:1px solid var(--border-subtle);cursor:pointer;background:#ffffff0d;border-radius:6px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.75rem;font-weight:600;transition:all .15s;display:flex}.notifications-filter-btn.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-light)}.notifications-filter-badge{color:#fff;background:#ef4444;border-radius:999px;padding:.05rem .35rem;font-size:.68rem;font-weight:800}.notifications-mark-all-btn{color:var(--brand-light);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.25rem;font-size:.75rem;font-weight:600;transition:opacity .15s;display:flex}.notifications-mark-all-btn:hover{opacity:.85}.notifications-list{flex-direction:column;flex:1;gap:.5rem;padding:.75rem;display:flex;overflow-y:auto}.notifications-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1.5rem;display:flex}.notifications-empty-icon{border:1px solid var(--border-subtle);width:48px;height:48px;color:var(--text-muted);background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.notifications-empty-title{color:var(--text-main);margin:0 0 .35rem;font-size:.95rem;font-weight:700}.notifications-empty-text{color:var(--text-muted);max-width:320px;margin:0;font-size:.8rem;line-height:1.45}.notification-item-card{border-radius:10px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.85rem;transition:all .2s;display:flex}.notification-item-card.unread{background:#3b82f614;border:1px solid #3b82f64d}.notification-item-card.read{border:1px solid var(--border-subtle);background:#ffffff05}.notification-item-main{flex:1;align-items:flex-start;gap:.65rem;min-width:0;display:flex}.notification-dot-wrapper{flex-shrink:0;margin-top:.35rem}.notification-unread-dot{background:#3b82f6;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #3b82f6}.notification-read-dot{background:#fff3;border-radius:50%;width:8px;height:8px}.notification-content{flex:1;min-width:0}.notification-meta-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.notification-badge{border-radius:999px;padding:.1rem .45rem;font-size:.68rem;font-weight:700}.notification-time-text{color:var(--text-dim);align-items:center;gap:.25rem;font-size:.7rem;display:flex}.notification-title-text{font-size:.88rem;line-height:1.3}.notification-title-text.unread{color:var(--text-main);font-weight:700}.notification-title-text.read{color:var(--text-dim);font-weight:500}.notification-message-text{color:var(--text-muted);margin-top:.25rem;font-size:.78rem;line-height:1.4}.notification-tracking-action{margin-top:.65rem}.notification-tracking-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981,#059669);border:1px solid #34d39966;border-radius:8px;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.78rem;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 2px 10px #10b9814d}.notification-tracking-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #10b98166}.notification-tracking-badge{opacity:.9;background:#00000040;border-radius:4px;padding:.1rem .4rem;font-size:.7rem}.notification-detail-action{margin-top:.5rem}.notification-detail-link-btn{color:var(--brand-light);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:0;font-size:.75rem;font-weight:600;transition:opacity .15s;display:inline-flex}.notification-detail-link-btn:hover{opacity:.85}.notification-toggle-btn{cursor:pointer;border-radius:6px;flex-shrink:0;align-items:center;gap:.3rem;padding:.3rem .55rem;font-size:.7rem;font-weight:600;transition:all .15s;display:flex}.notification-toggle-btn.unread{color:#93c5fd;background:#3b82f633;border:1px solid #3b82f666}.notification-toggle-btn.read{border:1px solid var(--border-subtle);color:var(--text-muted);background:#ffffff0d}.notifications-modal-footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);background:#0000004d;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;font-size:.76rem;display:flex}.notifications-close-footer-btn{padding:.35rem .85rem;font-size:.78rem}.mobile-user-menu-overlay{z-index:9999;width:100vw;height:100vh;padding:1.25rem 1rem calc(1.5rem + var(--safe-bottom)) 1rem;box-sizing:border-box;background-color:#0b0f19;flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.mobile-user-menu-header{border-bottom:1px solid var(--border-subtle);justify-content:center;align-items:center;margin-bottom:1.25rem;padding-bottom:.85rem;display:flex}.mobile-user-menu-title{text-align:center;margin:0;font-size:1.2rem;font-weight:700}.mobile-user-menu-profile-card{align-items:center;gap:.85rem;margin-bottom:1.25rem;padding:1rem;display:flex}.mobile-user-menu-avatar{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.2rem;font-weight:800;display:flex}.mobile-user-menu-profile-info{flex:1;min-width:0}.mobile-user-menu-profile-name{word-break:break-all;font-size:1rem;font-weight:700}.mobile-user-menu-profile-email{color:var(--text-muted);word-break:break-all;font-size:.8rem}.mobile-user-menu-profile-role{margin-top:.2rem;font-size:.75rem;font-weight:600}.mobile-user-menu-profile-role.admin{color:#f59e0b}.mobile-user-menu-profile-role.provider{color:#60a5fa}.mobile-user-menu-profile-role.client{color:#34d399}.mobile-user-menu-options{flex-direction:column;flex:1;gap:.75rem;display:flex}.mobile-user-menu-btn{color:#fff;text-align:left;cursor:pointer;background:0 0;border:1px solid #ffffff1a;align-items:center;gap:.85rem;width:100%;padding:1rem;transition:transform .15s,background-color .15s;display:flex}.mobile-user-menu-btn:active{transform:scale(.98)}.mobile-user-menu-btn.notifications{background:#f59e0b14;border:1px solid #f59e0b4d;justify-content:space-between}.mobile-user-menu-btn.notifications.has-unread{background:#ef44441a;border:1px solid #ef444466}.mobile-user-menu-btn.password{background:#3b82f614;border:1px solid #3b82f64d}.mobile-user-menu-btn.logout{color:#ef4444;background:#ef444414;border:1px solid #ef44444d}.mobile-user-menu-icon-box{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.mobile-user-menu-icon-box.green{background:#10b98126}.mobile-user-menu-icon-box.blue{background:#3b82f626}.mobile-user-menu-icon-box.amber{background:#f59e0b26}.mobile-user-menu-icon-box.red{background:#ef444433}.mobile-user-menu-btn-content{flex:1;min-width:0}.mobile-user-menu-btn-title{font-size:.95rem;font-weight:700}.mobile-user-menu-btn-desc{color:var(--text-muted);font-size:.75rem}.mobile-user-menu-badge{color:#fff;background:#ef4444;border-radius:999px;flex-shrink:0;padding:.2rem .6rem;font-size:.75rem;font-weight:800;box-shadow:0 2px 8px #ef444466}.mobile-user-menu-back-btn{border:1px solid var(--border-subtle);width:100%;margin-top:1.25rem;padding:.85rem;font-size:1rem;font-weight:700}.desktop-user-menu-dropdown{border:1px solid var(--border-subtle);z-index:200;background:#1e293b;border-radius:8px;flex-direction:column;gap:.25rem;width:260px;padding:.5rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 10px 25px #00000080}.desktop-user-menu-header{border-bottom:1px solid #ffffff14;margin-bottom:.25rem;padding:.5rem .75rem}.desktop-user-menu-label{color:var(--text-muted);font-size:.75rem;display:block}.desktop-user-menu-email{color:var(--text-main);word-break:break-all;font-size:.85rem}.desktop-user-menu-item{color:#fff;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.6rem;width:100%;padding:.5rem .75rem;font-size:.85rem;transition:background-color .15s;display:flex}.desktop-user-menu-item:hover{background-color:#ffffff0f}.desktop-user-menu-item.notifications{justify-content:space-between;margin-bottom:.2rem}.desktop-user-menu-item.notifications.has-unread{background:#ef444414;border:1px solid #ef444433}.desktop-user-menu-item.danger{color:#ef4444}.desktop-user-menu-item.danger:hover{background-color:#ef44441f}.desktop-user-menu-item-text{flex:1;min-width:0}.desktop-user-menu-item-title{font-weight:600}.desktop-user-menu-item-desc{color:var(--text-muted);font-size:.7rem}.desktop-user-menu-badge{color:#fff;background:#ef4444;border-radius:999px;flex-shrink:0;padding:.15rem .45rem;font-size:.7rem;font-weight:800}.desktop-user-menu-divider{border-top:1px solid #ffffff14;margin-top:.25rem;padding-top:.25rem}.app-main-header{box-sizing:border-box;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);z-index:1000;background-color:#0b0f19f2;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin:0;padding:.65rem 1rem;display:flex;position:fixed;top:0;left:0;right:0}.header-brand{align-items:center;gap:.75rem;display:flex}.header-logo-img{object-fit:contain;border-radius:10px;flex-shrink:0;width:38px;height:38px;box-shadow:0 4px 12px #10b98140}.header-brand-text{flex-direction:column}.header-brand-title{letter-spacing:-.02em;align-items:center;gap:.4rem;font-size:1.15rem;font-weight:800;line-height:1.1;display:flex}.header-brand-badge{color:#34d399;background:#10b98126;border:1px solid #10b9814d;border-radius:4px;padding:.15rem .4rem;font-size:.65rem}.header-brand-subtitle{color:var(--text-muted);font-size:.7rem}.header-api-badge{border:1px solid var(--border-subtle);background:#0000004d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:.45rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.header-bell-btn{border:1px solid var(--border-subtle);cursor:pointer;color:var(--text-main);background:#ffffff0d;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;padding:.45rem;transition:all .2s;display:flex;position:relative}.header-bell-btn.has-unread{color:#ef4444;background:#ef44441f;border-color:#ef444466}.header-bell-badge{color:#fff;background:#ef4444;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;font-weight:800;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 6px #ef444480}.header-user-btn{border:1px solid var(--border-subtle);cursor:pointer;color:var(--text-main);background:#ffffff0d;border-radius:8px;align-items:center;gap:.5rem;padding:.35rem .65rem;transition:background .2s;display:flex;position:relative}.header-user-btn.has-unread{border-color:#ef444466}.header-user-avatar{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:700;display:flex;position:relative}.header-user-unread-dot{background:#ef4444;border:2px solid #0b0f19;border-radius:50%;width:10px;height:10px;position:absolute;top:-2px;right:-2px}.header-user-info{text-align:left;flex-direction:column;line-height:1.2}.header-user-name{font-size:.85rem;font-weight:600}.header-user-role{color:var(--brand-light);font-size:.72rem}.header-chevron{transition:transform .2s}.header-chevron.open{transform:rotate(180deg)}.mobile-nav-container{-webkit-backdrop-filter:blur(20px);width:100%;padding:.45rem .5rem calc(.45rem + var(--safe-bottom)) .5rem;z-index:900;box-sizing:border-box;background-color:#0b0f19f5;border-top:1px solid #ffffff1a;justify-content:space-around;align-items:center;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 25px #0009}.mobile-nav-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:.2rem;padding:.25rem .4rem;font-size:.72rem;font-weight:600;transition:opacity .15s,transform .15s;display:flex}.mobile-nav-btn:hover{opacity:.85}.mobile-nav-btn:active{transform:scale(.95)}.mobile-nav-btn.pad-wide{padding:.25rem .6rem}.mobile-nav-btn.brand{color:var(--brand-primary)}.mobile-nav-btn.gold{color:var(--token-gold)}.mobile-nav-btn.blue{color:#3b82f6}.mobile-nav-btn.light-blue{color:#60a5fa}.mobile-nav-btn.green{color:#10b981}.mobile-nav-btn.amber{color:#f59e0b}.mobile-nav-btn.muted{color:var(--text-muted)}.mobile-nav-btn-highlight{color:#fff;background:linear-gradient(135deg, var(--brand-primary), var(--brand-dark));border-radius:var(--radius-full);box-shadow:0 4px 12px var(--brand-glow);cursor:pointer;border:none;flex-direction:column;align-items:center;gap:.2rem;padding:.45rem .85rem;font-size:.74rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex;transform:translateY(-6px)}.mobile-nav-btn-highlight:active{transform:translateY(-4px)scale(.97)}.error-boundary-card{border-radius:var(--radius-md);text-align:center;-webkit-backdrop-filter:blur(12px);background:#ef444414;border:1px solid #ef44444d;max-width:600px;margin:2rem auto;padding:2.5rem 1.5rem}.error-boundary-icon-wrapper{background:#ef444426;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1rem;display:flex}.error-boundary-title{color:#fca5a5;margin-bottom:.5rem;font-size:1.25rem}.error-boundary-message{color:var(--text-muted);margin-bottom:1.25rem;font-size:.88rem}.error-boundary-details{color:#f87171;border-radius:var(--radius-sm);text-align:left;background:#0006;margin-bottom:1.25rem;padding:.75rem;font-size:.75rem;overflow-x:auto}.error-boundary-retry-btn{align-items:center;gap:.5rem;margin:0 auto;display:inline-flex}.login-view-container{justify-content:center;align-items:center;min-height:80vh;padding:1.5rem;display:flex}.login-view-card{border:1px solid #ffffff1a;border-radius:16px;width:100%;max-width:480px;padding:2.5rem 2rem;transition:max-width .2s;box-shadow:0 20px 50px #0009}.login-view-card.wide{max-width:540px}.login-view-logo{object-fit:contain;border-radius:16px;width:64px;height:64px;margin:0 auto 1rem;display:block;box-shadow:0 8px 24px #10b98159}.login-view-title{letter-spacing:-.02em;margin:0;font-size:1.6rem;font-weight:700}.login-view-subtitle{color:var(--text-muted);margin-top:.4rem;font-size:.88rem}.login-view-tabs{background:#0000004d;border-radius:8px;margin-bottom:1.5rem;padding:.25rem;display:flex}.login-view-tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:.6rem;font-size:.88rem;font-weight:600;transition:all .2s}.login-view-tab-btn.active{background:var(--brand-primary);color:#fff;box-shadow:0 2px 8px var(--brand-glow)}.login-view-google-container{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.login-view-google-divider{color:var(--text-dim);align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.8rem;display:flex}.login-view-google-divider:before,.login-view-google-divider:after{content:"";background:var(--border-subtle);flex:1;height:1px}.login-view-role-selector{gap:.5rem;margin-bottom:1.25rem;display:flex}.login-view-role-btn{border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;background:#ffffff08;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.88rem;font-weight:600;transition:all .2s;display:flex}.login-view-role-btn:hover{color:var(--text-main);background:#ffffff0f}.login-view-role-btn.active{border-color:var(--brand-primary);color:var(--brand-light);background:#10b9811f}.login-view-error-box{color:#f87171;background:#ef44441f;border:1px solid #ef444459;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.login-view-success-box{color:#34d399;background:#10b9811f;border:1px solid #10b98159;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.85rem 1rem;font-size:.9rem;font-weight:600;display:flex}.login-view-info-box{color:var(--text-muted);background:#3b82f614;border:1px solid #3b82f640;border-radius:10px;margin-bottom:1.25rem;padding:1rem;font-size:.85rem}.login-view-submit-btn{justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.5rem;padding:.85rem;font-size:1rem;font-weight:700;display:flex}.login-view-categories-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem;margin-top:.5rem;display:grid}.login-view-category-btn{border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:8px;align-items:center;gap:.4rem;padding:.6rem .75rem;font-size:.82rem;font-weight:600;transition:all .15s;display:flex}.login-view-category-btn:hover{color:var(--text-main);background:#ffffff14}.login-view-category-btn.active{color:#34d399;background:#10b98126;border-color:#10b981}.login-view-legal-footer{color:var(--text-dim);text-align:center;border-top:1px solid #ffffff14;margin-top:1.5rem;padding-top:1rem;font-size:.76rem}.login-view-legal-link{color:var(--brand-light);cursor:pointer;text-decoration:underline;transition:color .15s}.login-view-legal-link:hover{color:#fff}.login-view-otp-icon-wrap{color:#34d399;background:#34d39926;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 1rem;display:flex}.login-view-otp-input{text-align:center;letter-spacing:.35em;border:1px solid var(--border-subtle);color:#fff;background:#0000004d;border-radius:8px;width:100%;padding:.75rem;font-size:1.8rem;font-weight:800}.login-view-otp-resend-row{gap:.5rem;margin-top:.25rem;display:flex}.login-view-otp-resend-btn{border:1px solid var(--border-subtle);cursor:pointer;background:#ffffff0d;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.3rem;padding:.5rem;font-size:.75rem;transition:all .15s;display:flex}.login-view-otp-resend-btn.whatsapp{color:#34d399}.login-view-otp-resend-btn.email{color:#93c5fd}.login-view-otp-back-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-top:.75rem;font-size:.8rem;text-decoration:underline}.login-view-form-grid-2{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.login-view-form-grid-3{grid-template-columns:2fr 1fr 1fr;gap:.65rem;display:grid}.login-view-sublabel{color:var(--text-muted);margin-bottom:.2rem;font-size:.75rem;display:block}.login-view-input-custom{border-radius:8px;width:100%;padding:.75rem .85rem;font-size:.95rem}.app-container{flex-direction:column;width:100%;min-height:100vh;display:flex;overflow-x:hidden}.app-main-wrapper{width:100%;max-width:1240px;padding:4.75rem 1rem calc(5.5rem + var(--safe-bottom)) 1rem;box-sizing:border-box;flex-direction:column;flex:1;gap:1.25rem;min-width:0;margin:0 auto;display:flex;overflow-x:hidden}.app-main-content{flex:1;width:100%;min-width:0}.app-loading-fallback{flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;min-height:60vh;display:flex}.app-loading-text{color:var(--text-muted);font-size:.9rem}.app-footer{border-top:1px solid var(--border-subtle);padding:2rem 1.5rem calc(2rem + var(--safe-bottom)) 1.5rem;-webkit-backdrop-filter:blur(10px);background-color:#0b0f19b3;margin-top:auto}.app-footer-inner{flex-direction:column;gap:1.5rem;max-width:1280px;margin:0 auto;display:flex}.app-footer-legal-row{color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;font-size:.8rem;display:flex}.app-footer-links{flex-wrap:wrap;gap:1.25rem;display:flex}.app-footer-link{color:var(--text-muted);text-decoration:none;transition:color .15s}.app-footer-link:hover{color:var(--text-main)}.app-footer-link.active{color:#34d399}
