:root{--primary: #1b6ec2;--primary-dark: #1861ac;--primary-light: #e8f1fb;--link: #006bb7;--bg: #f4f6f9;--panel: #ffffff;--border: #e6e9ef;--text: #1f2733;--muted: #6b7684;--success: #1a9e57;--success-bg: #e5f6ec;--warn: #ff8500;--warn-bg: #fff2e0;--danger: #d92d2d;--danger-bg: #fde3e3;--sidebar-bg: #ffffff;--panel-2: #eef2f8;--muted-2: #98a2b3;--hover-bg: rgba(15, 23, 42, .045);--active-fg: var(--primary);--radius: 14px;--shadow: 0 1px 3px rgba(16, 24, 40, .06), 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 4px 16px rgba(16, 24, 40, .08);font-family:Helvetica Neue,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5{margin:0}button{font-family:inherit;cursor:pointer}.d-flex{display:flex}.align-items-center{align-items:center}.gap-3{gap:1rem}.mb-0{margin-bottom:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.py-4{padding:1.5rem 0}.small{font-size:.8125rem}.text-muted{color:var(--muted)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-center{text-align:center}.fw-semibold{font-weight:600}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;max-width:1280px;width:100%;margin:0 auto;padding:1.5rem}.app-signin{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#1b6ec2,#0d3f74)}.signin-card{background:#fff;padding:2.5rem 3rem;border-radius:20px;text-align:center;box-shadow:var(--shadow-md)}.brand-icon.lg{width:64px;height:64px;margin:0 auto 1rem;font-size:1.75rem}.topbar{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;box-shadow:var(--shadow)}.topbar-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem;height:62px;display:flex;align-items:center;gap:1.25rem}.topbar-brand{display:flex;align-items:center;gap:.65rem;cursor:pointer}.brand-icon{width:38px;height:38px;border-radius:10px;color:#fff;display:grid;place-items:center;font-size:1.05rem}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-name{font-weight:700;font-size:1rem}.brand-edition{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.topbar-nav{display:flex;gap:.25rem;margin-left:1rem}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:.25rem}.topbar-link{display:flex;align-items:center;gap:.45rem;padding:.5rem .8rem;border-radius:9px;color:var(--muted);font-weight:500;border:none;background:transparent;font-size:.875rem}.topbar-link:hover{background:var(--primary-light);color:var(--primary);text-decoration:none}.topbar-link.active{background:var(--primary-light);color:var(--primary)}.topbar-logout:hover{background:var(--danger-bg);color:var(--danger)}.nav-toggle,.nav-toggle-label{display:none}.home-hero{display:flex;gap:1.25rem;align-items:center;background:linear-gradient(135deg,#fff,#f0f6ff);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow);margin-bottom:1.5rem}.hero-icon{width:68px;height:68px;border-radius:16px;background:linear-gradient(135deg,var(--primary),#0d3f74);color:#fff;display:grid;place-items:center;font-size:1.9rem;flex-shrink:0}.hero-title{font-size:1.75rem;font-weight:800}.hero-greeting{margin:.25rem 0;color:var(--primary)}.hero-subtitle{margin:.25rem 0 0;color:var(--muted);max-width:760px}.section-label{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;margin:1.5rem 0 .75rem}.metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.metric-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;display:flex;align-items:center;gap:.9rem;box-shadow:var(--shadow)}.metric-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:1.15rem}.metric-icon-sites{background:var(--primary-light);color:var(--primary)}.metric-icon-current{background:var(--success-bg);color:var(--success)}.metric-icon-aging{background:var(--warn-bg);color:var(--warn)}.metric-icon-outdated{background:var(--danger-bg);color:var(--danger)}.metric-body{display:flex;flex-direction:column}.metric-value{font-size:1.5rem;font-weight:800}.metric-label{font-size:.8rem;color:var(--muted)}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.quick-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem;display:flex;align-items:center;gap:.9rem;color:var(--text);box-shadow:var(--shadow);transition:transform .12s,box-shadow .12s}.quick-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}.quick-card-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:1.15rem;color:#fff;flex-shrink:0}.quick-card-mobile{background:linear-gradient(135deg,#1b6ec2,#0d3f74)}.quick-card-api{background:linear-gradient(135deg,#7b3fe4,#4b1fa8)}.quick-card-web{background:linear-gradient(135deg,#17a980,#0c7a5c)}.quick-card-body{display:flex;flex-direction:column;flex:1}.quick-card-title{font-weight:700}.quick-card-desc{font-size:.8rem;color:var(--muted)}.quick-card-arrow{color:var(--muted)}.home-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:.75rem}.home-section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem;box-shadow:var(--shadow)}.section-header{display:flex;align-items:center;gap:.5rem;font-weight:700;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--border)}.section-header i{color:var(--primary)}.section-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--muted);padding:1.5rem 0}.section-empty i{font-size:1.5rem;color:var(--success)}.attention-list{display:flex;flex-direction:column;gap:.5rem}.attention-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border:1px solid var(--border);border-radius:10px;color:var(--text)}.attention-item:hover{background:var(--bg);text-decoration:none}.attention-info{display:flex;flex-direction:column}.attention-url{font-weight:600}.attention-meta{font-size:.78rem;color:var(--muted)}.view-all-link{display:inline-flex;gap:.4rem;margin-top:.75rem;font-size:.85rem}.builds-snapshot{display:flex;flex-direction:column;gap:.6rem}.snapshot-item{display:flex;gap:.75rem;align-items:center}.snapshot-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:#fff;flex-shrink:0}.snapshot-mobile{background:linear-gradient(135deg,#1b6ec2,#0d3f74)}.snapshot-release{background:linear-gradient(135deg,#7b3fe4,#4b1fa8)}.snapshot-web{background:linear-gradient(135deg,#17a980,#0c7a5c)}.snapshot-body{display:flex;flex-direction:column}.snapshot-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.snapshot-version{font-weight:600}.snapshot-date{font-size:.78rem;color:var(--muted)}.tips-list{display:flex;flex-direction:column;gap:.75rem}.tip-item{display:flex;gap:.65rem}.tip-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.tip-warn{background:var(--warn-bg);color:var(--warn)}.tip-info{background:var(--primary-light);color:var(--primary)}.tip-success{background:var(--success-bg);color:var(--success)}.tip-body{display:flex;flex-direction:column}.tip-body strong{font-size:.85rem}.tip-body span{font-size:.78rem;color:var(--muted)}.page-header{margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--primary),#0d3f74);color:#fff;display:grid;place-items:center;font-size:1.25rem}.info-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.info-strip-left{display:flex;gap:.5rem;flex-wrap:wrap}.stat-chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:.35rem .75rem;font-size:.8rem}.stat-chip i{color:var(--muted)}.stat-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.stat-success{color:var(--success)}.stat-warning{color:var(--warn)}.stat-danger{color:var(--danger)}.info-strip-warning{color:var(--warn);font-size:.8rem;display:inline-flex;gap:.4rem;align-items:center}.grid-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.grid-tabs{display:flex;border-bottom:1px solid var(--border)}.grid-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.85rem 1.25rem;border:none;background:transparent;color:var(--muted);font-weight:600;border-bottom:2px solid transparent}.grid-tab:hover{color:var(--primary);text-decoration:none}.grid-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.grid-body{padding:0}.branch-bar{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.branch-label{color:var(--muted);font-size:.8rem}.branch-chips{display:flex;gap:.4rem;flex-wrap:wrap}.branch-chip,.chip-btn{padding:.3rem .7rem;border-radius:16px;border:1px solid var(--border);background:#fff;font-size:.8rem;color:var(--text)}.branch-chip-active,.chip-btn-active{background:var(--primary);color:#fff;border-color:var(--primary)}.builds-list{display:flex;flex-direction:column;gap:.6rem;padding:1rem 1.25rem}.build-card{padding:.9rem 1.1rem;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.build-card-latest{border-color:transparent;background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(90deg,rgba(27,110,194,.35),var(--border)) border-box;border:1px solid transparent}.build-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.build-card-info{display:flex;flex-direction:column;gap:.35rem}.latest-badge{align-self:flex-start;background:var(--success-bg);color:var(--success);font-size:.68rem;font-weight:700;padding:.15rem .5rem;border-radius:12px;text-transform:uppercase}.build-version{font-weight:700;font-size:1rem}.build-meta{display:flex;gap:.75rem;font-size:.78rem;color:var(--muted)}.build-card-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.download-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .85rem;border-radius:9px;background:var(--primary);color:#fff;border:none;font-size:.82rem;font-weight:500}.download-btn:hover{background:var(--primary-dark);color:#fff;text-decoration:none}.live-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;border-radius:9px;background:var(--success-bg);color:var(--success);font-weight:600;font-size:.82rem}.no-files{color:var(--muted);font-size:.85rem}.build-card-button{display:block;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.build-card-button:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.build-card-button.build-card-latest:hover{border-color:var(--primary)}.build-card-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.build-card-button .build-card-header{cursor:pointer}.build-badges{display:flex;gap:.4rem;align-items:center}.live-badge-sm{padding:.15rem .5rem;font-size:.68rem;border-radius:12px}.build-file-count{color:var(--muted);font-size:.8rem;display:inline-flex;gap:.4rem;align-items:center}.build-card-chevron{color:var(--muted);font-size:.85rem;transition:transform .15s ease,color .15s ease}.build-card-button:hover .build-card-chevron{color:var(--primary);transform:translate(3px)}.breadcrumb-row{margin-bottom:.2rem}.breadcrumb-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--primary)}.breadcrumb-link:hover{text-decoration:underline}.build-detail-panel{padding:1.5rem;display:flex;flex-direction:column;gap:2rem}.build-detail-heading{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;margin:0 0 1rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.2rem}.detail-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.detail-value{font-size:.9rem;font-weight:600}.download-list{display:flex;flex-direction:column;gap:.5rem}.download-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);transition:border-color .15s ease,background .15s ease}.download-row:hover{border-color:var(--primary);background:var(--primary-light);text-decoration:none}.download-row-info{display:flex;align-items:center;gap:.6rem;min-width:0;flex-wrap:wrap}.download-row-name{font-weight:600;font-size:.88rem}.download-row-file{color:var(--muted);font-size:.78rem;word-break:break-all}.download-row-action{display:inline-flex;align-items:center;gap:.4rem;color:var(--primary);font-weight:600;font-size:.82rem;white-space:nowrap}.error-log-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;padding:0 .45rem;border-radius:999px;background:var(--danger-bg);color:var(--danger);font-size:.72rem;font-weight:700}.error-log-loading{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.85rem}.error-log-empty{display:inline-flex;align-items:center;gap:.5rem;color:var(--success);font-size:.85rem}.error-log-list{display:flex;flex-direction:column;gap:.5rem}.error-log-row{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--panel);border-left:3px solid var(--danger)}.error-log-row.error-log-info{border-left-color:var(--primary)}.error-log-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;text-align:left;background:transparent;border:none;padding:.75rem 1rem;cursor:pointer;color:inherit;font:inherit}.error-log-summary:hover{background:var(--panel-2)}.error-log-main{display:flex;flex-direction:column;gap:.35rem;min-width:0}.error-log-badges{display:flex;gap:.35rem}.error-log-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.12rem .45rem;border-radius:6px}.error-log-tag-error{background:var(--danger-bg);color:var(--danger)}.error-log-tag-info{background:var(--primary-light);color:var(--primary)}.error-log-tag-dev{background:var(--panel-2);color:var(--muted)}.error-log-desc{font-weight:600;font-size:.88rem;word-break:break-word}.error-log-meta{display:flex;flex-wrap:wrap;gap:.9rem;color:var(--muted);font-size:.76rem}.error-log-meta span{display:inline-flex;align-items:center;gap:.35rem}.error-log-chevron{color:var(--muted);font-size:.8rem}.error-log-detail{border-top:1px solid var(--border);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.85rem;background:var(--panel-2)}.error-log-block{display:flex;flex-direction:column;gap:.3rem}.error-log-block-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:700}.error-log-pre{margin:0;padding:.7rem .85rem;border-radius:8px;background:var(--panel);border:1px solid var(--border);font-size:.76rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto}.show-more-row{display:flex;justify-content:center;padding:1rem}.show-more-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;border-radius:9px;background:var(--panel);border:1px solid var(--border);color:var(--text);font-size:.85rem;font-weight:600}.show-more-btn:hover{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:.5rem}.spinner{width:34px;height:34px;border:3px solid var(--primary-light);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.spinner-sm{width:18px;height:18px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem;text-align:center;color:var(--muted)}.empty-state i{font-size:2rem;color:var(--muted)}.empty-state-inline{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:2.5rem;color:var(--muted)}.empty-state-inline i{font-size:1.5rem}.alert{border-radius:10px;padding:.75rem 1rem;font-size:.85rem}.alert-danger{background:var(--danger-bg);color:var(--danger)}.api-versions-list-container{display:flex;flex-direction:column;gap:.75rem}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:.5rem;background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:.4rem .7rem;min-width:260px}.search-box i{color:var(--muted)}.search-box input{border:none;background:transparent;outline:none;width:100%;font-size:.85rem}.toolbar-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.duplicate-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text);cursor:pointer}.selected-count-badge{background:var(--primary-light);color:var(--primary);padding:.3rem .65rem;border-radius:16px;font-size:.78rem;font-weight:600}.btn-primary-sm,.btn-secondary-sm,.btn-danger-sm{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;border-radius:8px;font-size:.82rem;font-weight:500;border:1px solid transparent}.btn-primary-sm{background:var(--primary);color:#fff}.btn-primary-sm:hover{background:var(--primary-dark)}.btn-primary-sm:disabled{opacity:.5;cursor:not-allowed}.btn-secondary-sm{background:#fff;color:var(--text);border-color:var(--border)}.btn-danger-sm{background:var(--danger);color:#fff;cursor:pointer}.btn-danger-sm:hover:not(:disabled){filter:brightness(.92)}.btn-danger-sm:disabled{opacity:.5;cursor:not-allowed}.delete-build-modal{font-size:.88rem}.delete-build-list{list-style:none;margin:0 0 .9rem;padding:.6rem .75rem;background:var(--hover-bg);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:.35rem}.delete-build-list i{width:18px;text-align:center;color:var(--muted)}.delete-build-confirm{display:flex;flex-direction:column;gap:.35rem;font-size:.84rem}.delete-build-confirm input{padding:.5rem .7rem;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text)}.grid-scroll-area{overflow-x:auto}.grid-table{width:100%;border-collapse:collapse;font-size:.85rem}.grid-table thead th{text-align:left;padding:.65rem .85rem;color:var(--muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);background:var(--bg);white-space:nowrap}.table-sort-button{display:inline-flex;align-items:center;gap:.35rem;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.table-sort-button:hover,.table-sort-button:focus-visible{color:var(--primary)}.table-sort-indicator{font-size:.65rem;opacity:.75}.table-sort-mobile{display:none}.grid-table tbody td{padding:.65rem .85rem;border-bottom:1px solid var(--border);vertical-align:middle}.grid-table tbody tr.row-clickable{cursor:pointer}.grid-table tbody tr:hover{background:#fafbfd}.grid-table tbody tr.row-selected{background:var(--primary-light)!important}.row-aging td{background:var(--warn-bg)}.row-outdated td{background:var(--danger-bg)}.col-toggle{width:48px}.col-version{width:120px}.col-date{width:140px}.col-status{width:220px}.col-actions{width:90px;text-align:right;white-space:nowrap}.cell-url a{font-weight:500;word-break:break-all}.cell-muted{color:var(--muted);white-space:nowrap}.version-pill{display:inline-block;padding:.2rem .55rem;border-radius:14px;font-size:.78rem;font-weight:600}.version-current{background:var(--success-bg);color:var(--success)}.version-aging{background:var(--warn-bg);color:var(--warn)}.version-outdated{background:var(--danger-bg);color:var(--danger)}.version-pill-sm{padding:.1rem .4rem;border-radius:10px;font-size:.72rem;font-weight:600}.version-outdated-sm{background:var(--danger-bg);color:var(--danger)}.env-badge{padding:.15rem .5rem;border-radius:10px;font-size:.68rem;font-weight:700}.env-live{background:var(--danger-bg);color:var(--danger)}.env-test{background:var(--primary-light);color:var(--primary)}.status-tag{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:500}.status-error{color:var(--danger)}.status-success{color:var(--success)}.status-warn{color:var(--warn)}.status-neutral{color:var(--muted)}.job-status-cell{display:flex;flex-direction:column;gap:.25rem}.job-label{font-size:.72rem;text-transform:uppercase;color:var(--muted)}.progress-track{height:6px;border-radius:4px;background:var(--border);overflow:hidden}.progress-fill{height:100%;background:var(--primary);transition:width .3s}.btn-icon{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--muted);margin-left:.25rem}.btn-icon:hover{background:var(--bg);color:var(--primary)}.toggle-switch{position:relative;display:inline-block;width:38px;height:20px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border);border-radius:20px;transition:.2s;cursor:pointer}.toggle-track:before{content:"";position:absolute;height:14px;width:14px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-track{background:var(--primary)}.toggle-switch input:checked+.toggle-track:before{transform:translate(18px)}.amx-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:grid;place-items:start center;padding:3rem 1rem;overflow-y:auto}.amx-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:1040}.amx-modal-dialog{position:relative;z-index:1051;width:100%;max-width:640px}.amx-modal-content{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden}.amx-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.amx-modal-title{font-weight:700}.amx-modal-close{border:none;background:var(--bg);width:32px;height:32px;border-radius:8px;color:var(--muted)}.amx-modal-close:hover{background:var(--danger-bg);color:var(--danger)}.amx-modal-body{padding:1.25rem;max-height:70vh;overflow-y:auto}.amx-modal-footer{padding:1rem 1.25rem;border-top:1px solid var(--border);text-align:right}.update-modal{display:flex;flex-direction:column;gap:.5rem}.modal-tabs{display:flex;gap:.25rem}.modal-tabs button{padding:.5rem 1rem;border:1px solid var(--border);border-bottom:none;background:var(--bg);border-radius:8px 8px 0 0;color:var(--muted);font-weight:600}.modal-tabs button.active{background:#fff;color:var(--primary)}.modal-tab-content{border:1px solid var(--border);border-radius:0 8px 8px;padding:1rem;max-height:55vh;overflow-y:auto}.branch-select-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.build-folders-accordion{display:flex;flex-direction:column;gap:.65rem}.file-row-wrapper{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--border);border-radius:14px;padding:.75rem 1rem;flex-wrap:wrap}.version-folder-header{display:flex;flex-direction:column;gap:.3rem}.version-folder-header h5{font-size:.95rem;font-weight:500}.version-folder-meta{display:flex;gap:.75rem;font-size:.8rem}.latest-text{color:var(--success);font-weight:700;font-size:.75rem}.version-folder-actions{display:flex;gap:.5rem;flex-wrap:wrap}.settings-modal-header{display:flex;flex-direction:column}.settings-modal-url{font-size:.78rem;color:var(--muted);font-weight:400;word-break:break-all}.settings-modal-body{display:flex;flex-direction:column;gap:.75rem}.settings-loading{display:flex;align-items:center;gap:.5rem;padding:1.5rem;justify-content:center}.settings-search-box{display:flex;align-items:center;gap:.5rem;background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:.4rem .7rem}.settings-search-box i{color:var(--muted)}.settings-search-box input{border:none;background:transparent;outline:none;width:100%;font-size:.85rem}.settings-scroll-area{max-height:50vh;overflow-y:auto;border:1px solid var(--border);border-radius:10px}.settings-table{width:100%;border-collapse:collapse;font-size:.82rem}.settings-table th{text-align:left;padding:.55rem .75rem;background:var(--bg);color:var(--muted);position:sticky;top:0;font-size:.72rem;text-transform:uppercase}.settings-table td{padding:.55rem .75rem;border-bottom:1px solid var(--border);vertical-align:top}.settings-key{font-weight:600;word-break:break-all;width:40%}.settings-value code{word-break:break-all;font-size:.8rem}.settings-masked{display:inline-flex;align-items:center;gap:.5rem}.btn-reveal{border:none;background:transparent;color:var(--primary)}.settings-footer{text-align:right;font-size:.78rem}.page-narrow{max-width:720px}.account-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-top:1rem;box-shadow:var(--shadow)}.account-card p{margin:.35rem 0;word-break:break-all}.account-admin-page{max-width:960px}.internal-sites-admin{min-width:0}.internal-sites-admin h4,.internal-sites-admin h5{margin-bottom:.75rem}.internal-sites-admin p{margin:0 0 .75rem;line-height:1.55;word-break:normal;overflow-wrap:break-word}.internal-site-search-label{display:block;margin-bottom:.4rem;color:var(--text);font-weight:600}.internal-site-search{display:block;width:100%;max-width:420px;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text);font:inherit}.internal-site-search::placeholder{color:var(--muted);opacity:1}.internal-site-search:focus{outline:2px solid var(--primary);outline-offset:2px}.internal-sites-admin .grid-table{color:var(--text)}.internal-sites-admin .grid-table td:first-child{overflow-wrap:anywhere}.internal-sites-admin .grid-table small{color:var(--muted)}.internal-site-approval{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.internal-site-approval>div{min-width:0;overflow-wrap:anywhere}.internal-site-approval small{color:var(--muted)}.internal-site-approval button{flex-shrink:0}@media(max-width:480px){.internal-site-approval{align-items:flex-start;flex-direction:column}}@media(max-width:900px){.metrics-row{grid-template-columns:repeat(2,1fr)}.quick-links,.home-columns{grid-template-columns:1fr}.topbar-nav,.topbar-actions{position:absolute;top:62px;left:0;right:0;flex-direction:column;background:#fff;border-bottom:1px solid var(--border);padding:.5rem;display:none}.nav-toggle-label{display:block;margin-left:auto;font-size:1.25rem;color:var(--muted)}.nav-toggle:checked~.topbar-nav,.nav-toggle:checked~.topbar-actions{display:flex}.topbar-actions{top:auto}}:root[data-theme=dark]{--primary: #2f6bfe;--primary-dark: #2a5ce0;--primary-light: rgba(47, 107, 254, .16);--link: #6aa1ff;--bg: #0c1322;--sidebar-bg: #0a0f1c;--panel: #131c2e;--panel-2: #0f1728;--border: #202c44;--text: #e6ecf5;--muted: #8a95a9;--muted-2: #5c677d;--success: #34d399;--success-bg: rgba(52, 211, 153, .14);--warn: #f6a94a;--warn-bg: rgba(246, 169, 74, .14);--danger: #f87171;--danger-bg: rgba(248, 113, 113, .14);--hover-bg: rgba(255, 255, 255, .05);--active-fg: #ffffff;--shadow: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 10px 30px rgba(0, 0, 0, .45)}html,body,#root{height:100%}body{background:var(--bg);color:var(--text)}input,textarea,select{color:var(--text)}::placeholder{color:var(--muted-2);opacity:1}code{color:var(--text)}a{color:var(--link)}.app-layout{flex-direction:row;min-height:100vh}.app-main{max-width:none;margin:0;padding:0;height:100vh;overflow-y:auto;flex:1;min-width:0}.app-main-inner{max-width:1440px;margin:0 auto;padding:1.75rem 2rem 3rem}.app-sidebar{width:250px;flex-shrink:0;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:.9rem .7rem;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:.7rem;padding:.5rem .6rem 1rem;cursor:pointer}.sidebar-brand .brand-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:1.1rem}.sidebar-nav{display:flex;flex-direction:column;gap:.12rem;flex:1;overflow-y:auto}.sidebar-section-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted-2);padding:.9rem .75rem .4rem;font-weight:600}.sidebar-link{display:flex;align-items:center;gap:.7rem;padding:.6rem .75rem;border-radius:9px;color:var(--muted);font-weight:500;font-size:.9rem;border:none;background:transparent;width:100%;text-align:left}.sidebar-link i{width:18px;text-align:center;font-size:.95rem}.sidebar-link:hover{background:var(--hover-bg);color:var(--text);text-decoration:none}.sidebar-link.active{background:var(--primary-light);color:var(--active-fg)}.sidebar-link.active i{color:var(--link)}.instructions-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;overflow:hidden}.instructions-header{display:flex;align-items:center;gap:.6rem;width:100%;padding:.7rem .9rem;border:none;background:transparent;color:var(--text);font-size:.88rem;font-weight:600;text-align:left;cursor:pointer}.instructions-header:hover{background:var(--hover-bg)}.instructions-icon{color:var(--link)}.instructions-title{flex:1}.instructions-chevron{font-size:.72rem;color:var(--muted-2)}.instructions-steps{margin:0;padding:0 1.1rem .9rem 2.4rem;display:flex;flex-direction:column;gap:.3rem;color:var(--muted);font-size:.84rem;line-height:1.45}.instructions-steps strong{color:var(--text);font-weight:600}.instructions-body{color:var(--muted);font-size:.84rem;line-height:1.5}.instructions-body strong{color:var(--text);font-weight:600}.instructions-body-text{padding:0 1.1rem .9rem 2.4rem}.instructions-body-text p{margin:0 0 .5rem}.instructions-points{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.28rem}.faq-list{display:flex;flex-direction:column;gap:.85rem}.faq-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1rem 1.15rem;box-shadow:var(--shadow)}.faq-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.faq-title{margin:0;font-size:1rem;font-weight:700;color:var(--text)}.faq-actions{display:flex;gap:.4rem;flex-shrink:0}.faq-description{margin:0 0 .75rem;white-space:pre-wrap;color:var(--muted);font-size:.88rem;line-height:1.55}.faq-meta{display:flex;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:.55rem;color:var(--muted-2);font-size:.75rem}.faq-meta i{margin-right:.3rem}.faq-form{display:flex;flex-direction:column;gap:.85rem}.faq-field{display:flex;flex-direction:column;gap:.35rem;font-size:.84rem;font-weight:600}.faq-field input,.faq-field textarea{padding:.55rem .7rem;border-radius:8px;font:inherit;font-weight:400;border:1px solid var(--border);background:var(--panel);color:var(--text)}.faq-field textarea{resize:vertical;min-height:9rem;line-height:1.5}.faq-field-hint{margin:0;font-size:.78rem;color:var(--muted-2)}.platform-badges{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap}.platform-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border-radius:999px;border:1px solid transparent;font-size:.75rem;font-weight:600;line-height:1}.platform-badge i{font-size:.8rem}.platform-badge-count{min-width:1.15rem;padding:0 .28rem;border-radius:999px;background:#ffffff8c;text-align:center;font-size:.7rem;font-weight:700}.platform-badge-mobile{background:#1b6ec21f;color:#1b6ec2;border-color:#1b6ec24d}.platform-badge-web{background:#7c6cf024;color:#6d5ce0;border-color:#7c6cf052}.platform-badge-missing{background:transparent;color:var(--muted-2);border:1px dashed var(--border)}.platform-badge-missing .platform-badge-count{background:transparent}.platform-badge-none{font-size:.7rem;font-weight:600;text-transform:lowercase;opacity:.85}[data-theme=dark] .platform-badge-mobile{background:#2f6bfe33;color:#7fa9ff;border-color:#2f6bfe66}[data-theme=dark] .platform-badge-web{background:#7c6cf038;color:#b3a7ff;border-color:#7c6cf06b}[data-theme=dark] .platform-badge-count{background:#0000004d}.sidebar-group-toggle{cursor:pointer}.sidebar-group-toggle .sidebar-group-chevron{margin-left:auto;font-size:.7rem;color:var(--muted-2);transition:transform .15s ease}.sidebar-group-toggle.open .sidebar-group-chevron{transform:rotate(180deg)}.sidebar-group-children{display:flex;flex-direction:column;gap:.12rem;margin-left:1.15rem;padding-left:.5rem;border-left:1px solid var(--border)}.sidebar-group-children .sidebar-link{font-size:.86rem;padding:.5rem .65rem}.sidebar-footer{border-top:1px solid var(--border);padding-top:.6rem;margin-top:.5rem;display:flex;flex-direction:column;gap:.2rem}.sidebar-user{display:flex;align-items:center;gap:.6rem;padding:.45rem .6rem;min-width:0}.user-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#2f6bfe,#7c6cf0);color:#fff;display:grid;place-items:center;font-size:.78rem;font-weight:700}.user-meta{display:flex;flex-direction:column;min-width:0}.user-name{font-size:.84rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logout:hover{background:#f8717124;color:var(--danger)}[data-theme=dark] .home-hero{background:linear-gradient(135deg,#14203a,#0e1728)}[data-theme=dark] .signin-card{background:var(--panel)}[data-theme=dark] .app-signin{background:linear-gradient(135deg,#0e1a33,#090f1c)}[data-theme=dark] .amx-modal-content{background:var(--panel)}[data-theme=dark] .amx-modal-backdrop{background:#03070fa8}[data-theme=dark] .modal-tabs button.active{background:var(--panel)}[data-theme=dark] .branch-chip,[data-theme=dark] .chip-btn,[data-theme=dark] .btn-secondary-sm{background:var(--panel);color:var(--text)}[data-theme=dark] .btn-icon{background:var(--panel-2);color:var(--muted)}[data-theme=dark] .btn-icon:hover{background:var(--primary-light);color:var(--link)}[data-theme=dark] .grid-table tbody tr:hover{background:#ffffff09}[data-theme=dark] .build-card-latest{background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(90deg,rgba(47,107,254,.5),var(--border)) border-box;border:1px solid transparent}.mobile-tabbar{display:none}@media(max-width:820px){.app-layout{flex-direction:column}.app-sidebar{display:none}.app-main{height:auto;overflow:visible}.app-main-inner{padding:1.1rem 1rem calc(84px + env(safe-area-inset-bottom,0px))}.mobile-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1000;background:var(--sidebar-bg);border-top:1px solid var(--border);padding:.3rem .25rem calc(.3rem + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 18px #00000038}.tabbar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.4rem 0;border:none;background:transparent;color:var(--muted);font-size:.64rem;font-weight:600;text-decoration:none;border-radius:10px}.tabbar-item i{font-size:1.15rem}.tabbar-item.active{color:var(--primary)}.tabbar-item:hover,.tabbar-item:focus{text-decoration:none}}.mobile-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1001;background:#03070f80}.mobile-sheet{position:fixed;left:0;right:0;bottom:0;z-index:1002;background:var(--panel);border-top:1px solid var(--border);border-radius:18px 18px 0 0;padding:.4rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 44px #00000073;animation:sheet-up .18s ease-out}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-sheet-handle{width:40px;height:4px;border-radius:2px;background:var(--border);margin:.4rem auto .85rem}.mobile-sheet-user{display:flex;align-items:center;gap:.7rem;padding:.25rem .4rem .9rem;border-bottom:1px solid var(--border);margin-bottom:.4rem}.mobile-sheet-item{display:flex;align-items:center;gap:.85rem;width:100%;padding:.9rem .5rem;border:none;background:transparent;color:var(--text);font-size:.95rem;text-decoration:none;border-radius:10px}.mobile-sheet-label{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted-2);font-weight:600;padding:.7rem .5rem .25rem}.mobile-sheet-item i{width:22px;text-align:center;color:var(--muted);font-size:1rem}.mobile-sheet-item:hover{background:var(--hover-bg);text-decoration:none}.mobile-sheet-item.danger,.mobile-sheet-item.danger i{color:var(--danger)}@media(min-width:821px){.mobile-tabbar,.mobile-sheet,.mobile-sheet-backdrop{display:none!important}}@media(max-width:680px){.table-sort-mobile{display:flex;align-items:center;gap:.6rem;padding:.6rem .85rem}.table-sort-mobile label{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted)}.table-sort-mobile select{min-width:6rem;padding:.35rem;border:1px solid var(--border);border-radius:5px;background:var(--panel);color:var(--text)}.grid-scroll-area{overflow-x:visible}.grid-table,.grid-table tbody,.grid-table tr,.grid-table td{display:block;width:100%}.grid-table thead{display:none}.grid-table tr{border:1px solid var(--border);border-radius:12px;margin:0 .75rem .75rem;padding:.25rem .85rem;background:var(--panel)}.grid-table tr.row-aging{background:var(--warn-bg)}.grid-table tr.row-outdated{background:var(--danger-bg)}.grid-table tr.row-aging td,.grid-table tr.row-outdated td{background:transparent}.grid-table tr.row-selected{outline:2px solid var(--primary);outline-offset:-1px}.grid-table td{border:none;border-bottom:1px solid var(--border);padding:.55rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;white-space:normal}.grid-table td:last-child{border-bottom:none}.grid-table td:before{content:attr(data-label);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);flex-shrink:0}.grid-table td.cell-url{flex-direction:column;align-items:stretch;gap:.25rem}.grid-table td.cell-url a{word-break:break-all;font-weight:500}.grid-table td.cell-muted{white-space:normal}.grid-table td.col-actions{justify-content:flex-end}.grid-table td .job-status-cell{align-items:flex-end;flex:1}.grid-table td .progress-track{width:100%;min-width:120px}}
