:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--admin-sidebar-expanded-width: 260px;--admin-sidebar-collapsed-width: 72px;--admin-topbar-height: 65px}.admin-sidebar-backdrop{position:fixed;inset:0;background:#0f172a73;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:995;animation:fadeInBackdrop .25s ease-out}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.admin-sidebar{position:fixed;top:var(--admin-topbar-height);left:0;bottom:0;z-index:90;display:flex;flex-direction:column;background:#fffffff5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid rgba(0,128,255,.14);box-shadow:2px 0 16px #00000008;transition:width .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);overflow:hidden;-webkit-user-select:none;user-select:none}.admin-sidebar.expanded{width:var(--admin-sidebar-expanded-width)}.admin-sidebar.collapsed{width:var(--admin-sidebar-collapsed-width)}.admin-sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:1rem .5rem;display:flex;flex-direction:column;gap:.35rem}.admin-sidebar-nav::-webkit-scrollbar{width:4px}.admin-sidebar-nav::-webkit-scrollbar-thumb{background:#0080ff26;border-radius:4px}.admin-sidebar-nav::-webkit-scrollbar-thumb:hover{background:#0080ff4d}.admin-nav-group{display:flex;flex-direction:column}.admin-nav-item{display:flex;align-items:center;gap:.75rem;padding:.55rem .65rem;border-radius:8px;color:#475569;cursor:pointer;transition:all .2s ease;position:relative}.admin-sidebar.collapsed .admin-nav-item{justify-content:center;padding:.65rem 0;width:44px;margin:0 auto}.admin-nav-item:hover{background:#0080ff14;color:#0080ff}.admin-nav-item.active{background:linear-gradient(135deg,#0080ff24,#0080ff0f);color:#0080ff;font-weight:700;border:1px solid rgba(0,128,255,.2)}.admin-nav-icon-wrap{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:7px;background:#0080ff0d;color:inherit;flex-shrink:0;transition:all .2s ease}.admin-nav-item:hover .admin-nav-icon-wrap{background:#0080ff24;transform:scale(1.04)}.admin-nav-item.active .admin-nav-icon-wrap{background:#0080ff;color:#fff;box-shadow:0 2px 8px #0080ff59}.admin-nav-content{display:flex;flex-direction:column;flex:1;min-width:0}.admin-nav-title{font-size:.85rem;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.admin-nav-item.active .admin-nav-title{color:#0080ff}.admin-nav-description{font-size:.7rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.admin-nav-chevron-btn{background:transparent;border:none;color:#94a3b8;display:flex;align-items:center;justify-content:center;padding:4px;cursor:pointer;transition:transform .2s ease,color .2s ease;border-radius:4px}.admin-nav-chevron-btn:hover{color:#0080ff;background:#0080ff14}.admin-nav-chevron-btn.open{transform:rotate(180deg)}.admin-sublinks-container{display:flex;flex-direction:column;gap:2px;margin-top:4px;margin-bottom:6px;padding-left:2.2rem;border-left:1px dashed rgba(0,128,255,.2);margin-left:1.35rem;animation:slideDownSublinks .2s ease-out}@keyframes slideDownSublinks{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.admin-sublink{display:flex;align-items:center;gap:8px;background:transparent;border:none;padding:.35rem .6rem;border-radius:6px;font-size:.78rem;font-weight:500;color:#64748b;cursor:pointer;text-align:left;transition:all .15s ease;width:100%}.admin-sublink:hover{color:#0080ff;background:#0080ff0f;padding-left:.8rem}.admin-sublink.active{color:#0080ff;font-weight:700;background:#0080ff14}.sublink-dot{width:5px;height:5px;border-radius:50%;background:#94a3b8;flex-shrink:0;transition:all .15s ease}.admin-sublink:hover .sublink-dot{background:#0080ff;transform:scale(1.3)}.admin-sublink.active .sublink-dot{background:#0080ff;box-shadow:0 0 6px #0080ffcc}.sublink-dot.pulse{background:#10b981;box-shadow:0 0 6px #10b981;animation:pulseDot 2s infinite ease-in-out}.admin-sublink.action-sublink{color:#0284c7;font-weight:600}.admin-sublink.action-sublink:hover{color:#0080ff;background:#0080ff1a}.action-sublink-icon{color:#0080ff;flex-shrink:0}.quote-editing-indicator{background:#10b98114;border:1px dashed rgba(16,185,129,.3);color:#059669!important;font-weight:700}.admin-sidebar-footer{padding:.75rem .85rem;border-top:1px solid rgba(0,128,255,.1);background:#fff9;min-height:56px;display:flex;align-items:center}.sidebar-footer-inner{display:flex;flex-direction:column;gap:.6rem;width:100%}.sidebar-server-status{display:flex;align-items:center;gap:8px;padding:.3rem .5rem;background:#10b9810f;border:1px solid rgba(16,185,129,.2);border-radius:6px}.status-indicator-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 8px #10b981;animation:pulseDot 2s infinite ease-in-out;flex-shrink:0}.status-text-meta{display:flex;flex-direction:column;line-height:1.1}.status-title{font-size:.72rem;font-weight:700;color:#0f172a}.status-desc{font-size:.64rem;color:#10b981;font-weight:600}.sidebar-collapse-trigger-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:.52rem .85rem;border-radius:8px;background:#0080ff0d;border:1px solid rgba(0,128,255,.18);color:#0080ff;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s ease}.sidebar-collapse-trigger-btn:hover{background:#0080ff24;color:#0080ff;border-color:#0080ff;box-shadow:0 2px 8px #0080ff33}.sidebar-toggle-btn.collapsed-footer-toggle{margin:0 auto;width:42px;height:42px;border-radius:8px;background:#0080ff14;border:1px solid rgba(0,128,255,.2);color:#0080ff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.sidebar-toggle-btn.collapsed-footer-toggle:hover{background:#0080ff;color:#fff;border-color:#0080ff;box-shadow:0 2px 8px #0080ff59}.admin-sidebar.collapsed .admin-sidebar-nav{padding-top:1rem}@media(max-width:900px){.admin-sidebar{top:var(--admin-topbar-height);transform:translate(-100%);width:280px!important;box-shadow:4px 0 24px #00000026}.admin-sidebar.mobile-open{transform:translate(0)}}.observability-container{width:100%;color:#1e293b;display:flex;flex-direction:column;gap:1.5rem}.obs-toast{display:flex;align-items:center;gap:10px;padding:.85rem 1.25rem;border-radius:10px;font-size:.88rem;font-weight:600;animation:slideInDown .3s ease-out;box-shadow:0 4px 14px #00000014}.obs-toast.success{background:#10b9811f;border:1px solid rgba(16,185,129,.3);color:#065f46}.obs-toast.error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#991b1b}@keyframes slideInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.obs-header-bar{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.obs-title-group{display:flex;flex-direction:column;gap:.35rem}.obs-title-badge{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:800;letter-spacing:.08em;color:#0080ff}.obs-main-title{font-size:1.7rem;font-weight:800;color:#0f172a;margin:0;letter-spacing:-.02em}.obs-subtitle{font-size:.88rem;color:#64748b;margin:0;max-width:780px}.obs-refresh-btn{display:inline-flex;align-items:center;gap:7px;padding:.55rem 1.1rem;border-radius:8px;background:#fff;border:1px solid rgba(0,128,255,.2);color:#0080ff;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #0000000a}.obs-refresh-btn:hover{background:#0080ff14;border-color:#0080ff;transform:translateY(-1px)}.spin{animation:spin 1s linear infinite}.obs-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.obs-kpi-card{background:#fff;border:1px solid rgba(0,128,255,.14);border-radius:12px;padding:1.1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 10px #00000005;transition:transform .2s,box-shadow .2s}.obs-kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0080ff14}.obs-kpi-info{display:flex;flex-direction:column;gap:3px}.obs-kpi-label{font-size:.74rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.obs-kpi-value{font-size:1.55rem;font-weight:800;color:#0f172a;letter-spacing:-.02em}.obs-kpi-value.warn{color:#f59e0b}.obs-kpi-meta{font-size:.72rem;color:#94a3b8;font-weight:500}.obs-kpi-icon-wrap{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.obs-tabs-nav{display:flex;align-items:center;gap:.5rem;border-bottom:1px solid rgba(0,128,255,.15);padding-bottom:.5rem;overflow-x:auto}.obs-tab-btn{display:inline-flex;align-items:center;gap:8px;padding:.6rem 1.15rem;border-radius:8px;background:transparent;border:none;color:#64748b;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.obs-tab-btn:hover{color:#0080ff;background:#0080ff0f}.obs-tab-btn.active{color:#0080ff;background:#0080ff1f;font-weight:700;box-shadow:0 1px 3px #0080ff26}.obs-tab-content{display:flex;flex-direction:column;gap:1.25rem}.obs-card{background:#fff;border:1px solid rgba(0,128,255,.14);border-radius:12px;padding:1.5rem;box-shadow:0 2px 12px #00000005}.master-switch-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;background:linear-gradient(135deg,#0080ff0d,#fffffff2);border-color:#0080ff40}.switch-info h3{font-size:1.05rem;font-weight:800;color:#0f172a;margin:0 0 .25rem}.switch-info p{font-size:.82rem;color:#64748b;margin:0}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:.3s;border-radius:26px}.toggle-switch .slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.slider{background-color:#10b981}.toggle-switch input:checked+.slider:before{transform:translate(22px)}.obs-channels-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}.channel-card{background:#fff;border:1px solid rgba(0,128,255,.14);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:all .2s ease}.channel-card.active-channel{border-color:#0080ff;box-shadow:0 4px 16px #0080ff14}.channel-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.channel-title-row{display:flex;align-items:center;gap:.75rem}.channel-logo{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;color:#fff}.channel-logo.discord{background:#5865f2}.channel-logo.telegram{background:#08c}.channel-logo.generic{background:#25d366}.channel-title-row h4{font-size:.95rem;font-weight:800;color:#0f172a;margin:0}.channel-subtitle{font-size:.72rem;color:#64748b;display:block}.channel-card-body{display:flex;flex-direction:column;gap:.85rem}.input-group{display:flex;flex-direction:column;gap:4px}.input-group label{font-size:.75rem;font-weight:700;color:#475569}.input-group input{width:100%;padding:.55rem .75rem;border-radius:7px;border:1px solid #cbd5e1;font-size:.82rem;color:#1e293b;font-family:inherit;transition:border-color .2s;background:#f8fafc}.input-group input:focus{outline:none;border-color:#0080ff;background:#fff;box-shadow:0 0 0 3px #0080ff1f}.input-with-action{position:relative;display:flex;align-items:center}.input-with-action input{padding-right:2.2rem}.btn-icon-addon{position:absolute;right:6px;background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px}.btn-icon-addon:hover{color:#0080ff}.channel-action-row{display:flex;justify-content:flex-end;margin-top:.25rem}.btn-channel-test{display:inline-flex;align-items:center;gap:6px;padding:.42rem .85rem;border-radius:6px;background:#0080ff14;border:1px solid rgba(0,128,255,.2);color:#0080ff;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .2s ease}.btn-channel-test:hover:not(:disabled){background:#0080ff;color:#fff;border-color:#0080ff}.btn-channel-test:disabled{opacity:.5;cursor:not-allowed}.rules-card{display:flex;flex-direction:column;gap:1.25rem}.section-subtitle{font-size:1.05rem;font-weight:800;color:#0f172a;margin:0}.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.rule-checkbox-label{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0;cursor:pointer;transition:background-color .2s,border-color .2s}.rule-checkbox-label:hover{background:#f1f5f9;border-color:#cbd5e1}.rule-checkbox-label input[type=checkbox]{margin-top:3px;cursor:pointer;accent-color:#0080ff}.rule-text{display:flex;flex-direction:column;gap:2px}.rule-name{font-size:.82rem;font-weight:700;color:#1e293b}.rule-desc{font-size:.72rem;color:#64748b;line-height:1.3}.rules-save-row{display:flex;justify-content:flex-end;padding-top:.5rem;border-top:1px solid #f1f5f9}.btn-save-primary{display:inline-flex;align-items:center;gap:7px;padding:.65rem 1.35rem;border-radius:8px;background:#0080ff;border:none;color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0080ff4d}.btn-save-primary:hover:not(:disabled){background:#006cd9;transform:translateY(-1px)}.btn-save-primary:disabled{opacity:.6;cursor:not-allowed}.audit-filter-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.85rem}.search-box{position:relative;display:flex;align-items:center;flex:1;min-width:260px}.search-icon{position:absolute;left:10px;color:#94a3b8}.search-box input{width:100%;padding:.55rem .75rem .55rem 2.1rem;border-radius:8px;border:1px solid #cbd5e1;font-size:.82rem;color:#1e293b;font-family:inherit;background:#fff}.search-box input:focus{outline:none;border-color:#0080ff;box-shadow:0 0 0 3px #0080ff1f}.clear-search-btn{position:absolute;right:8px;background:transparent;border:none;color:#94a3b8;cursor:pointer;display:flex;align-items:center}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-label{font-size:.78rem;font-weight:600;color:#64748b}.filter-select{padding:.5rem .85rem;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-size:.8rem;font-weight:600}.btn-apply-filter{padding:.5rem .85rem;border-radius:8px;background:#0080ff14;border:1px solid rgba(0,128,255,.2);color:#0080ff;font-size:.8rem;font-weight:700;cursor:pointer}.btn-apply-filter:hover{background:#0080ff;color:#fff}.table-card{padding:0;overflow:hidden}.table-loading-state,.table-empty-state{padding:3rem 1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;color:#64748b;text-align:center}.table-empty-state h4{font-size:1.05rem;font-weight:800;color:#1e293b;margin:0}.table-empty-state p{font-size:.82rem;margin:0}.audit-table-wrapper{width:100%;overflow-x:auto}.audit-table{width:100%;border-collapse:collapse;font-size:.82rem;text-align:left}.audit-table th{background:#f8fafc;padding:.75rem 1rem;font-size:.72rem;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0}.audit-table td{padding:.8rem 1rem;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.audit-table tr:hover td{background:#0080ff05}.col-date{display:flex;flex-direction:column;line-height:1.2}.date-full{font-size:.78rem;font-weight:700;color:#0f172a}.date-relative{font-size:.68rem;color:#94a3b8}.action-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:6px;font-size:.68rem;font-weight:800;letter-spacing:.03em;font-family:monospace}.badge-success{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.25)}.badge-info{background:#0080ff1a;color:#0080ff;border:1px solid rgba(0,128,255,.25)}.badge-warning{background:#f59e0b1a;color:#d97706;border:1px solid rgba(245,158,11,.25)}.badge-danger{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.25)}.badge-primary{background:#6366f11a;color:#4f46e5;border:1px solid rgba(99,102,241,.25)}.badge-default{background:#f1f5f9;color:#64748b;border:1px solid #cbd5e1}.entity-tag{display:inline-block;font-size:.72rem;font-weight:700;color:#475569;background:#f1f5f9;padding:.18rem .45rem;border-radius:4px}.col-user{min-width:170px}.user-info-row{display:flex;align-items:center;gap:8px}.user-avatar-mini-initials{width:26px;height:26px;border-radius:50%;background:#0080ff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;flex-shrink:0}.user-names{display:flex;flex-direction:column;line-height:1.1}.user-name{font-weight:700;color:#0f172a;font-size:.78rem}.user-email{font-size:.68rem;color:#94a3b8}.col-ip code{font-size:.74rem;color:#64748b;background:#f8fafc;padding:2px 6px;border-radius:4px}.btn-view-details{display:inline-flex;align-items:center;gap:5px;padding:.32rem .65rem;border-radius:6px;background:#0080ff14;border:1px solid rgba(0,128,255,.18);color:#0080ff;font-size:.74rem;font-weight:700;cursor:pointer;transition:all .15s ease}.btn-view-details:hover{background:#0080ff;color:#fff}.audit-pagination-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-top:1px solid #e2e8f0;background:#f8fafc}.pagination-info{font-size:.75rem;color:#64748b;font-weight:600}.pagination-buttons{display:flex;gap:.5rem}.btn-page{padding:.35rem .75rem;border-radius:6px;background:#fff;border:1px solid #cbd5e1;font-size:.75rem;font-weight:700;color:#334155;cursor:pointer;transition:all .15s}.btn-page:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.btn-page:disabled{opacity:.4;cursor:not-allowed}.db-stats-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;background:linear-gradient(135deg,#8b5cf60f,#fffffff2);border-color:#8b5cf640}.db-banner-info h3{font-size:1.05rem;font-weight:800;color:#0f172a;margin:0 0 .25rem}.db-banner-info p{font-size:.82rem;color:#64748b;margin:0;max-width:740px}.btn-clear-queries{display:inline-flex;align-items:center;gap:6px;padding:.5rem .95rem;border-radius:8px;background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#dc2626;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-clear-queries:hover:not(:disabled){background:#dc2626;color:#fff}.btn-clear-queries:disabled{opacity:.5;cursor:not-allowed}.query-model-badge{font-family:monospace;font-weight:700;font-size:.75rem;color:#8b5cf6;background:#8b5cf614;padding:2px 6px;border-radius:4px}.query-duration-pill{display:inline-block;padding:.18rem .55rem;border-radius:12px;font-weight:800;font-size:.72rem;letter-spacing:.02em}.query-duration-pill.warning{background:#f59e0b1f;color:#d97706}.query-duration-pill.danger{background:#ef44441f;color:#dc2626}.query-args-code{display:block;max-width:480px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.72rem;color:#475569;background:#f8fafc;padding:4px 8px;border-radius:4px}.obs-modal-backdrop{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1050;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .2s ease-out}.obs-modal-box{background:#fff;border-radius:14px;width:100%;max-width:650px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 16px 40px #0003;border:1px solid rgba(0,128,255,.18);overflow:hidden;animation:zoomIn .2s ease-out}@keyframes zoomIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.obs-modal-header{padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.modal-title-wrap{display:flex;align-items:center;gap:8px}.modal-title-wrap h3{font-size:1rem;font-weight:800;color:#0f172a;margin:0}.modal-close-btn{background:transparent;border:none;color:#94a3b8;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:6px}.modal-close-btn:hover{color:#ef4444;background:#fee2e2}.obs-modal-body{padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.modal-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;background:#f8fafc;padding:.85rem;border-radius:8px;border:1px solid #e2e8f0}.meta-item{display:flex;flex-direction:column;gap:2px}.meta-k{font-size:.68rem;font-weight:700;color:#64748b;text-transform:uppercase}.meta-v{font-size:.8rem;font-weight:600;color:#0f172a}.modal-details-json-wrap{display:flex;flex-direction:column;gap:6px}.json-label{font-size:.75rem;font-weight:700;color:#475569}.json-code-box{background:#0f172a;color:#38bdf8;padding:1rem;border-radius:8px;font-family:monospace;font-size:.78rem;max-height:220px;overflow-y:auto;margin:0;white-space:pre-wrap;word-break:break-all}.obs-modal-footer{padding:.85rem 1.25rem;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;background:#f8fafc}.btn-modal-close{padding:.45rem 1.1rem;border-radius:6px;background:#0080ff;border:none;color:#fff;font-size:.82rem;font-weight:700;cursor:pointer}.btn-modal-close:hover{background:#006cd9}.cockpit-container{width:100%;max-width:100%;margin:0;padding:0;color:#1e293b;font-family:inherit}.cockpit-action-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.25rem;margin-bottom:2rem;padding:.25rem 0 .5rem;background:transparent;border:none;box-shadow:none}.cockpit-tab-title-group{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.cockpit-tab-breadcrumb{font-size:1.5rem;font-weight:700;color:#0080ff;letter-spacing:-.02em;background:transparent;padding:0;border-radius:0;border:none;box-shadow:none;line-height:1.2}.cockpit-current-tab-name{font-size:1.5rem;font-weight:800;color:#0f172a;margin:0;letter-spacing:-.02em;line-height:1.2}.cockpit-refresh-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.15rem;background:#fff;border:1px solid #cbd5e1;color:#334155;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:700;box-shadow:0 2px 6px #00000008;transition:all .2s ease}.cockpit-refresh-btn:hover{background:#0080ff14;border-color:#0080ff;color:#0080ff;transform:translateY(-1px);box-shadow:0 4px 12px #0080ff26}.spin-icon{animation:spin 1s linear infinite}.cockpit-top-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;padding:1.5rem 2rem;background:#fff;border:1px solid rgba(0,128,255,.16);border-radius:16px;box-shadow:0 4px 20px #0000000a;margin-bottom:2rem}.cockpit-branding{display:flex;align-items:center;gap:1rem}.cockpit-badge-role{background:linear-gradient(135deg,#0080ff,#00d2ff);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .75rem;border-radius:20px;box-shadow:0 2px 10px #0080ff4d}.cockpit-title{font-size:1.4rem;font-weight:800;color:#0f172a;margin:0;letter-spacing:-.02em}.cockpit-subtitle{font-size:.85rem;color:#64748b;margin:.25rem 0 0}.cockpit-top-actions{display:flex;align-items:center;gap:1rem}.cockpit-tabs-nav{display:flex;gap:.5rem;background:#f1f5f9;padding:.4rem;border-radius:12px;border:1px solid #e2e8f0;margin-bottom:2rem;overflow-x:auto}.cockpit-tab-item{display:inline-flex;align-items:center;gap:.6rem;padding:.65rem 1.15rem;background:transparent;border:none;color:#475569;border-radius:8px;cursor:pointer;font-size:.88rem;font-weight:700;white-space:nowrap;transition:all .2s ease}.cockpit-tab-item:hover{color:#0080ff;background:#ffffffb3}.cockpit-tab-item.active{background:#0080ff;color:#fff;box-shadow:0 3px 12px #0080ff4d}.cockpit-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.85rem;margin-bottom:1.25rem}.kpi-card{background:#fff;border:1px solid rgba(0,128,255,.12);border-radius:10px;padding:.75rem 1.15rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px #00000005;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.kpi-card:hover{transform:translateY(-2px);border-color:#0080ff59;box-shadow:0 4px 14px #0080ff0f}.kpi-info-box{display:flex;flex-direction:column;justify-content:center}.kpi-info-box h3{font-size:.72rem;color:#64748b;margin:0 0 3px;text-transform:uppercase;font-weight:700;letter-spacing:.04em;line-height:1.2}.kpi-value{font-size:1.45rem;font-weight:800;color:#0f172a;margin:0;line-height:1.15;letter-spacing:-.02em}.kpi-icon-wrap{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#0080ff1a;color:#0080ff;flex-shrink:0}.kpi-icon-wrap svg{width:18px;height:18px}.cockpit-panel-box{background:#fff;border:1px solid rgba(0,128,255,.12);border-radius:16px;padding:1.75rem;box-shadow:0 4px 20px #00000008;margin-bottom:2rem}.panel-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.panel-title-text{font-size:1.25rem;font-weight:800;color:#0f172a;margin:0;display:flex;align-items:center;gap:.65rem;letter-spacing:-.01em}.panel-action-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:#0080ff;color:#fff;border:none;border-radius:8px;font-weight:700;font-size:.88rem;cursor:pointer;box-shadow:0 3px 10px #0080ff40;transition:all .2s ease}.panel-action-btn:hover{background:#006cd9;transform:translateY(-1px);box-shadow:0 6px 16px #0080ff59}.cockpit-table-wrap{width:100%;overflow-x:auto;border-radius:10px;border:1px solid #e2e8f0}.cockpit-data-table{width:100%;border-collapse:collapse;text-align:left}.cockpit-data-table th{padding:.85rem 1rem;background:#f8fafc;color:#475569;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:1.5px solid #e2e8f0}.cockpit-data-table td{padding:1rem;font-size:.88rem;border-bottom:1px solid #f1f5f9;color:#1e293b;vertical-align:middle}.cockpit-data-table tr:hover td{background:#f8fafc}.status-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .65rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.status-pill.active,.status-pill.production,.status-pill.running{background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.3)}.status-pill.dev{background:#0080ff1a;color:#0080ff;border:1px solid rgba(0,128,255,.25)}.status-pill.staging,.status-pill.new{background:#f59e0b1f;color:#d97706;border:1px solid rgba(245,158,11,.3)}.status-pill.briefing{background:#8b5cf61f;color:#7c3aed;border:1px solid rgba(139,92,246,.3)}.progress-bar-container{width:100%;max-width:140px;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-top:4px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#0080ff,#10b981);border-radius:4px;transition:width .3s ease}.telemetry-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.telemetry-gauge-card{background:#fff;border:1px solid rgba(0,128,255,.12);border-radius:14px;padding:1.5rem;box-shadow:0 4px 16px #00000008}.gauge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.gauge-title{font-size:.95rem;font-weight:800;color:#0f172a;display:flex;align-items:center;gap:.5rem}.gauge-percent{font-size:1.4rem;font-weight:800;color:#0080ff}.gauge-percent.danger{color:#ef4444}.gauge-percent.warning{color:#d97706}.gauge-bar-outer{width:100%;height:12px;background:#e2e8f0;border-radius:6px;overflow:hidden;margin-bottom:.75rem}.gauge-bar-inner{height:100%;border-radius:6px;background:#0080ff;transition:width .4s ease}.gauge-bar-inner.warning{background:#f59e0b}.gauge-bar-inner.danger{background:#ef4444}.gauge-footer-stats{display:flex;justify-content:space-between;font-size:.8rem;font-weight:600;color:#64748b}.os-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.os-info-item{display:flex;flex-direction:column;gap:.25rem}.os-info-label{font-size:.75rem;color:#64748b;text-transform:uppercase;font-weight:700}.os-info-val{font-size:.92rem;font-weight:700;color:#0f172a}.cockpit-denied-box{text-align:center;padding:4rem 2rem;background:#fff;border:1px solid #fecaca;box-shadow:0 10px 30px #ef444414;border-radius:16px;max-width:540px;margin:3rem auto}.cockpit-denied-box h2{font-size:1.5rem;color:#dc2626;font-weight:800;margin:1rem 0 .5rem}.cockpit-denied-box p{color:#64748b;margin-bottom:1.5rem;line-height:1.6}.form-grid-modal{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group-full{grid-column:span 2}.cockpit-input{width:100%;padding:.75rem 1rem;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;color:#0f172a;font-size:.9rem;outline:none;box-sizing:border-box;font-family:inherit;transition:border-color .2s,box-shadow .2s}.cockpit-input:focus{border-color:#0080ff;box-shadow:0 0 0 3px #0080ff26}.cockpit-input option{background:#fff;color:#0f172a}.cockpit-filter-search{width:100%;height:42px;padding:0 1rem 0 2.4rem;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;color:#0f172a;font-size:.88rem;outline:none;box-sizing:border-box;font-family:inherit;transition:border-color .2s,box-shadow .2s}.cockpit-filter-search:focus{border-color:#0080ff;box-shadow:0 0 0 3px #0080ff26}.cockpit-filter-select{height:42px;padding:0 2.25rem 0 .85rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:14px 14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1.5px solid #cbd5e1;border-radius:8px;color:#0f172a;font-size:.88rem;font-weight:500;outline:none;box-sizing:border-box;font-family:inherit;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .2s,box-shadow .2s}.cockpit-filter-select:focus{border-color:#0080ff;box-shadow:0 0 0 3px #0080ff26}.cockpit-filter-select option{background:#fff;color:#0f172a;font-weight:400;padding:6px 10px}.cms-toast-msg{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;background:#10b9811a;border:1px solid rgba(16,185,129,.35);color:#065f46;border-radius:10px;margin-bottom:1.5rem;font-size:.9rem;font-weight:700;animation:fadeIn .3s ease-in-out}.cms-alert-banner{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background:#0080ff0f;border:1px solid rgba(0,128,255,.2);border-radius:12px;margin-bottom:1.75rem}.cms-alert-banner p{margin:0;font-size:.88rem;line-height:1.5;color:#334155}.cms-alert-banner strong{color:#0f172a}.cms-toggle-switch{position:relative;width:52px;height:28px;border-radius:14px;background:#cbd5e1;border:1px solid #94a3b8;cursor:pointer;padding:2px;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center}.cms-toggle-switch.active{background:#10b981;border-color:#059669;box-shadow:0 0 10px #10b9814d}.cms-toggle-knob{width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0003;transition:transform .25s cubic-bezier(.4,0,.2,1);transform:translate(0)}.cms-toggle-switch.active .cms-toggle-knob{transform:translate(24px)}.cms-status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .65rem;border-radius:20px;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.cms-status-badge.active{background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.3)}.cms-status-badge.inactive{background:#ef44441f;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.cms-sections-container{display:flex;flex-direction:column;gap:2rem}.cms-section-card{background:#fff;border:1px solid rgba(0,128,255,.12);border-radius:14px;padding:1.5rem;box-shadow:0 4px 16px #00000008}.cms-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;border-bottom:1px solid #e2e8f0;padding-bottom:.85rem}.cms-section-title{font-size:1.1rem;font-weight:800;color:#0f172a;display:flex;align-items:center;gap:.5rem;margin:0}.cms-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}.cms-form-group{display:flex;flex-direction:column;gap:.4rem}.cms-form-group label{font-size:.82rem;font-weight:700;color:#334155;display:flex;justify-content:space-between;align-items:center}.cms-form-group textarea.cockpit-input{resize:vertical;min-height:80px;font-family:inherit;line-height:1.5}.cms-lang-pill{font-size:.7rem;font-weight:800;padding:.15rem .45rem;border-radius:4px;background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.cms-save-bar{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0}.user-manager-module{display:flex;flex-direction:column}.user-feedback-banner{display:flex;align-items:center;gap:10px;padding:.85rem 1.25rem;border-radius:10px;font-size:.9rem;font-weight:700;animation:fadeIn .25s ease-out}.user-feedback-banner.success{background:#10b9811a;border:1px solid rgba(16,185,129,.35);color:#065f46}.user-feedback-banner.error{background:#ef44441a;border:1px solid rgba(239,68,68,.35);color:#dc2626}.user-manager-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.user-manager-title{font-size:1.4rem;font-weight:800;color:#0f172a;display:flex;align-items:center;gap:.6rem;margin:0 0 .35rem;letter-spacing:-.01em}.user-manager-subtitle{font-size:.85rem;color:#64748b;margin:0}.user-manager-header-actions{display:flex;align-items:center;gap:.75rem}.user-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.85rem}.user-stat-card{background:#fff;border:1px solid rgba(0,128,255,.12);border-radius:10px;padding:.75rem 1.15rem;display:flex;align-items:center;gap:.85rem;box-shadow:0 2px 8px #00000005;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.user-stat-card:hover{transform:translateY(-2px);border-color:#0080ff59;box-shadow:0 4px 14px #0080ff0f}.stat-icon-box{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-box svg{width:18px;height:18px}.stat-icon-box.blue{background:#0080ff1a;color:#0080ff}.stat-icon-box.purple{background:#9333ea1a;color:#9333ea}.stat-icon-box.green{background:#10b9811a;color:#059669}.stat-icon-box.red{background:#ef44441a;color:#dc2626}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:800;color:#0f172a;line-height:1.1}.stat-label{font-size:.75rem;font-weight:700;color:#64748b;margin-top:2px}.user-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:#fff;border:1px solid rgba(0,128,255,.12);border-radius:12px;padding:.85rem 1rem;box-shadow:0 2px 10px #00000005}.user-search-wrap{position:relative;display:flex;align-items:center;flex:1;min-width:260px}.user-search-wrap .search-icon{position:absolute;left:12px;color:#64748b;pointer-events:none}.user-search-wrap input{width:100%;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;padding:.55rem 2.2rem .55rem 2.4rem;color:#0f172a;font-size:.88rem;outline:none;font-family:inherit;transition:border-color .2s,box-shadow .2s}.user-search-wrap input:focus{border-color:#0080ff;box-shadow:0 0 0 3px #0080ff26}.clear-search-btn{position:absolute;right:10px;background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:2px}.clear-search-btn:hover{color:#0f172a}.user-filters-group{display:flex;align-items:center;gap:.75rem}.filter-select-wrap{display:flex;align-items:center;gap:6px;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;padding:.35rem .65rem;color:#64748b}.filter-select-wrap select{background:transparent;border:none;color:#0f172a;font-size:.82rem;font-weight:700;outline:none;cursor:pointer}.filter-select-wrap select option{background:#fff;color:#0f172a}.user-table-container{background:#fff;border:1px solid rgba(0,128,255,.12);border-radius:12px;overflow-x:auto;box-shadow:0 4px 16px #00000005}.user-data-table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}.user-data-table th{padding:.85rem 1rem;background:#f8fafc;color:#475569;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-bottom:1.5px solid #e2e8f0}.user-data-table td{padding:.85rem 1rem;border-bottom:1px solid #f1f5f9;color:#1e293b;vertical-align:middle}.user-data-table tr:hover{background:#f8fafc}.user-row-blocked{opacity:.75;background:#fff1f2!important}.user-cell-meta{display:flex;align-items:center;gap:10px}.user-table-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(0,128,255,.35);flex-shrink:0}.user-table-name{font-weight:700;color:#0f172a;display:flex;align-items:center;gap:6px}.badge-you{font-size:.65rem;font-weight:800;color:#0080ff;background:#0080ff1f;padding:1px 6px;border-radius:6px}.user-table-email{font-size:.75rem;color:#64748b;margin-top:1px}.user-role-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:12px;font-size:.72rem;font-weight:700;letter-spacing:.02em}.badge-owner{background:#0080ff1f;color:#0080ff;border:1px solid rgba(0,128,255,.3)}.badge-client{background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.3)}.status-pill-toggle{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:700;cursor:pointer;border:none;transition:all .2s;font-family:inherit}.status-pill-toggle.active{background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.3)}.status-pill-toggle.active:hover{background:#10b98138}.status-pill-toggle.blocked{background:#ef44441f;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.status-pill-toggle.blocked:hover{background:#ef444438}.status-pill-toggle .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.user-contact-cell{display:flex;flex-direction:column;gap:2px}.company-text{display:flex;align-items:center;gap:4px;font-size:.82rem;font-weight:700;color:#334155}.phone-text{display:flex;align-items:center;gap:4px;font-size:.74rem;color:#64748b}.date-cell{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;color:#64748b}.user-actions-row{display:flex;align-items:center;justify-content:flex-end;gap:6px}.action-icon-btn{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;cursor:pointer;transition:all .2s}.action-icon-btn:hover{transform:translateY(-1px)}.action-icon-btn.role-btn:hover{background:#9333ea1a;color:#9333ea;border-color:#9333ea4d}.action-icon-btn.pass-btn:hover{background:#f59e0b1a;color:#d97706;border-color:#f59e0b4d}.action-icon-btn.edit-btn:hover{background:#0080ff1a;color:#0080ff;border-color:#0080ff4d}.action-icon-btn.delete-btn:hover{background:#ef44441a;color:#dc2626;border-color:#ef44444d}.action-icon-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.user-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.user-empty-state h3{color:#0f172a;font-weight:800;margin:1rem 0 .25rem}.user-empty-state p{color:#64748b;font-size:.85rem}.cockpit-modal-overlay{position:fixed;inset:0;background:#0f172a8c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:2rem 1.25rem;overflow-y:auto;box-sizing:border-box;animation:fadeIn .2s ease-out}.cockpit-modal-box{background:#fff;border:1px solid rgba(0,128,255,.18);border-radius:16px;width:100%;max-width:540px;max-height:calc(100vh - 4rem);overflow-y:auto;display:flex;flex-direction:column;padding:1.75rem;box-shadow:0 25px 50px -12px #0f172a40;animation:scaleUp .2s cubic-bezier(.16,1,.3,1);color:#0f172a;margin:auto;box-sizing:border-box;position:relative}.cockpit-modal-box::-webkit-scrollbar{width:6px}.cockpit-modal-box::-webkit-scrollbar-track{background:#f1f5f9;border-radius:8px}.cockpit-modal-box::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}.cockpit-modal-box::-webkit-scrollbar-thumb:hover{background:#94a3b8}.cockpit-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid #e2e8f0;flex-shrink:0}.cockpit-modal-header h3{color:#0f172a;font-size:1.15rem;font-weight:800;display:flex;align-items:center;gap:8px;margin:0}.cockpit-modal-header.danger h3{color:#dc2626}.cockpit-modal-header .close-btn{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:6px;transition:color .2s}.cockpit-modal-header .close-btn:hover{color:#0f172a}.cockpit-modal-form{display:flex;flex-direction:column;gap:1.1rem}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.form-row-2{grid-template-columns:1fr}}.cockpit-modal-form .form-group{display:flex;flex-direction:column;gap:.35rem}.cockpit-modal-form label{font-size:.8rem;font-weight:700;color:#334155}.cockpit-modal-form input,.cockpit-modal-form select{background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;padding:.6rem .85rem;color:#0f172a;font-size:.88rem;outline:none;font-family:inherit;transition:border-color .2s,box-shadow .2s}.cockpit-modal-form input:focus,.cockpit-modal-form select:focus{border-color:#0080ff;box-shadow:0 0 0 3px #0080ff26}.cockpit-modal-form select option{background:#fff;color:#0f172a}.modal-description-text{font-size:.88rem;color:#64748b;margin:0 0 .5rem;line-height:1.5}.cockpit-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0;flex-shrink:0}.btn-danger{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important;box-shadow:0 3px 10px #dc262640!important}.btn-danger:hover{background:#b91c1c!important}.text-danger-small{font-size:.8rem;color:#dc2626;margin-top:.5rem}.fixed-role-input{display:flex;align-items:center;gap:.5rem;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:.6rem .85rem;color:#334155;font-size:.88rem;font-weight:700}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.pm2-terminal-box{background:#090d16;color:#38bdf8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;line-height:1.55;padding:1rem 1.25rem;border-radius:10px;border:1px solid rgba(0,128,255,.25);max-height:420px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.pm2-terminal-box::-webkit-scrollbar{width:6px}.pm2-terminal-box::-webkit-scrollbar-track{background:#090d16}.pm2-terminal-box::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}.pm2-terminal-box::-webkit-scrollbar-thumb:hover{background:#475569}.quote-detail-page{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 5rem}.quote-detail-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.quote-back-link{display:inline-flex;align-items:center;gap:8px;color:#64748b;font-weight:700;font-size:.9rem;text-decoration:none;transition:color .2s}.quote-back-link:hover{color:var(--primary)}.quote-top-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.btn-quote-action{display:inline-flex;align-items:center;gap:7px;padding:.6rem 1.1rem;border-radius:8px;font-weight:700;font-size:.85rem;border:1px solid #cbd5e1;background:#fff;color:#334155;cursor:pointer;text-decoration:none;transition:all .2s ease}.btn-quote-action:hover{border-color:var(--primary);color:var(--primary);background:#f8fafc}.btn-quote-action.whatsapp{background:#25d366;border-color:#25d366;color:#fff}.btn-quote-action.whatsapp:hover{background:#20bd5a;border-color:#20bd5a;color:#fff}.btn-quote-action.save{background:var(--primary);border-color:var(--primary);color:#fff}.btn-quote-action.save:hover{background:var(--primary-hover)}.btn-quote-action.evolve{background:linear-gradient(135deg,#8b5cf6,#6366f1);border-color:transparent;color:#fff;box-shadow:0 4px 12px #8b5cf640}.btn-quote-action.evolve:hover{filter:brightness(1.08);transform:translateY(-1px)}.quote-header-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1.5rem 2rem;margin-bottom:1.75rem;box-shadow:0 4px 20px #00000008;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.quote-header-title-wrap{display:flex;flex-direction:column;gap:.35rem}.quote-header-badge-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.quote-id-badge{font-family:monospace;font-size:.8rem;font-weight:700;background:#f1f5f9;color:#475569;padding:3px 8px;border-radius:6px}.quote-status-select{padding:.35rem .75rem;border-radius:20px;font-weight:800;font-size:.78rem;border:1.5px solid transparent;cursor:pointer;outline:none}.quote-status-select.status-NEW{background:#e0f2fe;color:#0369a1;border-color:#bae6fd}.quote-status-select.status-CONTACTED{background:#fef3c7;color:#b45309;border-color:#fde68a}.quote-status-select.status-PROPOSAL_SENT{background:#f3e8ff;color:#7e22ce;border-color:#e9d5ff}.quote-status-select.status-NEGOTIATION{background:#ffedd5;color:#c2410c;border-color:#fed7aa}.quote-status-select.status-CLOSED{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.quote-status-select.status-ARCHIVED{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}.quote-main-title{font-size:1.5rem;font-weight:800;color:#0f172a;margin:0}.quote-header-meta{display:flex;align-items:center;gap:1.25rem;font-size:.82rem;color:#64748b}.quote-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.quote-kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.1rem 1.25rem;display:flex;align-items:center;gap:1rem}.quote-kpi-icon{width:42px;height:42px;border-radius:10px;background:#0080ff14;display:flex;align-items:center;justify-content:center;flex-shrink:0}.quote-kpi-card h4{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin:0 0 .2rem}.quote-kpi-card strong{font-size:1.1rem;font-weight:800;color:#0f172a}.quote-nav-tabs{display:flex;gap:.5rem;border-bottom:2px solid #e2e8f0;margin-bottom:2rem}.quote-tab-btn{display:inline-flex;align-items:center;gap:8px;padding:.75rem 1.4rem;background:transparent;border:none;border-bottom:3px solid transparent;color:#64748b;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s ease;margin-bottom:-2px}.quote-tab-btn:hover{color:#0f172a}.quote-tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.quote-editor-grid{display:grid;grid-template-columns:1.1fr 1.9fr;gap:1.75rem}.editor-section-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.5rem;box-shadow:0 2px 12px #00000005;margin-bottom:1.5rem}.editor-section-title{display:flex;align-items:center;gap:8px;font-size:1.05rem;font-weight:800;color:#0f172a;margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:1px solid #f1f5f9}.editor-form-group{margin-bottom:1rem}.editor-form-group label{display:block;font-size:.8rem;font-weight:700;color:#475569;margin-bottom:.35rem}.editor-input{width:100%;padding:.65rem .85rem;border:1.5px solid #cbd5e1;border-radius:8px;font-size:.9rem;color:#0f172a;background:#fff;outline:none;transition:border-color .2s;box-sizing:border-box}.editor-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0080ff1f}.editor-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modules-tags-selector{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.module-toggle-chip{display:inline-flex;align-items:center;gap:6px;padding:.45rem .85rem;border-radius:20px;font-size:.82rem;font-weight:700;border:1.5px solid #cbd5e1;background:#fff;color:#475569;cursor:pointer;transition:all .2s}.module-toggle-chip:hover{border-color:var(--primary)}.module-toggle-chip.active{background:#0080ff1a;border-color:var(--primary);color:var(--primary)}.scope-items-container{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.scope-item-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .8rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.scope-item-name{font-size:.85rem;font-weight:600;color:#334155;flex:1}.scope-item-remove-btn{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:3px;display:flex;align-items:center;transition:color .15s}.scope-item-remove-btn:hover{color:#ef4444}.add-scope-input-row{display:flex;gap:.5rem}.btn-add-scope{background:#f1f5f9;border:1px solid #cbd5e1;color:#334155;font-weight:700;font-size:.82rem;padding:0 1rem;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .2s;white-space:nowrap}.btn-add-scope:hover{background:var(--primary);border-color:var(--primary);color:#fff}.proposal-preview-sheet{background:#fff;border:1px solid #cbd5e1;border-radius:16px;padding:3.5rem 4rem;box-shadow:0 10px 35px #0000000d;max-width:860px;margin:0 auto;color:#0f172a;font-family:inherit;line-height:1.6}.proposal-header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:2px solid #0080ff;padding-bottom:1.5rem;margin-bottom:2rem}.proposal-brand-col h2{font-size:1.8rem;font-weight:900;color:#0f172a;margin:0 0 .2rem}.proposal-brand-col h2 span{color:#0080ff}.proposal-brand-col p{font-size:.85rem;color:#64748b;margin:0}.proposal-meta-col{text-align:right;font-size:.85rem;color:#475569}.proposal-meta-col strong{color:#0f172a}.proposal-recipient-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:2rem}.proposal-recipient-box h4{font-size:.8rem;text-transform:uppercase;font-weight:800;letter-spacing:.5px;color:#64748b;margin:0 0 .4rem}.proposal-recipient-name{font-size:1.2rem;font-weight:800;color:#0f172a;margin:0 0 .2rem}.proposal-recipient-contact{font-size:.85rem;color:#475569}.proposal-body-section{margin-bottom:2rem}.proposal-body-section h3{font-size:1.15rem;font-weight:800;color:#0f172a;margin:0 0 .85rem;display:flex;align-items:center;gap:8px}.proposal-scope-table{width:100%;border-collapse:collapse;margin:1rem 0}.proposal-scope-table th{background:#f1f5f9;text-align:left;padding:.75rem 1rem;font-size:.82rem;font-weight:700;color:#475569;border-bottom:1px solid #cbd5e1}.proposal-scope-table td{padding:.8rem 1rem;font-size:.88rem;border-bottom:1px solid #e2e8f0;color:#334155}.proposal-price-box{background:linear-gradient(135deg,#0080ff14,#0080ff05);border:1.5px solid rgba(0,128,255,.3);border-radius:12px;padding:1.5rem 2rem;margin:2rem 0;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.proposal-price-val{font-size:1.8rem;font-weight:900;color:#0080ff}.proposal-price-terms{font-size:.85rem;color:#475569}.proposal-signatures-row{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:3.5rem;padding-top:2rem;border-top:1px solid #cbd5e1}.signature-line{border-top:1px solid #94a3b8;margin-bottom:.5rem}.signature-name{font-size:.85rem;font-weight:700;color:#0f172a}.signature-role{font-size:.78rem;color:#64748b}.evolve-modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.evolve-modal-card{background:#fff;border-radius:16px;max-width:520px;width:100%;padding:2rem;box-shadow:0 20px 45px #0003}.evolve-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.evolve-modal-header h3{font-size:1.2rem;font-weight:800;color:#0f172a;margin:0;display:flex;align-items:center;gap:8px}.evolve-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:1.75rem}@media print{body{background:#fff!important}.quote-detail-topbar,.quote-header-card,.quote-kpi-strip,.quote-nav-tabs,.quote-editor-grid,.header,.footer,.whatsapp-float-btn{display:none!important}.quote-detail-page{padding:0!important;max-width:100%!important}.proposal-preview-sheet{border:none!important;box-shadow:none!important;padding:0!important;margin:0!important;max-width:100%!important}}@media(max-width:900px){.quote-kpi-strip{grid-template-columns:repeat(2,1fr)}.quote-editor-grid{grid-template-columns:1fr}.proposal-preview-sheet{padding:2rem 1.5rem}}@media(max-width:640px){.quote-kpi-strip{grid-template-columns:1fr}.proposal-signatures-row{grid-template-columns:1fr;gap:2rem}}@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-mauve-50: oklch(98.5% 0 0); --color-mauve-100: oklch(96% .003 325.6); --color-mauve-200: oklch(92.2% .005 325.62); --color-mauve-300: oklch(86.5% .012 325.68); --color-mauve-400: oklch(71.1% .019 323.02); --color-mauve-500: oklch(54.2% .034 322.5); --color-mauve-600: oklch(43.5% .029 321.78); --color-mauve-700: oklch(36.4% .029 323.89); --color-mauve-800: oklch(26.3% .024 320.12); --color-mauve-900: oklch(21.2% .019 322.12); --color-mauve-950: oklch(14.5% .008 326); --color-olive-50: oklch(98.8% .003 106.5); --color-olive-100: oklch(96.6% .005 106.5); --color-olive-200: oklch(93% .007 106.5); --color-olive-300: oklch(88% .011 106.6); --color-olive-400: oklch(73.7% .021 106.9); --color-olive-500: oklch(58% .031 107.3); --color-olive-600: oklch(46.6% .025 107.3); --color-olive-700: oklch(39.4% .023 107.4); --color-olive-800: oklch(28.6% .016 107.4); --color-olive-900: oklch(22.8% .013 107.4); --color-olive-950: oklch(15.3% .006 107.1); --color-mist-50: oklch(98.7% .002 197.1); --color-mist-100: oklch(96.3% .002 197.1); --color-mist-200: oklch(92.5% .005 214.3); --color-mist-300: oklch(87.2% .007 219.6); --color-mist-400: oklch(72.3% .014 214.4); --color-mist-500: oklch(56% .021 213.5); --color-mist-600: oklch(45% .017 213.2); --color-mist-700: oklch(37.8% .015 216); --color-mist-800: oklch(27.5% .011 216.9); --color-mist-900: oklch(21.8% .008 223.9); --color-mist-950: oklch(14.8% .004 228.8); --color-taupe-50: oklch(98.6% .002 67.8); --color-taupe-100: oklch(96% .002 17.2); --color-taupe-200: oklch(92.2% .005 34.3); --color-taupe-300: oklch(86.8% .007 39.5); --color-taupe-400: oklch(71.4% .014 41.2); --color-taupe-500: oklch(54.7% .021 43.1); --color-taupe-600: oklch(43.8% .017 39.3); --color-taupe-700: oklch(36.7% .016 35.7); --color-taupe-800: oklch(26.8% .011 36.5); --color-taupe-900: oklch(21.4% .009 43.1); --color-taupe-950: oklch(14.7% .004 49.3); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}:root{--primary: #0080ff;--primary-hover: #006cd9;--primary-glow: rgba(0, 128, 255, .35);--primary-subtle: rgba(0, 128, 255, .08);--dark-text: #0f172a;--muted-text: #64748b;--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(0, 128, 255, .16);--card-bg: rgba(255, 255, 255, .92)}*{box-sizing:border-box}html,body{background-color:#fff;color:var(--dark-text);font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;padding:0}#root{width:100%;min-height:100vh;display:flex;flex-direction:column;margin:0;padding:0;text-align:left;position:relative;z-index:1}.layout-wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.header-topbar{position:fixed;top:0;left:0;width:100%;z-index:100;background:#ffffffeb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,128,255,.16);box-shadow:0 4px 20px #0000000d;padding:.75rem 2.5rem;transition:all .3s ease;pointer-events:auto}.header-inner{width:100%;max-width:100%;margin:0;padding:0;display:flex;align-items:center;justify-content:space-between}.header-left-group{display:flex;align-items:center;gap:2.2rem}.header-logo-link{pointer-events:auto;display:inline-flex;align-items:center;text-decoration:none;cursor:pointer;line-height:0}.header-logo-link:hover .square{box-shadow:0 5px 14px #0080ff47;transform:translateY(0)}.header-right-group{pointer-events:auto;display:flex;align-items:center;gap:1.25rem}.nav-desktop{display:flex;align-items:center;gap:.4rem;position:relative}.nav-item{text-decoration:none;color:#334155;font-weight:600;font-size:.92rem;padding:.5rem .85rem;border-radius:8px;transition:color .2s ease,background-color .2s ease;display:inline-flex;align-items:center;gap:6px;position:relative;white-space:nowrap}.nav-item:hover{color:var(--primary);background-color:var(--primary-subtle)}.nav-item.active{color:var(--primary);font-weight:700}.nav-item.nav-highlight{background:linear-gradient(135deg,#0080ff1f,#0080ff0a);border:1px solid rgba(0,128,255,.25);color:var(--primary)}.nav-item.nav-highlight:hover{background:linear-gradient(135deg,#0080ff33,#0080ff14)}.highlight-icon{color:var(--primary)}.nav-indicator{position:absolute;bottom:-4px;height:3px;background:var(--primary);border-radius:3px;box-shadow:0 0 10px var(--primary);transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.admin-header-identity{display:flex;flex-direction:column;gap:2px;padding-right:1.25rem;border-right:1px solid rgba(0,128,255,.16)}.admin-header-badge-row{display:flex;align-items:center;gap:.5rem}.admin-badge-role{background:linear-gradient(135deg,#0080ff,#00d2ff);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .55rem;border-radius:12px;line-height:1;box-shadow:0 0 10px #0080ff59}.admin-badge-role.portal-badge-role{background:linear-gradient(135deg,#10b981,#0080ff);box-shadow:0 0 10px #10b98159}.admin-status-indicator{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;color:#10b981;font-weight:700}.admin-status-dot{width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981;animation:pulseDot 2s infinite ease-in-out}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.admin-header-title{font-size:.82rem;font-weight:800;color:#0f172a;letter-spacing:-.01em;white-space:nowrap}.admin-nav-desktop{display:flex;align-items:center;gap:.25rem;overflow-x:auto}.admin-nav-item{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:#475569;padding:.42rem .7rem;border-radius:8px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.admin-nav-item:hover{color:#0080ff;background:#0080ff14}.admin-nav-item.active{color:#0080ff;background:#0080ff1f;font-weight:700;box-shadow:0 1px 3px #0080ff26}.portal-nav-action-btn{font-family:inherit;border:1px solid transparent!important;cursor:pointer}.portal-nav-action-btn.request-btn{background:#0080ff14;color:#0080ff;font-weight:700;border-color:#0080ff33!important}.portal-nav-action-btn.request-btn:hover{background:#0080ff!important;color:#fff!important;border-color:#0080ff!important;box-shadow:0 2px 6px #0080ff40}.portal-nav-action-btn.estimator-btn{background:#10b98114;color:#059669;font-weight:700;border-color:#10b98140!important}.portal-nav-action-btn.estimator-btn:hover{background:#10b981!important;color:#fff!important;border-color:#10b981!important;box-shadow:0 2px 6px #10b98140}.btn-view-site{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:#0080ff;background:#0080ff0f;border:1px solid rgba(0,128,255,.2);padding:.45rem .85rem;border-radius:8px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.btn-view-site:hover{background:#0080ff24;border-color:#0080ff;transform:translateY(-1px)}.mobile-admin-identity{display:flex;flex-direction:column;gap:.4rem;padding:.5rem .75rem 1rem;border-bottom:1px solid rgba(0,128,255,.12);margin-bottom:.5rem}.admin-header-sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:#0080ff14;border:1px solid rgba(0,128,255,.18);color:#0080ff;cursor:pointer;transition:all .2s ease;margin-right:.5rem;padding:0;flex-shrink:0}.admin-header-sidebar-toggle:hover{background:#0080ff;color:#fff;border-color:#0080ff;box-shadow:0 2px 10px #0080ff59;transform:translateY(-1px)}.main-content-area.admin-main-area{max-width:100%!important;width:100%!important;margin:0!important;padding:1.5rem 2.5rem 5rem;padding-top:95px;box-sizing:border-box;z-index:auto!important;transition:margin-left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)}.main-content-area.admin-main-area.admin-main-expanded{margin-left:var(--admin-sidebar-expanded-width, 260px)!important;width:calc(100% - var(--admin-sidebar-expanded-width, 260px))!important;max-width:calc(100% - var(--admin-sidebar-expanded-width, 260px))!important}.main-content-area.admin-main-area.admin-main-collapsed{margin-left:var(--admin-sidebar-collapsed-width, 72px)!important;width:calc(100% - var(--admin-sidebar-collapsed-width, 72px))!important;max-width:calc(100% - var(--admin-sidebar-collapsed-width, 72px))!important}@media(max-width:900px){.main-content-area.admin-main-area{padding:1.25rem 1.25rem 4rem;padding-top:90px}.main-content-area.admin-main-area.admin-main-expanded,.main-content-area.admin-main-area.admin-main-collapsed{margin-left:0!important;width:100%!important;max-width:100%!important}}.portal-top-welcome-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.25rem;margin-bottom:2rem}.portal-welcome-title{font-size:1.6rem;font-weight:800;color:#0f172a;margin:0 0 .35rem;letter-spacing:-.02em}.portal-welcome-subtitle{font-size:.9rem;color:#64748b;margin:0;line-height:1.5}.portal-welcome-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.lang-switcher{display:flex;align-items:center;gap:4px;background:#0080ff0f;padding:3px;border-radius:8px;border:1px solid rgba(0,128,255,.12)}.lang-button{border:none;background:transparent;cursor:pointer;padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:700;color:#64748b;transition:all .2s ease}.lang-button:hover{color:var(--primary)}.lang-button.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px var(--primary-glow)}.client-portal-btn{display:flex;align-items:center;gap:7px;background:#0f172a;color:#fff;padding:.5rem 1rem;border-radius:8px;font-size:.88rem;font-weight:600;border:1px solid #1e293b;cursor:pointer;transition:all .25s ease}.client-portal-btn:hover{background:var(--primary);border-color:var(--primary);box-shadow:0 4px 14px var(--primary-glow);transform:translateY(-1px)}.user-dropdown-wrapper{position:relative}.user-profile-trigger{display:inline-flex;align-items:center;gap:8px;background:#0080ff14;border:1px solid rgba(0,128,255,.25);padding:5px 12px 5px 6px;border-radius:24px;cursor:pointer;transition:all .25s ease;font-family:inherit}.user-profile-trigger:hover,.user-profile-trigger.active{background:#0080ff29;border-color:var(--primary);box-shadow:0 4px 14px #0080ff33;transform:translateY(-1px)}.user-avatar-mini{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(0,128,255,.35)}.user-name-mini{font-size:.88rem;font-weight:700;color:#0f172a}.dropdown-chevron{color:#64748b;transition:transform .25s ease}.dropdown-chevron.rotate{transform:rotate(180deg);color:var(--primary)}.user-profile-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:280px;background:#fff;border:1px solid rgba(0,128,255,.18);border-radius:14px;box-shadow:0 14px 36px #0f172a24,0 4px 12px #0080ff14;padding:.75rem;z-index:1000;animation:dropdownFadeIn .2s cubic-bezier(.16,1,.3,1) forwards}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-user-header{display:flex;align-items:center;gap:10px;padding:.4rem .5rem .65rem}.dropdown-avatar{width:40px;height:40px;border-radius:50%;border:2px solid rgba(0,128,255,.3);object-fit:cover;flex-shrink:0}.dropdown-user-meta{display:flex;flex-direction:column;overflow:hidden;text-align:left}.dropdown-user-name{font-size:.92rem;font-weight:800;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-user-email{font-size:.75rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.dropdown-role-badge{display:inline-block;align-self:flex-start;font-size:.66rem;font-weight:800;padding:2px 7px;border-radius:8px;text-transform:uppercase;letter-spacing:.04em}.dropdown-role-badge.owner{background:#0080ff1f;color:#0080ff;border:1px solid rgba(0,128,255,.25)}.dropdown-role-badge.client{background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.25)}.dropdown-divider{height:1px;background:#f1f5f9;margin:.4rem 0}.dropdown-menu-list{display:flex;flex-direction:column;gap:3px}.dropdown-menu-item{display:flex;align-items:center;gap:10px;padding:.6rem .65rem;border-radius:10px;text-decoration:none;color:#334155;transition:all .2s ease;background:transparent;border:none;width:100%;text-align:left;cursor:pointer;font-family:inherit}.dropdown-menu-item:hover{background:#f8fafc;color:#0080ff;transform:translate(2px)}.item-icon-wrap{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease}.dropdown-menu-item:hover .item-icon-wrap{transform:scale(1.08)}.item-icon-wrap.dev{background:#0080ff1a;color:#0080ff}.item-icon-wrap.cms{background:#10b9811a;color:#059669}.item-icon-wrap.client{background:#6366f11a;color:#6366f1}.item-icon-wrap.logout{background:#ef44441a;color:#ef4444}.item-text{display:flex;flex-direction:column}.item-title{font-size:.86rem;font-weight:700;line-height:1.2}.item-desc{font-size:.72rem;color:#94a3b8;line-height:1.2;margin-top:2px}.dropdown-menu-item.logout-item:hover{background:#fef2f2}.dropdown-menu-item.logout-item:hover .item-title{color:#ef4444}.mobile-user-profile-header{display:flex;align-items:center;gap:10px;padding:.75rem;background:#0080ff0d;border:1px solid rgba(0,128,255,.15);border-radius:12px;margin-bottom:.5rem}.mobile-menu-toggle{display:none;background:transparent;border:none;color:#0f172a;cursor:pointer;padding:6px}.mobile-drawer{display:none}@media(max-width:960px){.header-topbar{padding:.6rem 1.25rem}.header-left-group{gap:1rem}.nav-desktop,.auth-header-action{display:none!important}.mobile-menu-toggle{display:flex!important;align-items:center;justify-content:center;background:#0080ff14;border:1px solid rgba(0,128,255,.2);border-radius:8px;padding:8px;color:#0f172a;cursor:pointer}.mobile-drawer{display:block!important;position:fixed;top:78px;left:0;width:100%;max-height:calc(100vh - 78px);overflow-y:auto;background:#fffffffa;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,128,255,.16);box-shadow:0 16px 32px #0000001a;padding:1.25rem;z-index:99;animation:drawerSlideDown .25s ease forwards}@keyframes drawerSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.mobile-nav-links{display:flex;flex-direction:column;gap:.5rem}.mobile-nav-item{display:block;padding:.85rem 1rem;color:#1e293b;font-weight:700;font-size:1rem;text-decoration:none;border-radius:8px;transition:all .2s ease}.mobile-nav-item:hover,.mobile-nav-item.active{background:#0080ff14;color:var(--primary)}.mobile-nav-item.highlight{background:linear-gradient(135deg,#0080ff24,#0080ff0d);border:1px solid rgba(0,128,255,.25);color:var(--primary)}.mobile-drawer-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,128,255,.12);display:flex;flex-direction:column;gap:.85rem}.mobile-auth-row .mobile-login-btn,.mobile-auth-row .mobile-logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:.85rem 1rem;border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;border:none}.mobile-auth-row .mobile-login-btn{background:#0f172a;color:#fff}.mobile-auth-row .mobile-login-btn:hover{background:var(--primary)}.mobile-auth-row .mobile-logout-btn{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}}.main-content-area{flex:1;max-width:1240px;width:100%;margin:0 auto;padding:2.5rem 1.5rem;padding-top:110px;position:relative;z-index:auto}.content{background-color:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,128,255,.15);border-radius:12px;box-shadow:0 8px 24px #0000000a;max-width:1000px;margin:20px auto;padding:2rem}.hero-section{text-align:center;padding:3rem 1rem 4rem;max-width:960px;margin:0 auto}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#0080ff14;border:1px solid rgba(0,128,255,.25);padding:6px 16px;border-radius:20px;font-size:.85rem;font-weight:700;color:var(--primary);margin-bottom:1.5rem}.hero-title{font-size:3.4rem;font-weight:800;line-height:1.18;color:#0f172a;letter-spacing:-.03em;margin-bottom:1.25rem;min-height:135px;display:flex;align-items:center;justify-content:center}.hero-title-rotating{display:inline-block;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.hero-title-rotating.fade-out{opacity:0;transform:translateY(-8px)}.hero-title-rotating.fade-in{opacity:1;transform:translateY(0)}.hero-phrase-dots{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:-.25rem;margin-bottom:1.75rem}.phrase-dot{width:8px;height:8px;border-radius:999px;background:#0080ff38;border:none;padding:0;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1)}.phrase-dot:hover{background:#0080ff99;transform:scale(1.2)}.phrase-dot.active{width:26px;background:var(--primary);box-shadow:0 0 12px #0080ff73}.gradient-text{background:linear-gradient(135deg,#0080ff,#00d2ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-subtitle{font-size:1.25rem;line-height:1.6;color:#475569;max-width:780px;margin:0 auto 2.5rem}.hero-actions{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:3.5rem}.cta-primary-btn{display:inline-flex;align-items:center;gap:10px;background:var(--primary);color:#fff;font-weight:700;font-size:1rem;padding:.85rem 1.8rem;border-radius:10px;text-decoration:none;box-shadow:0 6px 20px var(--primary-glow);transition:all .25s ease;border:none;cursor:pointer}.cta-primary-btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 25px #0080ff73}.cta-secondary-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#0f172a;font-weight:700;font-size:1rem;padding:.85rem 1.6rem;border-radius:10px;text-decoration:none;border:1px solid #cbd5e1;box-shadow:0 2px 10px #0000000a;transition:all .25s ease}.cta-secondary-btn:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.trust-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,255,.15);border-radius:14px;padding:1.25rem 1.5rem;box-shadow:0 4px 20px #00000008}.trust-item{display:flex;align-items:center;gap:12px;text-align:left}.trust-item strong{display:block;font-size:.95rem;color:#0f172a;line-height:1.2}.trust-item span{font-size:.78rem;color:#64748b}.section-block{margin-bottom:5rem}.section-header{text-align:center;max-width:700px;margin:0 auto 3rem}.section-tag{display:inline-block;font-size:.8rem;font-weight:800;letter-spacing:.12em;color:var(--primary);margin-bottom:.6rem}.section-title{font-size:2.3rem;font-weight:800;color:#0f172a;letter-spacing:-.02em;margin:0 0 1rem;line-height:1.2}.section-subtitle{font-size:1.08rem;color:#64748b;line-height:1.6;margin:0}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.75rem}.service-card{background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,255,.15);border-radius:14px;padding:2rem;box-shadow:0 4px 20px #00000008;transition:all .3s ease;display:flex;flex-direction:column}.service-card:hover{transform:translateY(-4px);border-color:#0080ff59;box-shadow:0 12px 30px #0080ff1a}.service-icon-box{width:52px;height:52px;background:#0080ff14;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.service-card-title{font-size:1.35rem;font-weight:800;color:#0f172a;margin:0 0 .8rem}.service-card-desc{font-size:.95rem;line-height:1.6;color:#475569;flex:1;margin:0 0 1.25rem}.service-tags{display:flex;flex-wrap:wrap;gap:6px}.service-tag-pill{background:#0080ff0f;border:1px solid rgba(0,128,255,.15);color:var(--primary);font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:6px}.services-footer-cta{text-align:center;margin-top:2rem}.text-link-arrow{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:700;text-decoration:none;font-size:1rem;transition:gap .2s}.text-link-arrow:hover{gap:12px}.plans-cards-row,.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;align-items:stretch}.plan-mini-card,.pricing-card{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,255,.16);border-radius:16px;padding:2.2rem 1.8rem;box-shadow:0 4px 20px #00000008;display:flex;flex-direction:column;position:relative;transition:all .3s ease}.plan-mini-card:hover,.pricing-card:hover{transform:translateY(-6px);border-color:#0080ff66;box-shadow:0 16px 35px #0080ff1f}.plan-mini-card.featured-plan,.pricing-card.featured{border:2px solid var(--primary);box-shadow:0 8px 30px #0080ff2e;background:#fff}.popular-ribbon,.featured-tag{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 14px;border-radius:20px;box-shadow:0 4px 12px var(--primary-glow);display:flex;align-items:center;gap:5px}.plan-name,.plan-title{font-size:1.5rem;font-weight:800;color:#0f172a;margin:0 0 .5rem}.plan-desc,.plan-description{font-size:.9rem;color:#64748b;line-height:1.5;margin:0 0 1.5rem}.plan-pricing,.price-box{display:flex;align-items:baseline;gap:4px;margin-bottom:1.5rem}.currency,.currency-symbol{font-size:1.15rem;font-weight:700;color:var(--primary)}.price-val,.price-number{font-size:2.7rem;font-weight:800;color:#0f172a;line-height:1}.period,.billing-period{font-size:.95rem;color:#64748b}.plan-feat-list,.plan-features{list-style:none;padding:0;margin:0 0 2rem;flex:1;display:flex;flex-direction:column;gap:.75rem}.plan-feat-list li,.plan-features li{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:#334155;line-height:1.4}.feat-check{color:var(--primary);flex-shrink:0;margin-top:2px}.plan-card-btn,.pricing-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:.85rem 1rem;border-radius:10px;font-weight:700;font-size:.95rem;text-decoration:none;transition:all .2s ease;border:1px solid var(--primary);color:var(--primary);background:transparent}.plan-card-btn:hover,.pricing-btn.btn-outline:hover{background:var(--primary-subtle)}.plan-card-btn.btn-featured,.pricing-btn.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 15px var(--primary-glow)}.plan-card-btn.btn-featured:hover,.pricing-btn.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.featured-projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2.5rem}.featured-project-card{background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,255,.15);border-radius:14px;padding:1.75rem;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000008;transition:all .3s ease}.featured-project-card:hover{transform:translateY(-4px);border-color:#0080ff59;box-shadow:0 12px 30px #0080ff1a}.project-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.project-category-badge{background:#0080ff14;border:1px solid rgba(0,128,255,.2);color:var(--primary);font-size:.72rem;font-weight:800;text-transform:uppercase;padding:3px 8px;border-radius:6px}.project-client-name{font-size:.82rem;color:#64748b;font-weight:600}.project-title{font-size:1.25rem;font-weight:800;color:#0f172a;margin:0 0 .75rem;line-height:1.3}.project-desc{font-size:.88rem;color:#475569;line-height:1.5;margin:0 0 1.25rem;flex:1}.project-impact-box{background:#10b98114;border-left:3px solid #10b981;padding:8px 12px;border-radius:0 8px 8px 0;margin-bottom:1.25rem;font-size:.82rem;color:#065f46;line-height:1.4}.project-impact-box strong{display:block;font-weight:700;margin-bottom:2px}.project-stack-wrap{display:flex;flex-wrap:wrap;gap:5px}.stack-pill{background:#f1f5f9;color:#475569;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:4px}.text-center-cta{text-align:center}.faq-section{max-width:820px;margin:0 auto 5rem}.faq-accordion-wrap{display:flex;flex-direction:column;gap:1rem}.faq-item{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,255,.15);border-radius:12px;padding:1.25rem 1.5rem;cursor:pointer;transition:all .25s ease}.faq-item:hover{border-color:#0080ff66}.faq-question{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:1.05rem;color:#0f172a}.faq-arrow{color:var(--primary);transition:transform .3s ease;flex-shrink:0}.faq-arrow.rotate{transform:rotate(180deg)}.faq-answer{margin-top:1rem;font-size:.95rem;line-height:1.6;color:#475569;border-top:1px solid #f1f5f9;padding-top:.8rem}.bottom-conversion-banner{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;border-radius:20px;padding:3.5rem 2rem;text-align:center;box-shadow:0 12px 40px #0f172a33;margin-bottom:2rem}.banner-content h2{font-size:2.2rem;font-weight:800;margin:0 0 1rem;line-height:1.2}.banner-content p{font-size:1.1rem;color:#94a3b8;max-width:680px;margin:0 auto 2rem;line-height:1.6}.banner-btns{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.cta-whatsapp-btn{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff;font-weight:700;font-size:1rem;padding:.85rem 1.6rem;border-radius:10px;text-decoration:none;box-shadow:0 4px 15px #25d3664d;transition:all .2s ease}.cta-whatsapp-btn:hover{background:#20bd5a;transform:translateY(-2px)}.page-header-block{text-align:center;max-width:820px;margin:0 auto 3rem}.page-main-title{font-size:2.8rem;font-weight:800;color:#0f172a;letter-spacing:-.02em;margin:0 0 1rem;line-height:1.2}.page-lead-text{font-size:1.15rem;color:#475569;line-height:1.6;margin:0}.billing-toggle-wrap{display:inline-flex;background:#0080ff14;padding:4px;border-radius:12px;margin-top:2rem;border:1px solid rgba(0,128,255,.16)}.toggle-option{border:none;background:transparent;padding:8px 18px;font-size:.9rem;font-weight:700;color:#475569;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.toggle-option.active{background:#fff;color:var(--primary);box-shadow:0 2px 10px #0000000f}.save-badge{background:#10b981;color:#fff;font-size:.72rem;padding:2px 6px;border-radius:4px}.custom-projects-section{margin-top:5rem}.custom-services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2.5rem}.custom-service-box{background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,255,.15);border-radius:14px;padding:1.75rem;display:flex;flex-direction:column}.srv-icon-header{display:flex;align-items:center;gap:12px;margin-bottom:1rem}.srv-icon-header h3{font-size:1.25rem;font-weight:800;color:#0f172a;margin:0}.custom-service-box p{font-size:.92rem;color:#475569;line-height:1.5;margin:0 0 1.25rem;flex:1}.srv-tags-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1.25rem}.srv-tag{background:#0080ff0f;color:var(--primary);font-size:.75rem;font-weight:700;padding:3px 8px;border-radius:4px}.srv-quote-link{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-weight:700;font-size:.88rem;text-decoration:none}.engineering-differentials{margin-top:5rem;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,255,.16);border-radius:16px;padding:2.5rem 2rem}.engineering-differentials h3{font-size:1.6rem;font-weight:800;text-align:center;color:#0f172a;margin:0 0 2rem}.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.diff-item h4{font-size:1.1rem;font-weight:800;color:#0f172a;margin:.75rem 0 .5rem}.diff-item p{font-size:.88rem;color:#64748b;line-height:1.5;margin:0}.category-filter-bar{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:2rem}.cat-filter-btn{border:1px solid #cbd5e1;background:#fff;color:#475569;font-size:.88rem;font-weight:700;padding:7px 16px;border-radius:20px;cursor:pointer;transition:all .2s}.cat-filter-btn:hover{border-color:var(--primary);color:var(--primary)}.cat-filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 10px var(--primary-glow)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem}.project-card-item{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,255,.16);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000008;transition:all .3s ease}.project-card-item:hover{transform:translateY(-4px);border-color:#0080ff59;box-shadow:0 16px 35px #0080ff1a}.project-card-banner{background:linear-gradient(135deg,#0080ff1f,#0080ff08);border-bottom:1px solid rgba(0,128,255,.1);padding:1.5rem 1.75rem}.project-badge-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:.75rem}.badge-pill.category{background:var(--primary);color:#fff;font-size:.72rem;font-weight:800;text-transform:uppercase;padding:3px 8px;border-radius:4px}.badge-pill.extra{background:#0080ff1a;color:var(--primary);font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:4px}.project-item-title{font-size:1.4rem;font-weight:800;color:#0f172a;margin:0;line-height:1.3}.project-card-body{padding:1.75rem;display:flex;flex-direction:column;flex:1}.project-meta-info{display:flex;align-items:center;gap:1.5rem;margin-bottom:1rem}.meta-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#64748b;font-weight:600}.project-description-text{font-size:.92rem;line-height:1.6;color:#334155;margin:0 0 1.25rem;flex:1}.project-impact-highlight{display:flex;align-items:flex-start;gap:10px;background:#10b98114;border-left:3px solid #10b981;padding:10px 14px;border-radius:0 8px 8px 0;margin-bottom:1.5rem}.impact-check{color:#10b981;flex-shrink:0;margin-top:2px}.project-impact-highlight strong{display:block;font-size:.82rem;color:#065f46;margin-bottom:2px}.project-impact-highlight p{font-size:.85rem;color:#047857;margin:0;line-height:1.4}.project-stack-section{margin-bottom:1.5rem}.stack-label{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:#64748b;margin-bottom:.5rem}.stack-tags-container{display:flex;flex-wrap:wrap;gap:6px}.tech-badge{background:#f1f5f9;color:#334155;font-size:.75rem;font-weight:700;padding:3px 9px;border-radius:4px}.project-quote-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background:#0080ff14;color:var(--primary);font-weight:700;font-size:.9rem;padding:.75rem 1rem;border-radius:8px;text-decoration:none;border:1px solid rgba(0,128,255,.2);transition:all .2s}.project-quote-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.projects-footer-cta-card{text-align:center;background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,255,.16);border-radius:20px;padding:3rem 2rem;margin-top:4rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.projects-footer-cta-card h2{font-size:2rem;font-weight:800;color:#0f172a;margin:0}.projects-footer-cta-card p{font-size:1.05rem;color:#64748b;max-width:600px;margin:0}.estimator-stepper{display:flex;align-items:center;justify-content:center;gap:2rem;margin-top:2rem}.step-indicator{display:flex;align-items:center;gap:8px;cursor:pointer;opacity:.5;transition:all .2s}.step-indicator.active{opacity:1}.step-indicator.current .step-number{background:var(--primary);color:#fff;box-shadow:0 0 12px var(--primary-glow)}.step-number{width:32px;height:32px;border-radius:50%;background:#e2e8f0;color:#475569;font-weight:800;font-size:.9rem;display:flex;align-items:center;justify-content:center}.step-label{font-size:.85rem;font-weight:700;color:#334155}.estimator-card{background:#ffffffeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(0,128,255,.18);border-radius:20px;padding:2.5rem;box-shadow:0 10px 35px #0000000a;max-width:860px;margin:0 auto}.step-title{font-size:1.6rem;font-weight:800;color:#0f172a;margin:0 0 .75rem}.step-desc{font-size:.95rem;color:#64748b;margin:0 0 1.75rem}.step-subheading{display:flex;align-items:center;gap:8px;font-size:.92rem;font-weight:800;color:#1e293b;text-transform:uppercase;letter-spacing:.5px;margin:1.25rem 0 .85rem}.stage-composite-list{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.25rem}.stage-composite-card{border:1.5px solid #cbd5e1;border-radius:14px;background:#fff;transition:all .2s ease;overflow:hidden;display:flex;align-items:flex-start;gap:1rem;padding:1.15rem 1.4rem;cursor:pointer}.stage-composite-card:hover{background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px)}.stage-composite-card.selected{border-color:var(--primary);background:#fff;box-shadow:0 4px 18px #0080ff1a}.stage-radio-box{padding-top:2px}.custom-radio{width:22px;height:22px;border-radius:50%;border:1.5px solid #94a3b8;display:flex;align-items:center;justify-content:center;background:#fff;transition:all .2s}.custom-radio.checked{border-color:var(--primary)}.custom-radio-inner{width:12px;height:12px;border-radius:50%;background:var(--primary)}.stage-icon-box{width:44px;height:44px;border-radius:10px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stage-composite-card.selected .stage-icon-box{background:#0080ff1a}.stage-info-box{flex:1;min-width:0}.stage-title-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.3rem}.stage-title{font-size:1.05rem;font-weight:800;color:#0f172a;margin:0}.stage-tag-badge{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:12px;background:#f1f5f9;color:#475569;transition:all .2s}.stage-tag-badge.active{background:#0080ff1f;color:#0080ff}.stage-desc{font-size:.85rem;color:#64748b;line-height:1.4;margin:0}.modernize-tip-alert{display:flex;align-items:center;gap:10px;padding:.85rem 1.15rem;background:#0080ff0d;border:1px solid rgba(0,128,255,.25);border-radius:10px;font-size:.84rem;color:#0369a1;line-height:1.4;margin:.85rem 0}.business-stages-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem 0}.business-stage-card{border:1.5px solid #cbd5e1;background:#fff;border-radius:14px;padding:1.4rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column}.business-stage-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 6px 20px #0080ff14}.business-stage-card.selected{border-color:var(--primary);background:#0080ff0a;box-shadow:0 4px 20px #0080ff24}.stage-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.stage-icon-wrap{width:44px;height:44px;border-radius:10px;background:#0080ff14;display:flex;align-items:center;justify-content:center}.stage-tag{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:3px 9px;border-radius:20px;background:#f1f5f9;color:#475569}.business-stage-card.selected .stage-tag{background:#0080ff26;color:#0080ff}.stage-radio-check{display:flex;align-items:center}.radio-circle-empty{width:20px;height:20px;border-radius:50%;border:1.5px solid #94a3b8}.stage-card-title{font-size:1.08rem;font-weight:800;color:#0f172a;margin:0 0 .4rem}.stage-card-desc{font-size:.85rem;color:#64748b;line-height:1.45;margin:0;flex:1}.modules-composition-list{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}.module-composite-card{border:1.5px solid #cbd5e1;border-radius:14px;background:#fff;transition:all .2s ease;overflow:hidden}.module-composite-card.selected{border-color:var(--primary);box-shadow:0 4px 18px #0080ff1a}.module-card-header{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;cursor:pointer;transition:background .15s ease}.module-card-header:hover{background:#f8fafc}.module-checkbox-box{padding-top:2px}.custom-checkbox{width:22px;height:22px;border-radius:6px;border:1.5px solid #94a3b8;display:flex;align-items:center;justify-content:center;background:#fff;transition:all .2s}.custom-checkbox.checked{background:var(--primary);border-color:var(--primary)}.module-icon-box{width:44px;height:44px;border-radius:10px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;flex-shrink:0}.module-composite-card.selected .module-icon-box{background:#0080ff1a}.module-info-box{flex:1;min-width:0}.module-title-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.3rem}.module-title{font-size:1.05rem;font-weight:800;color:#0f172a;margin:0}.module-badge{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:12px}.module-badge.project{background:#e0f2fe;color:#0369a1}.module-badge.recurring{background:#dcfce7;color:#15803d}.module-desc{font-size:.85rem;color:#64748b;line-height:1.4;margin:0}.module-base-price{text-align:right;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding-left:.5rem}.price-tag-sub{font-size:.72rem;color:#94a3b8;font-weight:600}.module-base-price strong{font-size:1.05rem;font-weight:800;color:#0f172a}.module-composite-card.selected .module-base-price strong{color:var(--primary)}.module-features-container{border-top:1px solid #e2e8f0;background:#f8fafc;padding:1rem 1.5rem}.features-container-label{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;color:#475569;margin-bottom:.75rem}.module-subfeatures-grid{display:flex;flex-direction:column;gap:.5rem}.subfeature-pill-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .9rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .15s ease}.subfeature-pill-item:hover{border-color:#cbd5e1}.subfeature-pill-item.checked{border-color:#0080ff66;background:#0080ff05}.subfeature-pill-item input{display:none}.subfeature-check-icon{display:flex;align-items:center;flex-shrink:0}.sub-empty-check{width:16px;height:16px;border-radius:4px;border:1.5px solid #cbd5e1}.subfeature-name{font-size:.85rem;font-weight:600;color:#334155;flex:1}.subfeature-price{font-size:.82rem;font-weight:700;color:var(--primary);flex-shrink:0}.live-estimate-floating-bar{background:linear-gradient(135deg,#0080ff14,#0080ff05);border:1.5px solid rgba(0,128,255,.25);border-radius:12px;padding:1rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.5rem 0;flex-wrap:wrap}.floating-bar-info{display:flex;flex-direction:column;gap:.25rem}.floating-label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#64748b}.floating-values-row{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.estimate-setup-val,.estimate-recurring-val{font-size:.95rem;color:#0f172a}.estimate-setup-val strong{color:var(--primary);font-weight:800}.estimate-recurring-val strong{color:#10b981;font-weight:800}.floating-bar-note{display:flex;align-items:center;gap:5px;font-size:.78rem;color:#64748b}.substep-block{margin-bottom:1.75rem}.substep-title{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:800;color:#0f172a;margin:0 0 1rem}.timeline-options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0}.timeline-option{border:1.5px solid #cbd5e1;background:#fff;border-radius:12px;padding:1.25rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column}.timeline-option:hover{border-color:var(--primary);transform:translateY(-2px)}.timeline-option.selected{border-color:var(--primary);background:#0080ff0a;box-shadow:0 4px 15px #0080ff1a}.timeline-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.timeline-badge-urg,.timeline-badge-std,.timeline-badge-plan{font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:4px}.timeline-badge-urg{background:#fee2e2;color:#b91c1c}.timeline-badge-std{background:#e0f2fe;color:#0369a1}.timeline-badge-plan{background:#f1f5f9;color:#475569}.timeline-option h4{font-size:.95rem;font-weight:800;color:#0f172a;margin:0 0 .3rem}.timeline-option p{font-size:.8rem;color:#64748b;margin:0;line-height:1.4;flex:1}.budget-tiers-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem}.budget-tier-card{border:1.5px solid #cbd5e1;background:#fff;border-radius:10px;padding:1rem 1.2rem;cursor:pointer;transition:all .2s}.budget-tier-card:hover{border-color:var(--primary)}.budget-tier-card.selected{border-color:var(--primary);background:#0080ff0a;box-shadow:0 2px 10px #0080ff1a}.tier-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem;font-size:.95rem;color:#0f172a}.budget-tier-card p{font-size:.78rem;color:#64748b;margin:0;line-height:1.4}.live-estimate-preview{background:linear-gradient(135deg,#0080ff1a,#0080ff05);border:1.5px dashed rgba(0,128,255,.35);border-radius:12px;padding:1.5rem;text-align:center;margin-bottom:2rem}.preview-label{font-size:.88rem;font-weight:700;color:#475569;margin-bottom:.3rem}.preview-values{font-size:1.6rem;font-weight:800;color:var(--primary);margin-bottom:.4rem}.live-estimate-preview small{font-size:.78rem;color:#64748b;display:block}.modernize-diagnostic-box{background:linear-gradient(135deg,#0080ff0a,#0080ff03);border:1.5px solid rgba(0,128,255,.3);border-radius:14px;padding:1.4rem 1.5rem;margin-bottom:2rem}.diagnostic-box-header{display:flex;align-items:flex-start;gap:.9rem;margin-bottom:1.25rem;border-bottom:1px solid rgba(0,128,255,.15);padding-bottom:1rem}.diagnostic-header-icon{width:42px;height:42px;border-radius:10px;background:#0080ff1a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.diagnostic-box-title{font-size:1.1rem;font-weight:800;color:#0f172a;margin:0}.diagnostic-badge{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:12px;background:#0080ff26;color:#0080ff}.diagnostic-box-desc{font-size:.84rem;color:#64748b;margin:.25rem 0 0;line-height:1.4}.diagnostic-field-group{margin-bottom:1.25rem}.diagnostic-field-group:last-child{margin-bottom:0}.diagnostic-label{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:700;color:#334155;margin-bottom:.6rem}.diagnostic-text-input{width:100%;padding:.75rem 1rem;border:1.5px solid #cbd5e1;border-radius:10px;font-size:.92rem;font-family:inherit;color:#0f172a;background:#fff;outline:none;transition:all .2s;box-sizing:border-box}.diagnostic-text-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0080ff1f}.diagnostic-textarea{width:100%;padding:.85rem 1rem;border:1.5px solid #cbd5e1;border-radius:10px;font-size:.92rem;font-family:inherit;color:#0f172a;background:#fff;outline:none;transition:all .2s;resize:vertical;line-height:1.5;box-sizing:border-box}.diagnostic-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0080ff1f}.briefing-chip-group{display:flex;flex-wrap:wrap;gap:.6rem}.briefing-chip{display:inline-flex;align-items:center;gap:7px;padding:.55rem .95rem;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;font-size:.84rem;font-weight:600;color:#334155;cursor:pointer;transition:all .18s ease;font-family:inherit}.briefing-chip:hover{border-color:#94a3b8;background:#f8fafc}.briefing-chip.active{border-color:var(--primary);background:#0080ff14;color:#0080ff;font-weight:700}.briefing-chip.active.warning{border-color:#f43f5e;background:#f43f5e14;color:#e11d48}.chip-circle-empty{width:14px;height:14px;border-radius:50%;border:1.5px solid #cbd5e1}.briefing-general-section{display:flex;flex-direction:column;gap:1.25rem;margin-top:1rem}.briefing-question-card{border:1.5px solid #e2e8f0;background:#fff;border-radius:12px;padding:1.25rem 1.4rem}.question-header{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:.85rem}.question-icon-wrap{width:38px;height:38px;border-radius:8px;background:#0080ff14;display:flex;align-items:center;justify-content:center;flex-shrink:0}.question-title{font-size:.98rem;font-weight:800;color:#0f172a;margin:0 0 .25rem}.question-desc{font-size:.82rem;color:#64748b;margin:0;line-height:1.4}.spin-slow{animation:spin 10s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.executive-summary-box{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;padding:1rem 1.25rem;margin:1.25rem 0}.summary-badge-header{display:flex;align-items:center;gap:7px;font-size:.85rem;color:#1e293b;margin-bottom:.75rem}.executive-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;font-size:.85rem}@media(max-width:640px){.executive-summary-grid{grid-template-columns:1fr}}.summary-label{color:#64748b;margin-right:6px}.summary-val{color:#0f172a;font-weight:600}.summary-val-price{color:var(--primary);font-weight:800}.contact-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin:1.5rem 0}.input-group{position:relative;display:flex;align-items:center}.input-group.full-width{grid-column:span 2;margin-bottom:1.5rem}.input-icon{position:absolute;left:14px;color:#94a3b8;pointer-events:none}.input-group input,.input-group textarea{width:100%;padding:.8rem 1rem .8rem 2.8rem;border:1.5px solid #cbd5e1;border-radius:10px;font-size:.95rem;font-family:inherit;color:#0f172a;background:#fff;outline:none;transition:border-color .2s;box-sizing:border-box}.input-group textarea{padding-left:1rem;resize:vertical}.input-group input:focus,.input-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0080ff26}.step-nav-footer{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem}.step-btn-prev{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid #cbd5e1;color:#475569;padding:.75rem 1.4rem;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s}.step-btn-prev:hover{background:#f1f5f9}.step-btn-next,.step-btn-submit{display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:#fff;padding:.75rem 1.6rem;border-radius:8px;font-weight:700;border:none;cursor:pointer;box-shadow:0 4px 15px var(--primary-glow);transition:all .2s}.step-btn-next:hover,.step-btn-submit:hover{background:var(--primary-hover);transform:translateY(-1px)}.success-step{text-align:center;padding:2rem 1rem}.success-icon-wrap{margin-bottom:1.25rem}.success-title{font-size:1.9rem;font-weight:800;color:#0f172a;margin:0 0 .8rem}.success-desc{font-size:1rem;color:#475569;line-height:1.6;max-width:620px;margin:0 auto 2rem}.quote-summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem 1.5rem;max-width:580px;margin:0 auto 2rem;text-align:left;display:flex;flex-direction:column;gap:.75rem}.summary-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem;color:#334155}.summary-row.highlight{padding:.6rem 0;border-top:1px dashed #cbd5e1;border-bottom:1px dashed #cbd5e1}.summary-lbl{color:#64748b;font-weight:600;font-size:.85rem}.summary-price{font-size:1.15rem;color:var(--primary);font-weight:800}.success-cta-box{display:flex;flex-direction:column;align-items:center;gap:1.25rem;max-width:580px;margin:0 auto}.success-notice-box{display:flex;align-items:center;gap:10px;background:#0080ff0f;border:1px solid rgba(0,128,255,.25);border-radius:10px;padding:1rem 1.25rem;font-size:.88rem;color:#0369a1;line-height:1.5;text-align:left;width:100%;box-sizing:border-box}.success-secondary-actions{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;width:100%}.view-portfolio-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#334155;font-weight:700;font-size:.95rem;padding:.8rem 1.6rem;border-radius:10px;text-decoration:none;border:1px solid #cbd5e1;transition:all .2s}.view-portfolio-btn:hover{border-color:var(--primary);color:var(--primary)}.about-pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;margin:3rem 0}.about-pillar-card{background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,255,.16);border-radius:16px;padding:2.2rem 1.8rem;box-shadow:0 4px 20px #00000008}.about-pillar-card h3{font-size:1.25rem;font-weight:800;color:#0f172a;margin:1.2rem 0 .6rem}.about-pillar-card p{font-size:.92rem;color:#475569;line-height:1.6;margin:0}.about-action-banner{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,255,.2);border-radius:16px;padding:2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:3rem}.about-action-banner h3{font-size:1.5rem;font-weight:800;color:#0f172a;margin:0 0 .5rem}.about-action-banner p{font-size:.95rem;color:#64748b;margin:0}.about-btn-group{display:flex;align-items:center;gap:1rem;flex-shrink:0}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172a80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-card{background:#fff;width:100%;max-width:440px;border-radius:18px;padding:2.25rem;box-shadow:0 20px 50px #0003;position:relative;animation:modalFadeIn .25s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close-btn{position:absolute;top:18px;right:18px;background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px}.modal-close-btn:hover{color:#0f172a}.modal-header{text-align:center;margin-bottom:1.5rem}.modal-icon-badge{width:48px;height:48px;background:#0080ff14;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}.modal-title{font-size:1.35rem;font-weight:800;color:#0f172a;margin:0 0 .4rem}.modal-subtitle{font-size:.85rem;color:#64748b;line-height:1.4;margin:0}.google-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;background:#fff;border:1.5px solid #cbd5e1;color:#1e293b;font-weight:700;font-size:.95rem;padding:.75rem;border-radius:10px;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #00000008}.google-btn:hover{background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px)}.divider-row{display:flex;align-items:center;text-align:center;margin:1.25rem 0}.divider-row:before,.divider-row:after{content:"";flex:1;border-bottom:1px solid #e2e8f0}.divider-row span{padding:0 10px;font-size:.78rem;color:#94a3b8;font-weight:600;text-transform:uppercase}.auth-form{display:flex;flex-direction:column;gap:.9rem}.primary-submit-btn{background:var(--primary);color:#fff;border:none;padding:.85rem;border-radius:10px;font-weight:700;font-size:.95rem;cursor:pointer;margin-top:.5rem;box-shadow:0 4px 15px var(--primary-glow);transition:all .2s}.primary-submit-btn:hover{background:var(--primary-hover)}.error-message{font-size:.82rem;color:#ef4444;margin:0;text-align:center}.success-message{font-size:.82rem;color:#10b981;margin:0;display:flex;align-items:center;justify-content:center;gap:5px}.modal-footer-switch{text-align:center;margin-top:1.5rem;font-size:.85rem;color:#64748b}.modal-footer-switch p{margin:0}.link-switch-btn{background:transparent;border:none;color:var(--primary);font-weight:700;cursor:pointer;padding:0;text-decoration:underline}.whatsapp-float-btn{position:fixed;bottom:25px;right:25px;width:58px;height:58px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;z-index:99;box-shadow:0 8px 25px #25d36666;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.whatsapp-float-btn:hover{transform:scale(1.08) translateY(-2px);box-shadow:0 12px 30px #25d36680}.whatsapp-pulse{position:absolute;width:100%;height:100%;border-radius:50%;background:#25d366;opacity:.6;animation:waPulse 2s infinite ease-out;pointer-events:none}@keyframes waPulse{0%{transform:scale(1);opacity:.6}to{transform:scale(1.6);opacity:0}}.whatsapp-tooltip{position:absolute;right:68px;background:#0f172a;color:#fff;font-size:.82rem;font-weight:700;padding:6px 12px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(10px);transition:all .25s ease;box-shadow:0 4px 12px #00000026}.whatsapp-float-btn:hover .whatsapp-tooltip{opacity:1;transform:translate(0)}.site-footer{background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(0,128,255,.15);margin-top:6rem;padding:4rem 1.5rem 2rem;position:relative;z-index:10}.footer-container{max-width:1240px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:4rem;margin-bottom:3.5rem}.brand-col{flex:1;max-width:680px}.newsletter-col{flex:0 0 420px;max-width:440px;width:100%}.footer-brand-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem}.footer-logo-wrap{text-decoration:none;display:inline-flex;flex-shrink:0;margin-bottom:0}.footer-desc{font-size:.92rem;color:#64748b;line-height:1.6;margin:0;max-width:420px}.footer-badges{display:flex;flex-wrap:wrap;gap:8px}.footer-badge{display:inline-flex;align-items:center;gap:6px;background:#0080ff0f;border:1px solid rgba(0,128,255,.15);color:var(--primary);font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:6px}.footer-heading{font-size:1rem;font-weight:800;color:#0f172a;margin:0 0 1.25rem}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.footer-links a{text-decoration:none;color:#64748b;font-size:.92rem;font-weight:600;transition:color .2s}.footer-links a:hover{color:var(--primary)}.newsletter-desc{font-size:.88rem;color:#64748b;line-height:1.5;margin:0 0 1rem}.footer-newsletter-form{display:flex;flex-direction:column;gap:.5rem}.newsletter-input-wrap{display:flex;align-items:center;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;overflow:hidden;padding:3px;transition:border-color .2s}.newsletter-input-wrap:focus-within{border-color:var(--primary)}.newsletter-input-wrap input{border:none;padding:.65rem .9rem;font-size:.88rem;outline:none;flex:1;color:#0f172a}.newsletter-input-wrap button{background:var(--primary);color:#fff;border:none;padding:.65rem 1rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.newsletter-input-wrap button:hover{background:var(--primary-hover)}.newsletter-success{font-size:.82rem;color:#10b981;display:flex;align-items:center;gap:5px;margin:0}.footer-bottom{max-width:1240px;margin:0 auto;border-top:1px solid rgba(0,128,255,.12);padding-top:1.75rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.footer-copy{font-size:.85rem;color:#94a3b8;margin:0}.status-online{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:#059669;font-weight:700;background:#10b98114;padding:4px 10px;border-radius:20px}.status-dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:statusBlink 2s infinite ease-in-out}@keyframes statusBlink{0%,to{opacity:1}50%{opacity:.3}}@media(max-width:1024px){.nav-desktop{display:none}.mobile-menu-toggle{display:block}.mobile-drawer{display:block;pointer-events:auto;background:#fff;border:1px solid rgba(0,128,255,.18);border-radius:12px;padding:1rem 1.5rem 1.5rem;box-shadow:0 12px 25px #0000001a;margin-top:12px}.mobile-nav-links{display:flex;flex-direction:column;gap:.5rem}.mobile-nav-item{text-decoration:none;color:#334155;font-weight:700;font-size:1rem;padding:.75rem 1rem;border-radius:8px}.mobile-nav-item.active{background:#0080ff14;color:var(--primary)}.mobile-nav-item.highlight{color:var(--primary);background:#0080ff0a}.mobile-drawer-footer{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:1rem;display:flex;flex-direction:column;gap:1rem}.mobile-lang-row{display:flex;align-items:center;gap:10px}.mobile-lang-label{font-size:.85rem;font-weight:700;color:#64748b}.mobile-login-btn,.mobile-logout-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:.75rem;border-radius:8px;font-weight:700;font-size:.92rem;cursor:pointer}.mobile-login-btn{background:var(--primary);color:#fff;border:none}.mobile-logout-btn{background:#f1f5f9;color:#ef4444;border:none}.plans-cards-row,.pricing-grid,.diff-grid,.about-pillars-grid,.featured-projects-grid{grid-template-columns:1fr}.trust-bar{grid-template-columns:repeat(2,1fr)}.services-grid,.custom-services-grid,.projects-grid,.solution-types-grid,.timeline-options-grid,.business-stages-grid,.budget-tiers-grid{grid-template-columns:1fr}.footer-container{flex-direction:column;gap:2.5rem}.brand-col,.newsletter-col{max-width:100%;flex:1 1 auto}}@media(max-width:640px){.hero-title{font-size:2.15rem;min-height:150px}.page-main-title{font-size:2rem}.trust-bar,.contact-form-grid{grid-template-columns:1fr}.input-group.full-width{grid-column:span 1}.about-action-banner{flex-direction:column;text-align:center}.about-btn-group{flex-direction:column;width:100%}.about-btn-group a{width:100%;justify-content:center}.estimator-stepper{gap:.75rem}.step-label{display:none}.module-card-header{flex-wrap:wrap}.module-base-price{width:100%;align-items:flex-start;padding-left:3.4rem;margin-top:.3rem}.floating-values-row{flex-direction:column;align-items:flex-start;gap:.4rem}}.contact-page-wrap{max-width:1000px;margin:0 auto}.contact-layout-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:2rem;margin-top:2rem}.contact-info-card,.contact-form-card{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,255,.16);border-radius:16px;padding:2.2rem 2rem;box-shadow:0 4px 20px #00000008}.contact-info-card h3,.contact-form-card h3{font-size:1.4rem;font-weight:800;color:#0f172a;margin:0 0 .75rem}.contact-info-desc{font-size:.92rem;color:#64748b;line-height:1.5;margin:0 0 2rem}.channel-list{display:flex;flex-direction:column;gap:1rem}.channel-item{display:flex;align-items:center;gap:14px;padding:1rem 1.25rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;color:inherit;transition:all .2s}.channel-item.whatsapp{background:#25d3660f;border-color:#25d36640}.channel-item.whatsapp:hover{background:#25d3661f;border-color:#25d366;transform:translateY(-2px)}.channel-icon-box{width:42px;height:42px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--primary);box-shadow:0 2px 6px #0000000d;flex-shrink:0}.channel-item.whatsapp .channel-icon-box{color:#25d366}.channel-item strong{display:block;font-size:.95rem;color:#0f172a;margin-bottom:2px}.channel-item span{font-size:.82rem;color:#64748b}.contact-form-elements{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:.85rem;font-weight:700;color:#334155}.form-field input,.form-field textarea{padding:.8rem 1rem;border:1.5px solid #cbd5e1;border-radius:8px;font-size:.95rem;font-family:inherit;outline:none;transition:border-color .2s}.form-field input:focus,.form-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0080ff26}.contact-submit-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--primary);color:#fff;padding:.9rem;border-radius:10px;font-size:1rem;font-weight:700;border:none;cursor:pointer;box-shadow:0 4px 15px var(--primary-glow);transition:all .2s}.contact-submit-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.contact-status-banner{display:flex;align-items:center;gap:8px;padding:.85rem 1rem;border-radius:8px;margin-top:1rem;font-size:.9rem;font-weight:600}.contact-status-banner.success{background:#10b9811a;color:#065f46;border:1px solid #10b981}.contact-status-banner.info{background:#0080ff1a;color:var(--primary);border:1px solid rgba(0,128,255,.3)}@media(max-width:800px){.contact-layout-grid{grid-template-columns:1fr}}
