*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e;min-height:100vh}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);padding:24px}.auth-card{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d}.auth-header{text-align:center;margin-bottom:28px}.auth-header h1{font-size:1.5rem;color:#1a1a2e;margin-bottom:4px}.auth-header p{color:#6b7280;font-size:.875rem}.auth-field{margin-bottom:18px}.auth-field label{display:block;font-size:.8rem;font-weight:600;color:#374151;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.auth-field input{width:100%;padding:10px 14px;border:1.5px solid #d1d5db;border-radius:8px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.auth-field input:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 3px #0f346026}.captcha-field label strong{color:#0f3460;font-size:1rem}.captcha-row{display:flex;gap:8px}.captcha-row input{flex:1}.captcha-refresh{background:#e5e7eb;border:none;border-radius:8px;width:42px;font-size:1.2rem;cursor:pointer;transition:background .2s}.captcha-refresh:hover{background:#d1d5db}.auth-btn{width:100%;padding:12px;border:none;border-radius:8px;background:linear-gradient(135deg,#0f3460,#1a1a2e);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;margin-top:8px;transition:opacity .2s,transform .1s}.auth-btn:hover{opacity:.9;transform:translateY(-1px)}.auth-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-error{background:#fee2e2;color:#991b1b;padding:10px 14px;border-radius:8px;font-size:.85rem;margin-bottom:16px;border-left:4px solid #dc2626}.auth-success{background:#d1fae5;color:#065f46;padding:10px 14px;border-radius:8px;font-size:.85rem;margin-bottom:16px;border-left:4px solid #059669}.auth-debug{background:#fef3c7;color:#92400e;padding:10px 14px;border-radius:8px;font-size:.85rem;margin-bottom:16px;border-left:4px solid #f59e0b}.auth-links{margin-top:20px;text-align:center;display:flex;justify-content:center;gap:16px}.auth-links button{background:none;border:none;color:#0f3460;font-size:.85rem;cursor:pointer;text-decoration:underline}.auth-links button:hover{color:#1a1a2e}.dashboard-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:linear-gradient(180deg,#1a1a2e,#16213e);color:#fff;display:flex;flex-direction:column;transition:width .3s;position:fixed;top:0;left:0;bottom:0;z-index:100}.sidebar.collapsed{width:64px}.sidebar-header{padding:20px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h2{font-size:1.1rem;white-space:nowrap;overflow:hidden}.sidebar.collapsed .sidebar-header h2{display:none}.sidebar-toggle{background:#ffffff1a;border:none;color:#fff;width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center}.sidebar-toggle:hover{background:#fff3}.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:4px}.sidebar-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:none;border-radius:8px;background:transparent;color:#ffffffb3;font-size:.9rem;cursor:pointer;text-align:left;transition:all .2s;white-space:nowrap;text-decoration:none}.sidebar-item:hover{background:#ffffff1a;color:#fff}.sidebar-item.active{background:#ffffff26;color:#fff;font-weight:600}.sidebar-item.logout{color:#ff6464cc}.sidebar-item.logout:hover{background:#ff646426;color:#ff6464}.sidebar-icon{font-size:1.2rem;width:24px;text-align:center;flex-shrink:0}.sidebar-footer{padding:12px 8px;border-top:1px solid rgba(255,255,255,.1)}.dashboard-main{flex:1;margin-left:260px;display:flex;flex-direction:column;transition:margin-left .3s}.sidebar.collapsed~.dashboard-main{margin-left:64px}.dashboard-topbar{background:#fff;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:50}.dashboard-topbar h1{font-size:1.25rem;color:#1a1a2e}.user-info{display:flex;align-items:center;gap:10px}.user-avatar{width:36px;height:36px;background:linear-gradient(135deg,#0f3460,#1a1a2e);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.user-name{font-weight:600;font-size:.9rem;color:#374151}.dashboard-content{flex:1;padding:28px 32px;overflow-y:auto}.home-page{max-width:960px}.welcome-card{background:linear-gradient(135deg,#0f3460,#1a1a2e 60%,#16213e);color:#fff;padding:36px 32px;border-radius:16px;margin-bottom:28px;position:relative;overflow:hidden}.welcome-card:after{content:"";position:absolute;top:-30px;right:-30px;width:140px;height:140px;background:#ffffff0f;border-radius:50%}.welcome-card h2{font-size:1.5rem;margin-bottom:6px}.welcome-card p{opacity:.8;font-size:.95rem}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.home-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #e5e7eb;transition:transform .2s,box-shadow .2s}.home-card.clickable{cursor:pointer}.home-card.clickable:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.home-card-icon{width:48px;height:48px;background:linear-gradient(135deg,#eef2ff,#dbeafe);color:#0f3460;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;margin-bottom:14px}.home-card h3{font-size:1rem;margin-bottom:6px;color:#1a1a2e}.home-card p{font-size:.85rem;color:#6b7280;line-height:1.5}.config-form-page{max-width:920px;overflow-anchor:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:5px}.field.full-width{grid-column:1 / -1}.field label{font-size:.75rem;font-weight:700;color:#4b5563;text-transform:uppercase;letter-spacing:.4px}.field input[type=text],.field input[type=number],.field input[type=url],.field textarea,.field select,.project-select{padding:10px 14px;border:1.5px solid #d1d5db;border-radius:8px;font-size:.875rem;background:#fff;transition:border-color .2s,box-shadow .2s;width:100%}.field input:focus,.field textarea:focus,.field select:focus,.project-select:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 3px #0f34601f}.field textarea{min-height:80px;resize:vertical}.field-row{display:flex;align-items:center;gap:8px}.field-row input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#0f3460}.field-row span{font-size:.875rem;color:#374151}.select-project-prompt{text-align:center;padding:48px 24px;color:#9ca3af;font-size:.95rem}.field-narrow{max-width:140px}.field-narrow input{width:100%;text-align:center;font-weight:700;font-size:1rem}.fields-inline{display:flex;gap:16px;grid-column:1 / -1}.api-test-params-bar{background:linear-gradient(135deg,#eef2ff,#dbeafe);border:1.5px solid #bfdbfe;border-radius:10px;padding:16px 20px;margin-bottom:20px}.api-test-params-title{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#0f3460;margin-bottom:12px}.api-test-params-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:8px}.api-test-params-grid .field label{font-size:.7rem;color:#374151}.api-test-params-grid input{padding:8px 12px;border:1.5px solid #93c5fd;border-radius:8px;font-size:.85rem;background:#fff;width:100%;font-weight:600;font-family:SF Mono,Cascadia Code,Fira Code,monospace}.api-test-params-grid input:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 3px #0f346026}.test-param-disabled{background:#f1f5f9!important;color:#6b7280!important;cursor:not-allowed}.api-test-params-hint{font-size:.72rem;color:#6b7280}.api-test-params-hint code{background:#fff;padding:1px 6px;border-radius:4px;font-size:.7rem;color:#0f3460;font-weight:600}@media (max-width: 768px){.api-test-params-grid{grid-template-columns:1fr}}.field-with-test{display:flex;gap:8px;align-items:center}.field-with-test input{flex:1;padding:10px 14px;border:1.5px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.field-with-test input:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 3px #0f34601f}.btn-test-api{padding:10px 18px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:1.5px solid #0f3460;border-radius:8px;background:#fff;color:#0f3460;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-test-api:hover{background:#0f3460;color:#fff}.btn-test-api:disabled{cursor:not-allowed;opacity:.5}.api-test-result{margin-top:8px;border-radius:8px;border:1.5px solid #e5e7eb;overflow:hidden;overflow-anchor:none}.api-test-result.success{border-color:#86efac}.api-test-result.warning{border-color:#fcd34d}.api-test-result.error{border-color:#fca5a5}.api-test-result-header{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:#fff;border-bottom:1px solid #f1f5f9}.api-test-status-badge{padding:2px 10px;border-radius:12px;font-size:.72rem;font-weight:800;font-family:SF Mono,Cascadia Code,Fira Code,monospace}.api-test-status-badge.success{background:#d1fae5;color:#065f46}.api-test-status-badge.warning{background:#fef3c7;color:#92400e}.api-test-status-badge.error{background:#fee2e2;color:#991b1b}.api-test-body{padding:10px 12px;font-size:.72rem;font-family:SF Mono,Cascadia Code,Fira Code,monospace;line-height:1.5;max-height:180px;overflow:auto;background:#fafbfc;color:#374151;margin:0;white-space:pre-wrap;word-break:break-all}.sub-id-rows{display:flex;flex-direction:column;gap:8px}.sub-id-row{display:flex;align-items:center;gap:8px}.sub-id-num{font-size:.75rem;font-weight:800;color:#0f3460;background:#eef2ff;padding:6px 10px;border-radius:6px;white-space:nowrap;min-width:32px;text-align:center}.sub-id-input{flex:1;padding:8px 12px;border:1.5px solid #d1d5db;border-radius:8px;font-size:.85rem;font-family:SF Mono,Cascadia Code,Fira Code,monospace;transition:border-color .2s}.sub-id-input:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 3px #0f34601f}.sub-id-label-input{flex:1;padding:8px 12px;border:1.5px solid #d1d5db;border-radius:8px;font-size:.85rem;transition:border-color .2s}.sub-id-label-input:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 3px #0f34601f}.sub-id-remove{background:none;border:1.5px solid #fca5a5;color:#dc2626;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.sub-id-remove:hover{background:#fee2e2}.btn-add-sub-id{background:#eef2ff;color:#0f3460;border:1.5px dashed #93c5fd;padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.82rem;transition:all .2s;align-self:flex-start}.btn-add-sub-id:hover{background:#dbeafe;border-color:#0f3460}.sub-test-box{background:#f8fafc;border:1.5px solid #e5e7eb;border-radius:10px;padding:14px 16px}.sub-test-row{display:flex;align-items:flex-end;gap:12px;margin-bottom:10px;flex-wrap:wrap}.sub-test-select-wrap{flex:1;min-width:200px}.sub-test-select-label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#6b7280;margin-bottom:6px}.sub-test-select{width:100%;padding:9px 14px;border:1.5px solid #93c5fd;border-radius:8px;font-size:.85rem;font-weight:600;font-family:SF Mono,Cascadia Code,Fira Code,monospace;background:#fff;cursor:pointer}.sub-test-select:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 3px #0f346026}.sub-resolved-preview{margin-bottom:10px}.sub-resolved-label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:#9ca3af;margin-bottom:4px}.sub-url-tests{margin-top:10px;display:flex;flex-direction:column;gap:10px}.sub-url-test-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:10px 14px}.sub-url-test-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.sub-url-label{font-size:.78rem;font-weight:700;color:#374151}.sub-url-value{display:block;font-size:.72rem;font-family:SF Mono,Cascadia Code,Fira Code,monospace;color:#0f3460;background:#eef2ff;padding:6px 10px;border-radius:6px;word-break:break-all;line-height:1.4}.sub-url-hint{font-size:.75rem;color:#9ca3af;margin-top:6px;font-style:italic}.sub-url-tests-header{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#6b7280;margin-bottom:4px}.sub-url-type-badge{font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:10px;margin-left:8px;text-transform:uppercase;letter-spacing:.3px;background:#eef2ff;color:#0f3460}.project-select{font-size:.95rem;font-weight:500;padding:12px 16px;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.lang-checklist{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.lang-chip{display:flex;align-items:center;gap:6px;padding:8px 16px;border:2px solid #d1d5db;border-radius:24px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;font-size:.85rem;font-weight:600;background:#fff}.lang-chip input{display:none}.lang-chip span{letter-spacing:.5px;color:#6b7280}.lang-chip:hover{border-color:#0f3460;background:#f8faff}.lang-chip.selected{border-color:#0f3460;background:linear-gradient(135deg,#eef2ff,#dbeafe)}.lang-chip.selected span{color:#0f3460}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:2px solid #eef2ff}.section-badge{width:32px;height:32px;background:linear-gradient(135deg,#0f3460,#1a1a2e);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}.section-header h2{margin:0;font-size:1rem;color:#1a1a2e;border:none;padding:0}.actions{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}.btn{padding:10px 20px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:all .2s}.btn-lg{padding:14px 32px;font-size:.95rem}.btn-primary{background:linear-gradient(135deg,#0f3460,#1a1a2e);color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover{background:#d1d5db}.message{padding:14px 18px;border-radius:10px;margin-bottom:20px;font-size:.875rem;font-weight:500}.message.success{background:#d1fae5;color:#065f46;border-left:4px solid #059669}.message.error{background:#fee2e2;color:#991b1b;border-left:4px solid #dc2626}.message.info{background:#dbeafe;color:#1e40af;border-left:4px solid #3b82f6}.section{margin-bottom:20px;padding:24px;background:#fff;border-radius:14px;box-shadow:0 2px 10px #0000000d;border:1px solid #e5e7eb;transition:box-shadow .2s}.section:hover{box-shadow:0 4px 16px #00000014}.view-projects-page{max-width:1100px}.view-projects-page>h2{font-size:1.1rem;margin-bottom:4px}.vp-filter-bar{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #e5e7eb;margin-bottom:24px;display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.vp-filter-bar .filter-field{flex:1;min-width:200px}.vp-filter-bar select{padding:10px 14px;border:1.5px solid #d1d5db;border-radius:8px;font-size:.9rem;width:100%;cursor:pointer}.vp-filter-bar select:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 3px #0f34601f}.vp-results{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.vp-empty{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #e5e7eb;padding:48px;text-align:center}.vp-empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.4}.vp-empty p{color:#6b7280;font-size:.95rem}.vp-cards{display:flex;flex-direction:column;gap:16px}.vp-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #e5e7eb;overflow:hidden;transition:box-shadow .2s}.vp-card:hover{box-shadow:0 4px 16px #0000001a}.vp-card-header{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .2s}.vp-card-header:hover{background:#f8fafc}.vp-card-title{display:flex;align-items:center;gap:14px}.vp-card-badge{width:46px;height:46px;background:linear-gradient(135deg,#0f3460,#1a1a2e);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;flex-shrink:0}.vp-card-title h3{font-size:1.05rem;color:#1a1a2e;margin-bottom:3px;text-transform:capitalize}.vp-card-meta{font-size:.8rem;color:#6b7280}.vp-card-header-right{display:flex;align-items:center;gap:14px}.vp-lang-tags{display:flex;gap:6px}.vp-lang-tag{background:#eef2ff;color:#0f3460;padding:3px 10px;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.vp-card-toggle{color:#9ca3af;font-size:.85rem}.vp-card-body{padding:0 22px 22px;border-top:1px solid #e5e7eb;animation:fadeIn .25s ease}.vp-section{padding-top:20px}.vp-section-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#0f3460;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid #eef2ff}.vp-links-row{display:flex;gap:12px;flex-wrap:wrap}.vp-link-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;border:1.5px solid}.vp-link-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.vp-link-icon{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;color:#fff;flex-shrink:0}.vp-link-miro{color:#f2a900;border-color:#f2a900;background:#fffbeb}.vp-link-miro .vp-link-icon{background:#f2a900}.vp-link-miro:hover{background:#fef3c7}.vp-link-figma{color:#a259ff;border-color:#a259ff;background:#faf5ff}.vp-link-figma .vp-link-icon{background:#a259ff}.vp-link-figma:hover{background:#f3e8ff}.vp-link-sheet{color:#0d9488;border-color:#0d9488;background:#f0fdfa}.vp-link-sheet .vp-link-icon{background:#0d9488}.vp-link-sheet:hover{background:#ccfbf1}.vp-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.vp-detail{display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0;transition:border-color .2s}.vp-detail:hover{border-color:#cbd5e1}.vp-detail-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8}.vp-detail-value{font-size:.88rem;color:#1e293b;font-weight:600;word-break:break-word}.vp-detail-url{font-size:.82rem;color:#2563eb;text-decoration:none;word-break:break-all;font-weight:500}.vp-detail-url:hover{text-decoration:underline;color:#1d4ed8}.vp-color-swatch{display:inline-block;width:20px;height:20px;border-radius:6px;border:2px solid rgba(0,0,0,.1);flex-shrink:0}.vp-url-list{display:flex;flex-direction:column;gap:0;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.vp-url-row{display:flex;align-items:flex-start;gap:16px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;transition:background .15s}.vp-url-row:last-child{border-bottom:none}.vp-url-row:hover{background:#f1f5f9}.vp-url-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#64748b;min-width:140px;flex-shrink:0;padding-top:2px}.vp-url-value{font-size:.82rem;color:#2563eb;text-decoration:none;word-break:break-all;font-weight:500;line-height:1.5}.vp-url-value:hover{text-decoration:underline;color:#1d4ed8}.btn-submit-green{background:#059669;color:#fff;border:none;cursor:pointer;transition:background .2s,opacity .2s}.btn-submit-green:hover:not(:disabled){background:#047857}.btn-submit-green:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.ca-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ca-field{display:flex;flex-direction:column;gap:6px}.ca-field label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:#374151}.ca-field input{padding:12px 14px;border:1.5px solid #d1d5db;border-radius:10px;font-size:.92rem;transition:border-color .2s,box-shadow .2s}.ca-field input:focus{border-color:#0f3460;box-shadow:0 0 0 3px #0f34601a;outline:none}.ca-hint{font-size:.75rem;font-weight:600}.ca-hint-error{color:#dc2626}.ca-hint-ok{color:#059669}.ca-password-wrap{position:relative;display:flex;align-items:center}.ca-password-wrap input{flex:1;padding-right:60px}.ca-toggle-pw{position:absolute;right:10px;background:none;border:none;color:#6b7280;font-size:.78rem;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.3px}.ca-toggle-pw:hover{color:#0f3460}.pw-strength{display:flex;align-items:center;gap:10px;margin-top:4px}.pw-strength-bar{flex:1;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.pw-strength-fill{height:100%;border-radius:3px;transition:width .3s,background .3s}.pw-weak{background:#ef4444}.pw-medium{background:#f59e0b}.pw-strong{background:#10b981}.pw-strength-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;min-width:52px}.pw-strength-label.pw-weak{color:#ef4444}.pw-strength-label.pw-medium{color:#f59e0b}.pw-strength-label.pw-strong{color:#10b981}.ca-pw-rules{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px;padding:14px 16px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.ca-pw-rule{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500;transition:color .2s}.ca-pw-rule.passed{color:#059669}.ca-pw-rule.failed{color:#9ca3af}.ca-pw-rule-icon{font-size:.9rem;font-weight:700;width:18px;text-align:center}.ca-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ca-role-card{display:flex;align-items:flex-start;gap:12px;padding:18px 16px;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;background:#fff}.ca-role-card:hover{border-color:#cbd5e1;background:#f8fafc}.ca-role-card.selected{border-color:#0f3460;background:#eff6ff;box-shadow:0 0 0 3px #0f34601a}.ca-role-card input[type=radio]{margin-top:3px;accent-color:#0f3460}.ca-role-info{display:flex;flex-direction:column;gap:4px}.ca-role-info strong{font-size:.92rem;color:#1e293b;text-transform:capitalize}.ca-role-info span{font-size:.78rem;color:#6b7280}@media (max-width: 768px){.ca-grid,.ca-role-grid{grid-template-columns:1fr}}.wd-form{display:flex;flex-direction:column;gap:16px}.wd-form-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.wd-field{display:flex;flex-direction:column;gap:6px}.wd-field label{font-size:.78rem;font-weight:700;text-transform:uppercase;color:#374151}.wd-field select{padding:10px 12px;border:1.5px solid #d1d5db;border-radius:10px;font-size:.9rem}.wd-field select:focus{border-color:#0f3460;outline:none;box-shadow:0 0 0 3px #0f34601a}.wd-assignments{display:flex;flex-direction:column;gap:20px}.wd-user-group{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.wd-user-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.wd-user-header h3{margin:0;font-size:1rem;color:#1e293b}.wd-count{margin-left:auto;font-size:.78rem;color:#6b7280;background:#e5e7eb;padding:4px 10px;border-radius:20px}.wd-user-assignments{display:flex;flex-direction:column}.wd-assignment-card{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #f1f5f9;transition:background .15s}.wd-assignment-card:last-child{border-bottom:none}.wd-assignment-card:hover{background:#f8fafc}.wd-assignment-info{display:flex;flex-direction:column;gap:3px}.wd-assignment-project{font-weight:700;color:#0f3460;font-size:.92rem;text-transform:capitalize}.wd-assignment-detail{font-size:.84rem;color:#374151}.wd-assignment-meta{font-size:.72rem;color:#9ca3af}.wd-assignment-actions{display:flex;gap:8px;flex-shrink:0}.wd-remove-btn{background:#fee2e2;color:#dc2626;border:1px solid #fecaca}.wd-remove-btn:hover{background:#fecaca}@media (max-width: 768px){.wd-form-row{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.wd-form-row{grid-template-columns:1fr}}.ar-filters{display:flex;flex-direction:column;gap:14px}.ar-filter-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ar-filter-field{display:flex;flex-direction:column;gap:6px}.ar-filter-field label{font-size:.78rem;font-weight:700;text-transform:uppercase;color:#374151}.ar-filter-field select{padding:10px 12px;border:1.5px solid #d1d5db;border-radius:10px;font-size:.9rem}.ar-filter-field select:focus{border-color:#0f3460;outline:none}.ar-filter-actions{display:flex;gap:10px;align-items:center}.ar-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px}.ar-table{width:100%;border-collapse:separate;border-spacing:0;min-width:700px}.ar-table thead th{background:#0f3460;color:#fff;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:14px 16px;text-align:left;white-space:nowrap;border-bottom:2px solid #0a2540}.ar-table thead th:first-child{border-top-left-radius:11px}.ar-table thead th:last-child{border-top-right-radius:11px}.ar-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;font-size:.88rem;color:#374151}.ar-table tbody tr:hover{background:#f8fafc}.ar-table tbody tr:last-child td{border-bottom:none}.ar-project{font-weight:700;color:#0f3460;text-transform:capitalize}.ar-user-tag{display:inline-block;background:#eff6ff;color:#1d4ed8;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600}.ar-summary{margin-top:14px;font-size:.85rem;color:#6b7280;text-align:right}@media (max-width: 768px){.ar-filter-row{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.ar-filter-row{grid-template-columns:1fr}}.api-field-row{display:flex;gap:8px;align-items:center}.api-field-row input{flex:1}.btn-test-api{white-space:nowrap;background:#0f3460;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-test-api:hover{background:#1a4a8a}.api-test-panel{margin-top:10px;padding:14px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px}.api-test-url-row{display:flex;gap:8px;align-items:center}.api-test-url-row label{font-size:.72rem;font-weight:700;text-transform:uppercase;color:#64748b;white-space:nowrap}.api-test-url-input{flex:1;font-family:monospace;font-size:.82rem;padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.section-toggle{display:flex;align-items:center;gap:8px;margin:4px 0 14px;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem;font-weight:600;color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none}.section-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#0f3460}.api-test-vpn-banner{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:8px 12px;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;font-size:.78rem;color:#92400e}.api-test-vpn-banner-icon{font-size:1rem}.api-test-route-tag{display:inline-block;padding:2px 8px;margin-left:8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;border-radius:999px}.api-test-route-tag.proxy{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.api-test-route-tag.direct{background:#e0e7ff;color:#3730a3;border:1px solid #c7d2fe}.vp-packs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.vp-pack-card{display:flex;gap:14px;padding:16px;background:linear-gradient(135deg,#f8fafc,#eef2ff);border-radius:12px;border:1.5px solid #dbeafe;transition:transform .2s,box-shadow .2s}.vp-pack-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0f346014}.vp-pack-num{width:36px;height:36px;background:linear-gradient(135deg,#0f3460,#1a1a2e);color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;flex-shrink:0}.vp-pack-info{flex:1;min-width:0}.vp-pack-name{font-size:.92rem;font-weight:700;color:#1a1a2e;margin-bottom:8px}.vp-pack-detail{display:flex;flex-direction:column;gap:1px;margin-bottom:6px}.vp-pack-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:#9ca3af}.vp-pack-val{font-size:.82rem;color:#374151;font-weight:500;word-break:break-all}.vp-test-params{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 14px;background:linear-gradient(135deg,#eef2ff,#dbeafe);border:1.5px solid #bfdbfe;border-radius:8px;margin-bottom:14px}.vp-test-params-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#6b7280}.vp-test-param{font-size:.82rem;color:#374151;background:#fff;padding:4px 12px;border-radius:6px;border:1px solid #dbeafe}.vp-test-param strong{color:#0f3460;font-family:SF Mono,Cascadia Code,Fira Code,monospace}.vp-resolved-url{padding:8px 12px;background:#f0fdf4;border-bottom:1px solid #f1f5f9;font-size:.72rem;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.vp-resolved-label{font-weight:700;color:#065f46;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.vp-resolved-url code{font-family:SF Mono,Cascadia Code,Fira Code,monospace;color:#059669;word-break:break-all}.vp-api-list{display:flex;flex-direction:column;gap:12px}.vp-api-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px}.vp-api-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.vp-api-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#9ca3af}.vp-api-value{display:block;font-size:.78rem;font-family:SF Mono,Cascadia Code,Fira Code,monospace;color:#0f3460;background:#eef2ff;padding:8px 12px;border-radius:6px;word-break:break-all;line-height:1.5}.vp-test-btn{padding:5px 14px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:1.5px solid #0f3460;border-radius:6px;background:#fff;color:#0f3460;cursor:pointer;transition:all .2s;white-space:nowrap}.vp-test-btn:hover{background:#0f3460;color:#fff}.vp-test-btn:disabled{cursor:not-allowed;opacity:.6}.vp-test-btn.loading{background:#eef2ff;border-color:#93a3bf;color:#93a3bf;animation:testPulse 1s infinite}@keyframes testPulse{0%,to{opacity:.6}50%{opacity:1}}.vp-test-result{margin-top:10px;border-radius:8px;border:1.5px solid #e5e7eb;overflow:hidden;animation:fadeIn .25s ease}.vp-test-result.success{border-color:#86efac}.vp-test-result.warning{border-color:#fcd34d}.vp-test-result.error{border-color:#fca5a5}.vp-test-result-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#fff;border-bottom:1px solid #f1f5f9}.vp-test-status{display:flex;align-items:center;gap:8px}.vp-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:12px;font-size:.72rem;font-weight:800;font-family:SF Mono,Cascadia Code,Fira Code,monospace;min-width:40px;text-align:center}.vp-status-badge.success{background:#d1fae5;color:#065f46}.vp-status-badge.warning{background:#fef3c7;color:#92400e}.vp-status-badge.error{background:#fee2e2;color:#991b1b}.vp-status-text{font-size:.78rem;font-weight:600;color:#6b7280}.vp-test-close{background:none;border:none;font-size:1.2rem;color:#9ca3af;cursor:pointer;padding:0 4px;line-height:1}.vp-test-close:hover{color:#374151}.vp-test-body{padding:12px;font-size:.75rem;font-family:SF Mono,Cascadia Code,Fira Code,monospace;line-height:1.6;max-height:250px;overflow:auto;background:#fafbfc;color:#374151;margin:0;white-space:pre-wrap;word-break:break-all}.vp-raw-json{margin-top:20px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.vp-raw-json summary{padding:10px 14px;font-size:.8rem;font-weight:600;color:#6b7280;cursor:pointer;background:#f8fafc;text-transform:uppercase;letter-spacing:.5px}.vp-raw-json pre{padding:14px;font-size:.75rem;max-height:350px;overflow:auto;background:#f8fafc;font-family:SF Mono,Cascadia Code,Fira Code,monospace;line-height:1.5}.journey-page{max-width:1100px}.journey-page>h2{font-size:1.1rem;margin-bottom:4px}.page-subtitle{color:#6b7280;font-size:.875rem;margin-bottom:24px}.journey-filters{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #e5e7eb;margin-bottom:24px}.filter-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.filter-field{display:flex;flex-direction:column;gap:6px;min-width:180px}.filter-field label{font-size:.75rem;font-weight:700;color:#4b5563;text-transform:uppercase;letter-spacing:.4px}.filter-field input,.filter-field select{padding:10px 14px;border:1.5px solid #d1d5db;border-radius:8px;font-size:.875rem}.filter-field input:focus,.filter-field select:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 3px #0f34601f}.filter-actions{display:flex;gap:8px}.journey-results{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #e5e7eb}.journey-results h3{font-size:.95rem;margin-bottom:16px;color:#1a1a2e}.no-results{color:#6b7280;font-size:.9rem;text-align:center;padding:24px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{background:#f8fafc;padding:10px 14px;text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;border-bottom:2px solid #e5e7eb}td{padding:10px 14px;font-size:.85rem;border-bottom:1px solid #f1f5f9;color:#374151}tr:hover td{background:#f8fafc}.log-entry{font-family:SF Mono,Cascadia Code,Fira Code,monospace;font-size:.8rem;color:#1a1a2e}@media (max-width: 1024px){.dashboard-content{padding:20px}.vp-detail-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.vp-packs-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (max-width: 768px){.sidebar{width:64px}.sidebar .sidebar-header h2,.sidebar .sidebar-nav .sidebar-item span:not(.sidebar-icon),.sidebar .sidebar-footer .sidebar-item span:not(.sidebar-icon){display:none}.dashboard-main{margin-left:64px}.dashboard-topbar{padding:14px 16px}.dashboard-topbar h1{font-size:1rem}.dashboard-content{padding:16px}.home-grid,.form-grid{grid-template-columns:1fr}.vp-filter-bar,.filter-row{flex-direction:column;align-items:stretch}.welcome-card{padding:24px 20px}.welcome-card h2{font-size:1.2rem}.section{padding:16px}.vp-detail-grid{grid-template-columns:1fr 1fr}.vp-links-row{flex-direction:column}.vp-packs-grid{grid-template-columns:1fr}.vp-lang-tags{display:none}}@media (max-width: 480px){.auth-card{padding:28px 24px}.vp-detail-grid{grid-template-columns:1fr}.lang-checklist{gap:8px}.lang-chip{padding:6px 12px;font-size:.8rem}}.sidebar-role-badge{padding:4px 14px 8px}.role-tag{display:inline-block;padding:3px 12px;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.role-tag.role-user{background:#ffffff1a;color:#fff9}.role-tag.role-head{background:#3b82f633;color:#93bbfd}.role-tag.role-superuser{background:#f59e0b33;color:#fbbf24}.vp-version-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;gap:10px}.vp-version-info{display:flex;align-items:center;gap:12px}.vp-last-updated{font-size:.8rem;color:#6b7280}.vp-last-updated strong{color:#374151}.vp-action-buttons{display:flex;gap:8px;flex-wrap:wrap}.btn-sm{padding:6px 14px;font-size:.78rem;border-radius:6px}.btn-restore{background:#fef3c7;color:#92400e;border:1.5px solid #f59e0b;cursor:pointer;font-weight:600;transition:all .2s}.btn-restore:hover{background:#fde68a}.btn-restore:disabled{opacity:.5;cursor:not-allowed}.btn-clone{background:#eef2ff;color:#0f3460;border:1.5px solid #0f3460;cursor:pointer;font-weight:600;transition:all .2s}.btn-clone:hover{background:#0f3460;color:#fff}.btn-compare{background:#eef2ff;color:#0f3460;border:1.5px solid #0f3460;cursor:pointer;font-weight:600;transition:all .2s}.btn-compare:hover{background:#dbeafe}.modal-wide{max-width:820px}.compare-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.compare-header h3{margin:0;text-transform:capitalize}.compare-subtitle{font-size:.82rem;color:#6b7280;margin-bottom:18px}.compare-table-wrap{max-height:420px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:20px}.compare-table{width:100%;border-collapse:collapse}.compare-table thead{position:sticky;top:0;z-index:1}.compare-table th{background:#f8fafc;padding:10px 14px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;border-bottom:2px solid #e5e7eb;text-align:left}.compare-col-current{background:#fef2f2!important;color:#991b1b!important}.compare-col-previous{background:#f0fdf4!important;color:#065f46!important}.compare-diff-row td{padding:10px 14px;font-size:.82rem;border-bottom:1px solid #f1f5f9;vertical-align:top}.compare-field-name{font-weight:700;color:#374151;text-transform:capitalize;white-space:nowrap;width:200px}.compare-val{word-break:break-word;font-family:SF Mono,Cascadia Code,Fira Code,monospace;font-size:.78rem;max-width:280px}.compare-val-current{background:#fef2f2;color:#991b1b}.compare-val-previous{background:#f0fdf4;color:#065f46}.compare-empty{color:#d1d5db;font-style:italic;font-family:inherit}.btn-restore-confirm{background:linear-gradient(135deg,#f59e0b,#d97706)!important;color:#fff!important}.btn-restore-confirm:hover{opacity:.9}.excel-bar{background:#fff;padding:18px 22px;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000f;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.excel-bar-left{display:flex;gap:10px;flex-wrap:wrap}.excel-hint{font-size:.78rem;color:#9ca3af}.btn-excel-import{background:#059669;color:#fff;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;font-size:.85rem;font-weight:600;transition:all .2s}.btn-excel-import:hover{background:#047857}.btn-excel-template{background:#fff;color:#059669;border:1.5px solid #059669;cursor:pointer;transition:all .2s}.btn-excel-template:hover{background:#f0fdf4}.btn-excel-export{background:#059669;color:#fff;border:none;cursor:pointer;padding:10px 20px;border-radius:8px;font-size:.85rem;font-weight:600;transition:all .2s;white-space:nowrap;align-self:flex-end}.btn-excel-export:hover{background:#047857}.preview-val{font-family:SF Mono,Cascadia Code,Fira Code,monospace;font-size:.8rem;color:#1a1a2e;word-break:break-word;white-space:pre-wrap;max-width:500px}.gsheet-bar{background:#fff;padding:18px 22px;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000f;margin-bottom:20px}.gsheet-input-row{display:flex;gap:10px;align-items:center}.gsheet-url-input{flex:1;padding:10px 14px;border:1.5px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.gsheet-url-input:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 3px #4285f426}.gsheet-url-input::placeholder{color:#9ca3af}.btn-gsheet{background:#4285f4;color:#fff;border:none;cursor:pointer;padding:10px 20px;border-radius:8px;font-size:.85rem;font-weight:600;transition:all .2s;white-space:nowrap}.btn-gsheet:hover{background:#3367d6}.btn-gsheet:disabled{opacity:.5;cursor:not-allowed}.btn-history{background:#f0fdf4;color:#065f46;border:1.5px solid #059669;cursor:pointer;font-weight:600;transition:all .2s}.btn-history:hover{background:#d1fae5}.history-timeline{max-height:480px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:20px;padding-right:4px}.history-item{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:box-shadow .2s}.history-item:hover{box-shadow:0 2px 8px #0000000f}.history-item.expanded{border-color:#0f3460}.history-item-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;transition:background .2s}.history-item-header:hover{background:#f8fafc}.history-item-left{display:flex;align-items:center;gap:12px}.history-action-badge{padding:3px 10px;border-radius:6px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.history-action-created{background:#d1fae5;color:#065f46}.history-action-updated{background:#dbeafe;color:#1e40af}.history-action-restored{background:#fef3c7;color:#92400e}.history-action-cloned{background:#ede9fe;color:#5b21b6}.history-item-meta{display:flex;flex-direction:column;gap:1px}.history-item-meta strong{font-size:.82rem;color:#1a1a2e}.history-item-meta span{font-size:.72rem;color:#9ca3af}.history-item-right{display:flex;align-items:center;gap:10px}.history-field-count{font-size:.72rem;color:#6b7280;background:#f1f5f9;padding:2px 8px;border-radius:10px}.history-item-body{padding:14px 16px;border-top:1px solid #e5e7eb;background:#fafbfc;animation:fadeIn .2s ease}.history-remarks{font-size:.82rem;color:#6b7280;margin-bottom:12px;font-style:italic}.history-changed-fields{margin-bottom:12px}.history-changed-fields label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;color:#9ca3af;margin-bottom:6px;letter-spacing:.3px}.history-field-tags{display:flex;flex-wrap:wrap;gap:6px}.history-field-tag{background:#eef2ff;color:#0f3460;padding:3px 10px;border-radius:6px;font-size:.72rem;font-weight:600;text-transform:capitalize}.history-snapshot-details{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.history-snapshot-details summary{padding:8px 14px;font-size:.78rem;font-weight:600;color:#6b7280;cursor:pointer;background:#f8fafc;text-transform:uppercase;letter-spacing:.4px}.history-snapshot-details pre{padding:12px 14px;font-size:.72rem;max-height:200px;overflow:auto;background:#fafbfc;font-family:SF Mono,Cascadia Code,Fira Code,monospace;line-height:1.5;margin:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:16px;padding:32px;width:100%;max-width:480px;box-shadow:0 20px 60px #0000004d}.modal-content h3{font-size:1.15rem;margin-bottom:20px;color:#1a1a2e}.modal-field{margin-bottom:18px}.modal-field label{display:block;font-size:.75rem;font-weight:700;color:#4b5563;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.modal-field input[type=text]{width:100%;padding:10px 14px;border:1.5px solid #d1d5db;border-radius:8px;font-size:.9rem}.modal-field input:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 3px #0f34601f}.clone-type-options{display:flex;gap:12px}.clone-type-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px;border:2px solid #d1d5db;border-radius:10px;cursor:pointer;transition:all .2s;text-align:center}.clone-type-option input{display:none}.clone-type-option span{font-size:.9rem;font-weight:700;color:#374151}.clone-type-option small{font-size:.72rem;color:#9ca3af}.clone-type-option.selected{border-color:#0f3460;background:#eef2ff}.clone-type-option:hover{border-color:#0f3460}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.edit-selector{margin-bottom:24px}.edit-config-list{margin-top:16px;display:flex;flex-direction:column;gap:10px}.edit-config-item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s}.edit-config-item:hover{box-shadow:0 4px 12px #00000014;border-color:#0f3460}.edit-config-item-info{display:flex;flex-direction:column;gap:2px}.edit-config-item-info strong{font-size:.95rem;color:#1a1a2e;text-transform:capitalize}.edit-config-item-info span{font-size:.8rem;color:#6b7280}.edit-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px 20px;background:#eef2ff;border-radius:10px;border:1.5px solid #dbeafe}.edit-header-bar h3{font-size:1rem;color:#0f3460;text-transform:capitalize}.assets-page{max-width:1100px}.assets-loading{text-align:center;padding:40px;color:#6b7280}.assets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.asset-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000f;overflow:hidden;transition:box-shadow .2s}.asset-card:hover{box-shadow:0 4px 16px #0000001a}.asset-card-wide{grid-column:1 / -1}.asset-card-header{padding:14px 18px;border-bottom:1px solid #f1f5f9}.asset-card-header h4{font-size:.85rem;font-weight:700;color:#1a1a2e;text-transform:uppercase;letter-spacing:.3px}.asset-preview{height:160px;display:flex;align-items:center;justify-content:center;background:#f8fafc;overflow:hidden}.asset-preview img{max-width:100%;max-height:100%;object-fit:contain}.asset-no-preview{display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:.85rem;height:100%;width:100%}.asset-url{padding:8px 18px;border-top:1px solid #f1f5f9}.asset-url code{font-size:.7rem;color:#6b7280;word-break:break-all;font-family:SF Mono,Cascadia Code,Fira Code,monospace}.asset-actions{padding:12px 18px;border-top:1px solid #f1f5f9;display:flex;gap:8px}.asset-scripts{padding:16px 18px;display:flex;flex-direction:column;gap:14px}.asset-script-item label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;color:#9ca3af;margin-bottom:4px}.asset-script-item pre{font-size:.75rem;background:#f8fafc;padding:10px;border-radius:6px;overflow-x:auto;max-height:100px;font-family:SF Mono,Cascadia Code,Fira Code,monospace}.content-mgmt-page{max-width:1100px}.cm-layout{display:flex;flex-direction:column;gap:24px}.cm-page-grid{background:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000f;padding:20px}.cm-grid-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#0f3460;margin-bottom:14px}.cm-grid{display:flex;flex-direction:column;gap:2px}.cm-grid-header,.cm-grid-row{display:flex;gap:2px}.cm-grid-cell{flex:1;padding:10px 12px;text-align:center;font-size:.78rem;font-weight:600}.cm-grid-label{flex:1.5;text-align:left;color:#374151;font-weight:700}.cm-grid-lang{background:#f8fafc;color:#6b7280;border-radius:6px;text-transform:uppercase;font-size:.7rem;letter-spacing:.3px}.cm-grid-btn{background:#f1f5f9;border-radius:6px;cursor:pointer;color:#9ca3af;transition:all .2s}.cm-grid-btn:hover{background:#dbeafe;color:#0f3460}.cm-grid-btn.has-content{background:#d1fae5;color:#065f46}.cm-grid-btn.active{background:#0f3460;color:#fff}.cm-editor{background:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000f;padding:24px}.cm-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:14px;border-bottom:2px solid #eef2ff}.cm-editor-header h4{font-size:1rem;color:#1a1a2e}.cm-status{padding:3px 12px;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.cm-status.saved{background:#dbeafe;color:#0f3460}.cm-status.new{background:#d1fae5;color:#065f46}.cm-fields{display:flex;flex-direction:column;gap:16px}.cm-field label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#4b5563;margin-bottom:6px}.cm-field textarea{width:100%;padding:10px 14px;border:1.5px solid #d1d5db;border-radius:8px;font-size:.875rem;resize:vertical;min-height:70px;transition:border-color .2s,box-shadow .2s}.cm-field textarea:focus{outline:none;border-color:#0f3460;box-shadow:0 0 0 3px #0f34601f}.cm-editor-actions{margin-top:20px;display:flex;gap:10px}
