.dev-portal *,.dev-portal :after,.dev-portal :before{margin:0;padding:0;box-sizing:border-box}.dev-portal{--ericsson-blue:#1174e6;--ericsson-dark-blue:#005499;--gray-1:#f2f2f2;--gray-2:#e0e0e0;--gray-3:#a0a0a0;--gray-4:#767676;--gray-5:#242424;--bg:#fff;--bg-surface:var(--gray-1);--bg-card:#fff;--bg-code:var(--gray-5);--bg-code-bar:#000;--border:var(--gray-2);--border-hover:var(--gray-4);--text:var(--gray-5);--text-secondary:var(--gray-4);--text-muted:var(--gray-4);--heading:var(--gray-5);--accent:var(--ericsson-blue);--accent-hover:var(--ericsson-dark-blue);--green:#288964;--green-bg:#e9f3ef;--orange:#e66e19;--purple:#8e45b0;--red:#dc2d37;--radius:4px;--font:var(--font-ericsson-hilda),Helvetica,Arial,sans-serif;--mono:var(--font-ericsson-hilda-mono),"Fira Code",Monaco,Consolas,monospace;--max-w:1400px;--nav-h:80px;scroll-behavior:smooth;scroll-padding-top:var(--nav-h);font-family:var(--font);background:var(--bg);color:var(--text);font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased}.dev-portal a{color:var(--accent);text-decoration:none;transition:color .2s}.dev-portal a:hover{color:var(--accent-hover);text-decoration:underline}.dev-portal code{font-family:var(--mono);font-size:.9em}.dev-portal img{max-width:100%}.dev-portal .container{max-width:var(--max-w);margin:0 auto;padding:0 1rem}.dev-portal .hero{position:relative;padding:5rem 0;overflow:hidden;background:#000}.dev-portal .hero-content{position:relative}.dev-portal .hero-badge{display:block;color:hsla(0,0%,100%,.7);font-size:12px;line-height:20px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem}.dev-portal .hero h1{font-size:32px;line-height:38px;font-weight:300;margin-bottom:1rem;color:#fff}.dev-portal .hero-sub{font-size:16px;line-height:24px;color:hsla(0,0%,100%,.8);max-width:640px;margin-bottom:2rem}.dev-portal .hero-actions{display:flex;gap:1rem}.dev-portal .btn{display:inline-flex;align-items:center;padding:14px 21px;border-radius:var(--radius);font-family:var(--font);font-weight:400;font-size:14px;line-height:1;transition:background-color .2s,color .2s,border-color .2s;border:none;cursor:pointer}.dev-portal .btn:hover{text-decoration:none}.dev-portal .btn-primary{background:#fff;color:var(--ericsson-dark-blue)}.dev-portal .btn-primary:hover{background:var(--gray-2);color:var(--ericsson-dark-blue)}.dev-portal .btn-secondary{background:transparent;color:#fff;border:2px solid #fff;padding:12px 19px}.dev-portal .btn-secondary:hover{background:#fff;color:var(--gray-5)}.dev-portal .section .btn-primary{background:var(--ericsson-blue);color:#fff}.dev-portal .section .btn-primary:hover{background:var(--ericsson-dark-blue);color:#fff}.dev-portal .section{padding:4rem 0}.dev-portal .section-dark{background:var(--bg-surface)}.dev-portal .section-header{margin-bottom:2.5rem}.dev-portal .section-badge{display:block;color:var(--text-muted);font-size:12px;line-height:20px;font-weight:500;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.06em}.dev-portal .section-header h2{font-size:32px;line-height:40px;font-weight:400;color:var(--heading);margin-bottom:.5rem}.dev-portal .section-header p{font-size:16px;line-height:24px;color:var(--text-secondary);max-width:640px}.dev-portal .link-arrow{display:inline-block;margin-top:.75rem;font-size:16px}.dev-portal .steps{max-width:800px}.dev-portal .step{display:flex;gap:2rem;margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid var(--border)}.dev-portal .step:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.dev-portal .step-number{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#000;color:#fff;font-weight:500;font-size:16px;border-radius:var(--radius)}.dev-portal .step-content{flex:1;min-width:0}.dev-portal .step-content h3{font-size:24px;line-height:32px;font-weight:500;color:var(--heading);margin-bottom:.75rem}.dev-portal .step-content p{color:var(--text-secondary);margin-bottom:1rem}.dev-portal .step-note{color:var(--text);font-weight:500;margin-top:1rem}.dev-portal .callout{background:var(--bg-surface);border-left:4px solid var(--gray-5);padding:1rem 1.2rem;font-size:14px;color:var(--text-secondary);line-height:22px}.dev-portal .callout strong{color:var(--text);font-weight:500}.dev-portal .code-tab-bar{display:flex;gap:0;background:var(--bg-code-bar);border-radius:var(--radius) var(--radius) 0 0;overflow:hidden}.dev-portal .code-tab{padding:.6rem 1.4rem;background:none;border:none;color:var(--gray-3);font-family:var(--font);font-size:14px;font-weight:400;cursor:pointer;transition:color .2s,background-color .2s}.dev-portal .code-tab:hover{color:#fff}.dev-portal .code-tab.active{color:#fff;background:var(--bg-code)}.dev-portal .code-panel{display:none;position:relative;background:var(--bg-code);border-radius:var(--radius);overflow-x:auto}.dev-portal .code-tab-bar~.code-panel{border-radius:0 0 var(--radius) var(--radius)}.dev-portal .code-panel.active{display:block}.dev-portal .code-panel pre{padding:1.5rem;margin:0}.dev-portal .code-panel code{font-family:var(--mono);font-size:14px;line-height:22px;color:var(--gray-1)}.dev-portal .copy-btn{position:absolute;top:.8rem;right:.8rem;background:transparent;border:1px solid var(--gray-4);color:var(--gray-2);padding:.3rem .8rem;border-radius:var(--radius);font-size:12px;cursor:pointer;transition:color .2s,border-color .2s;font-family:var(--font)}.dev-portal .copy-btn.copied,.dev-portal .copy-btn:hover{color:#fff;border-color:#fff}.dev-portal .version-toggle{display:flex;gap:.5rem;margin-bottom:2rem}.dev-portal .version-btn{padding:12px 21px;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-family:var(--font);font-size:14px;font-weight:400;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;display:flex;align-items:center;gap:.5rem}.dev-portal .version-btn:hover{border-color:var(--border-hover);color:var(--text)}.dev-portal .version-btn.active{background:var(--gray-5);border-color:var(--gray-5);color:#fff}.dev-portal .tag{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius);font-size:12px;line-height:16px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.dev-portal .tag-green{background:var(--green-bg);color:var(--green)}.dev-portal .tag-gray{background:var(--gray-1);color:var(--text-muted)}.dev-portal .api-grid{display:none;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.dev-portal .api-grid.active{display:grid}.dev-portal .api-grid>*,.dev-portal .auth-grid>*,.dev-portal .resource-grid>*,.dev-portal .usecase-grid>*,.dev-portal .webhook-layout>*{min-width:0}.dev-portal .api-card,.dev-portal .auth-card,.dev-portal .rate-limit-info,.dev-portal .resource-card,.dev-portal .usecase-card,.dev-portal .webhook-event{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s,background-color .2s}.dev-portal .api-card:hover,.dev-portal .resource-card:hover,.dev-portal .usecase-card:hover,.dev-portal .webhook-event:hover{border-color:var(--border-hover)}.dev-portal .api-card{display:block;padding:1.5rem;color:var(--text)}.dev-portal .api-card:hover{color:var(--text);text-decoration:none}.dev-portal .api-card-icon,.dev-portal .resource-icon,.dev-portal .usecase-icon{display:block;font-size:28px;color:var(--accent);margin-bottom:.75rem}.dev-portal .api-card h4,.dev-portal .auth-card h4,.dev-portal .rate-limit-info h4,.dev-portal .resource-card h4,.dev-portal .usecase-card h4{font-size:22px;line-height:28px;font-weight:500;color:var(--heading);margin-bottom:.5rem}.dev-portal .api-card p,.dev-portal .auth-card p,.dev-portal .rate-limit-info p,.dev-portal .resource-card p,.dev-portal .usecase-card p{font-size:14px;line-height:22px;color:var(--text-secondary)}.dev-portal .api-card p{margin-bottom:.8rem}.dev-portal .api-base{display:inline-block;max-width:100%;padding:.3rem .6rem;border-radius:var(--radius);background:var(--gray-1);color:var(--text);font-size:13px;overflow-wrap:anywhere}.dev-portal .api-full-ref{display:none;margin-top:2rem}.dev-portal .api-full-ref.active{display:block}.dev-portal .api-full-ref .api-base-urls{margin-top:1.2rem}.dev-portal .api-base-urls{display:flex;gap:2rem;margin-top:2rem;flex-wrap:wrap}.dev-portal .base-url{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;max-width:100%;background:var(--bg-card);border:1px solid var(--border);padding:.6rem 1rem;border-radius:var(--radius)}.dev-portal .base-url .section-badge{margin-bottom:0}.dev-portal .base-url code{color:var(--text);font-size:13px;overflow-wrap:anywhere}.dev-portal .webhook-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.dev-portal .webhook-info{display:flex;flex-direction:column;gap:.75rem}.dev-portal .webhook-event{display:flex;gap:1rem;align-items:flex-start;padding:1.2rem 1.5rem;cursor:pointer;width:100%;text-align:left;font-family:inherit}.dev-portal .webhook-event.active{border-color:var(--gray-5);background:var(--bg-surface)}.dev-portal .webhook-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;margin-top:.4rem}.dev-portal .webhook-dot.green{background:var(--green)}.dev-portal .webhook-dot.orange{background:var(--orange)}.dev-portal .webhook-dot.blue{background:var(--accent)}.dev-portal .webhook-dot.purple{background:var(--purple)}.dev-portal .webhook-event strong{color:var(--heading);font-size:16px;font-weight:500}.dev-portal .webhook-event .we-desc{display:block;color:var(--text-secondary);font-size:14px;line-height:22px;margin-top:.2rem}.dev-portal .webhook-payload{display:none;animation:fadeSlideIn .3s ease}.dev-portal .webhook-payload.active{display:block}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dev-portal .usecase-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.dev-portal .usecase-card{padding:2rem}.dev-portal .resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.dev-portal .resource-card{display:block;padding:2rem;color:var(--text)}.dev-portal .resource-card:hover{color:var(--text);text-decoration:none}.dev-portal .auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}.dev-portal .auth-card{padding:1.5rem}.dev-portal .auth-card h4{display:flex;align-items:center;gap:.6rem}.dev-portal .auth-card p{margin-bottom:1rem}.dev-portal .rate-limit-info{padding:1.5rem;max-width:640px}.dev-portal .rate-limit-info p{margin-bottom:1rem}@media (min-width:550px){.dev-portal .container{padding:0 2rem}.dev-portal .hero h1{font-size:52px;line-height:60px}.dev-portal .section-header h2{font-size:40px;line-height:48px}.dev-portal .step-content h3{font-size:32px;line-height:40px}}@media (min-width:1152px){.dev-portal .section{padding:6rem 0}}@media (max-width:1151px){.dev-portal .auth-grid,.dev-portal .webhook-layout{grid-template-columns:1fr}}@media (max-width:549px){.dev-portal .hero-actions{flex-direction:column;align-items:stretch}.dev-portal .btn{justify-content:center}.dev-portal .step{flex-direction:column;gap:1rem}.dev-portal .api-grid,.dev-portal .resource-grid,.dev-portal .usecase-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.dev-portal{scroll-behavior:auto}.dev-portal .webhook-payload{animation:none}}