.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(--gray-5)}.dev-portal .btn-primary:hover{background:var(--gray-2);color:var(--gray-5)}.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 .stats-bar{background:var(--bg-surface);border-bottom:1px solid var(--gray-2)}.dev-portal .stats-grid{display:grid;grid-template-columns:repeat(var(--grid-cols,4),minmax(0,1fr));gap:var(--grid-gap,1rem);padding-top:1.5rem;padding-bottom:1.5rem}.dev-portal .stat p{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.dev-portal .stat strong{color:var(--text);font-weight:500}@media (max-width:768px){.dev-portal .stats-grid{grid-template-columns:repeat(2,1fr)}}.dev-portal .cms-rte table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:14px;line-height:20px}.dev-portal .cms-rte td,.dev-portal .cms-rte th{border:1px solid var(--gray-2);padding:.6rem .9rem;text-align:left;vertical-align:top}.dev-portal .cms-rte th{background:var(--bg-surface);font-weight:500;color:var(--text)}.dev-portal .section-dark .cms-rte th{background:hsla(0,0%,100%,.06)}.dev-portal .cms-rte table code{word-break:break-all}.dev-portal .webhook-event-text p{margin:0}.dev-portal .webhook-event-text strong{display:block}.dev-portal .quickstart-gotchas{margin-top:2rem}.dev-portal .quickstart-gotchas ul{list-style:disc;margin:.5rem 0 0;padding-left:1.2rem;display:grid;gap:.5rem}.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:block;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 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(var(--grid-cols,4),minmax(0,1fr));gap:var(--grid-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(--gray-5);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:repeat(var(--grid-cols,2),minmax(0,1fr));gap:var(--grid-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(var(--grid-cols,4),minmax(0,1fr));gap:var(--grid-gap,1rem)}.dev-portal .usecase-card{padding:2rem}.dev-portal .resource-grid{display:grid;grid-template-columns:repeat(var(--grid-cols,4),minmax(0,1fr));gap:var(--grid-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:repeat(var(--grid-cols,2),minmax(0,1fr));gap:var(--grid-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 (max-width:1151px){.dev-portal .api-grid,.dev-portal .resource-grid,.dev-portal .usecase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:549px){.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}}.dev-portal .recipe-grid{display:grid;grid-template-columns:repeat(var(--grid-cols,3),minmax(0,1fr));gap:var(--grid-gap,1rem)}@media (max-width:1151px){.dev-portal .recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:549px){.dev-portal .recipe-grid{grid-template-columns:1fr}}.dev-portal .recipe-grid>*{min-width:0}.dev-portal .recipe-card{display:flex;flex-direction:column;padding:1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s}.dev-portal .recipe-card:hover{border-color:var(--border-hover)}.dev-portal .recipe-card h3{font-size:22px;line-height:28px;font-weight:500;color:var(--heading);margin-bottom:.5rem}.dev-portal .recipe-card p{font-size:14px;line-height:22px;color:var(--text-secondary)}.dev-portal .recipe-level{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:12px;line-height:16px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.dev-portal .recipe-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--gray-3)}.dev-portal .recipe-dot.green{background:var(--green)}.dev-portal .recipe-dot.orange{background:var(--orange)}.dev-portal .recipe-dot.blue{background:var(--accent)}.dev-portal .recipe-dot.purple{background:var(--purple)}.dev-portal .recipe-apis{margin-top:auto;padding-top:1rem}.dev-portal .recipe-apis p{font-size:12px;line-height:20px;color:var(--text-muted)}.dev-portal .recipe-apis code{font-family:var(--mono);font-size:12px;color:var(--text-secondary);overflow-wrap:anywhere}.dev-portal .recipe-view{display:inline-block;padding:.75rem 0;margin-top:.75rem;border-top:1px solid var(--border);width:100%;font-size:13px;color:var(--accent)}.dev-portal .recipe-view:hover{color:var(--accent-hover)}.dev-portal .recipe-copy{width:100%;padding:12px 21px;background:transparent;border:1px solid var(--gray-5);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.dev-portal .recipe-copy:hover{background:var(--gray-5);color:#fff}.dev-portal .recipe-copy.copied{background:var(--green);border-color:var(--green);color:#fff}.dev-portal .recipe-copy.copy-failed{border-color:var(--red);color:var(--red)}