:root{--color-bg: var(--bg);--color-surface: var(--bg-card);--color-surface-solid: var(--bg-elevated);--color-text: var(--text);--color-text-muted: var(--text-muted);--color-border: var(--border);--color-border-hover: var(--border-hover);--color-primary: var(--accent);--color-pink: var(--accent-secondary);--color-success: var(--accent-green);--color-warning: #fbbf24;--color-error: #ef4444;--shadow-lg: 0 8px 40px rgba(0, 0, 0, .5), 0 0 60px rgba(255, 107, 53, .08);--max-width: var(--container)}.portal{width:100%;max-width:var(--max-width);margin:0 auto;padding:2.5rem 1.25rem 4rem}.portal [data-portal-panel],.portal [data-portal-panel]>.section,.portal [data-portal-panel]>.forslag-innhold{width:100%}.portal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.portal-header h1{font-family:var(--font-body);font-size:1.75rem;font-weight:600;background:linear-gradient(135deg,var(--accent),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.portal-header .subtitle{color:var(--text-muted);font-size:.75rem;letter-spacing:.05em}.btn-logout{padding:.5rem 1.25rem;background:#ff6b3514;border:1px solid rgba(255,107,53,.25);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.btn-logout:hover{border-color:var(--accent);color:var(--accent);background:#ff6b351f}.portal .section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:.75rem;box-shadow:var(--shadow-card);transition:border-color .2s ease}.portal .section:hover{border-color:var(--border-hover)}.portal .section-title{font-family:var(--font-mono);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin-bottom:1rem}.portal .section-divider{border:none;border-top:1px solid var(--border);margin:1.25rem 0}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.85rem}.info-grid-3{grid-template-columns:repeat(3,1fr)}.info-grid-2{grid-template-columns:repeat(2,1fr)}.info-item label{display:block;font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.2rem}.info-item span{font-size:.9rem;font-weight:400}.info-item a{color:var(--accent);text-decoration:none;transition:color .2s ease}.info-item a:hover{color:#ff8f66}.checklist{display:flex;gap:1.5rem;flex-wrap:wrap}.check-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.check-icon{font-size:1rem}.check-yes{color:var(--accent-green)}.check-no{color:var(--text-dim)}.service-list{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}.service-tag{padding:.3rem .8rem;background:#ff6b351a;color:var(--accent);border:1px solid rgba(255,107,53,.2);border-radius:999px;font-family:var(--font-mono);font-size:.75rem;font-weight:400;letter-spacing:.02em;transition:border-color .2s ease,background .2s ease}.service-tag:hover{border-color:var(--border-hover);background:#ff6b3526}.upsell-text{margin-top:1.5rem;font-size:.75rem;color:var(--text-muted);line-height:1.6}.upsell-text a{color:var(--accent);text-decoration:none;font-weight:600}.upsell-text a:hover{color:#ff8f66}.report-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.report-link{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;color:var(--text);font-size:.8rem;transition:background .15s ease,border-color .15s ease}.report-link:hover{background:#ff6b350f;border-color:var(--border-hover)}.report-icon{font-size:1rem}.report-meta{display:flex;flex-direction:column;gap:.2rem;margin:.25rem 0 0 2.65rem;color:var(--text-muted);font-size:.75rem;line-height:1.4}.portal-report-page{padding:128px 1.25rem 4rem}.portal-report-shell{width:min(100%,940px);margin:0 auto}.portal-report-back{display:inline-flex;align-items:center;margin-bottom:1rem;color:var(--text-muted);font-size:.85rem;text-decoration:none}.portal-report-back:before{content:"←";margin-right:.45rem}.portal-report-back:hover{color:var(--accent)}.portal-report{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:clamp(1.25rem,4vw,3rem)}.portal-report-header{padding-bottom:1.5rem;margin-bottom:1.75rem;border-bottom:1px solid var(--border)}.portal-report-eyebrow{margin:0 0 .5rem;color:var(--accent);font-family:var(--font-mono);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.portal-report h1{margin:0;color:var(--text);font-size:clamp(1.7rem,4vw,2.45rem);letter-spacing:0}.portal-report-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.85rem;color:var(--text-muted);font-size:.9rem}.portal-report-summary{max-width:68ch;margin:1rem 0 0;color:var(--text-muted);line-height:1.65}.portal-report-content{color:var(--text);font-size:1rem;line-height:1.72}.portal-report-content>*+*{margin-top:1rem}.portal-report-content h1,.portal-report-content h2,.portal-report-content h3,.portal-report-content h4{margin-top:2rem;color:var(--text);letter-spacing:0}.portal-report-content h1{font-size:1.65rem}.portal-report-content h2{font-size:1.32rem}.portal-report-content h3{font-size:1.08rem}.portal-report-content p,.portal-report-content li{color:var(--text-muted)}.portal-report-content strong{color:var(--text);font-weight:700}.portal-report-content a{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}.portal-report-content ul,.portal-report-content ol{padding-left:1.25rem}.portal-report-content li+li{margin-top:.35rem}.portal-report-content blockquote{margin:1.25rem 0;padding:.85rem 1rem;border-left:3px solid var(--accent);background:#ff6b3512;border-radius:var(--radius-sm)}.portal-report-content blockquote p{color:var(--text)}.portal-report-content table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse}.portal-report-content th,.portal-report-content td{min-width:9rem;padding:.65rem .75rem;border:1px solid var(--border);text-align:left;vertical-align:top}.portal-report-content th{color:var(--text);background:#ff6b351f}.portal-report-content code{padding:.12em .35em;border-radius:4px;background:var(--bg-elevated);color:var(--text);font-size:.9em}.portal-report-content pre{overflow-x:auto;padding:1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm)}.portal-report-content pre code{padding:0;background:transparent}.portal-report-content img{max-width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--border)}.invoice-list{display:flex;flex-direction:column;gap:.35rem}.invoice-card{display:flex;align-items:center;gap:.85rem;padding:.75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);transition:background .15s ease,border-color .15s ease}.invoice-card:hover{background:#ff6b350f;border-color:var(--border-hover)}a.invoice-card{text-decoration:none;color:inherit;cursor:pointer}.invoice-icon{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:#ff6b351a;border-radius:6px;font-size:.85rem}.invoice-body{flex:1;min-width:0}.invoice-top{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.15rem}.invoice-nr{font-family:var(--font-mono);font-size:.85rem;font-weight:600;color:var(--text);white-space:nowrap}.invoice-date{font-size:.7rem;color:var(--text-dim)}.invoice-desc{font-size:.8rem;color:var(--text-muted);line-height:1.4}.invoice-amount{flex-shrink:0;white-space:nowrap;font-family:var(--font-mono);font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}.pdf-link{color:var(--accent);text-decoration:none;font-size:.75rem;font-weight:600;transition:color .2s ease}.pdf-link:hover{color:#ff8f66}.invoice-note{margin-top:1.25rem;font-size:.7rem;color:var(--text-dim)}.invoice-note a{color:var(--accent)}.next-invoice-date{font-weight:600}.link-row{display:flex;align-items:center;gap:.75rem}.link-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--accent);color:#fff;text-decoration:none;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.75rem;font-weight:600;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.link-btn:hover{transform:translateY(-1px);background:#e55a2b;box-shadow:var(--shadow-glow)}.link-btn-outline{background:transparent;color:var(--accent);border:1px solid rgba(255,107,53,.3)}.link-btn-outline:hover{border-color:var(--accent);background:#ff6b3514;transform:none;box-shadow:none}.site-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.site-domain-text{display:inline-flex;align-items:center;min-height:2.25rem;padding:.5rem 0;color:var(--text);font-family:var(--font-mono);font-size:.82rem;font-weight:600}.site-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem 1rem;margin:.85rem 0 0}.site-meta div{min-width:0}.site-meta dt{margin-bottom:.2rem;color:var(--text-dim);font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.site-meta dd{margin:0;color:var(--text-muted);font-size:.85rem;overflow-wrap:anywhere}.registrar-label{font-family:var(--font-mono);font-size:.7rem;color:var(--text-dim);letter-spacing:.02em;margin-top:.25rem}.portal .contact-section{text-align:center;padding:2rem 1.5rem}.portal .contact-section p{color:var(--text-muted);margin-bottom:1rem;font-size:.8rem}.btn-contact{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.5rem;background:var(--accent);color:#fff;text-decoration:none;border-radius:var(--radius-sm);font-family:var(--font-mono);font-weight:600;font-size:.8rem;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn-contact:hover{transform:translateY(-1px);background:#e55a2b;box-shadow:var(--shadow-glow)}.portal-footer{text-align:center;margin-top:2rem;color:var(--text-dim);font-size:.7rem}.portal-footer a{color:var(--text-dim);text-decoration:none;transition:color .2s ease}.portal-footer a:hover{color:var(--accent)}.login-container{display:flex;justify-content:center;padding:2rem 1.25rem 4rem}.login-card{background:var(--bg-card);border:1px solid var(--border);padding:2.5rem;border-radius:var(--radius);box-shadow:var(--shadow-lg);max-width:380px;width:100%;text-align:center}.login-card h1{font-family:var(--font-body);font-size:2rem;font-weight:800;margin-bottom:.35rem;background:linear-gradient(135deg,var(--accent),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-card .login-subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:.75rem}.login-card .error{color:var(--color-error);font-size:.8rem;margin-bottom:.75rem}.form-group{margin-bottom:.75rem;text-align:left}.form-group label{display:block;font-family:var(--font-mono);font-size:.65rem;font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.35rem}.form-group input{width:100%;padding:.75rem .9rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:16px;font-family:var(--font-mono);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease}.form-group input::placeholder{color:var(--text-dim)}.form-group input:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-glow)}.btn-login{width:100%;padding:.8rem;margin-top:.75rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.8rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn-login:hover{transform:translateY(-1px);background:#e55a2b;box-shadow:var(--shadow-glow)}.portal-actions{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.service-rows{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.service-row{display:flex;flex-direction:column;gap:.35rem;padding:.9rem 1.1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm)}.service-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.service-row-title{font-family:var(--font-body);font-size:.95rem;font-weight:600;color:var(--text);margin:0}.service-row-price{font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--accent);white-space:nowrap}.service-row-desc{font-size:.8rem;line-height:1.55;color:var(--text-muted);margin:0}.service-contact{margin-top:1.25rem;padding:1rem 1.1rem;background:#ff6b350f;border:1px solid rgba(255,107,53,.2);border-radius:var(--radius-sm);font-size:.85rem;line-height:1.55;color:var(--text-muted)}.service-contact a{color:var(--accent);text-decoration:none;font-weight:600}.service-contact a:hover{color:#ff8f66}.agreement-notes{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem;font-size:.8rem;color:var(--text-muted);line-height:1.5}.agreement-notes li{padding:.5rem .75rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm)}.empty-state{font-size:.85rem;color:var(--text-muted);line-height:1.6;margin:0}.empty-state a{color:var(--accent);text-decoration:none;font-weight:600}.empty-state a:hover{color:#ff8f66}.status-stepper{margin-bottom:1.25rem}.status-stepper-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative}.status-step{display:flex;flex-direction:column;align-items:center;gap:.4rem;position:relative;text-align:center;padding:0 .25rem}.status-step:not(:last-child):after{content:"";position:absolute;top:14px;left:calc(50% + 16px);right:calc(-50% + 16px);height:2px;background:var(--border);z-index:0}.status-step-done:not(:last-child):after,.status-step-active:not(:last-child):after{background:#ff6b3566}.status-step-circle{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.75rem;font-weight:600;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-dim);transition:background .2s ease,color .2s ease,border-color .2s ease}.status-step-done .status-step-circle{background:#ff6b352e;border-color:#ff6b3566;color:var(--accent)}.status-step-active .status-step-circle{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-glow)}.status-step-label{font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);line-height:1.3}.status-step-active .status-step-label,.status-step-done .status-step-label{color:var(--text-muted)}.status-step-active .status-step-label{color:var(--accent);font-weight:600}.portal-stats .stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.1rem;background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid rgba(255,107,53,.5);border-radius:var(--radius-sm)}.portal .stat-label{font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim)}.stat-value{font-family:var(--font-mono);font-size:1.4rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.nav-links-portal{list-style:none;margin:0;padding:0}.nav-links-portal .nav-back{font-family:var(--font-mono);font-size:.78rem;text-decoration:none;color:var(--text-muted);transition:color .2s ease}.nav-links-portal .nav-back:hover{color:var(--accent)}.footer-portal .footer-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem}.footer-portal .footer-links{list-style:none;margin:0;padding:0;display:flex;gap:1rem}.footer-portal .footer-links a{color:var(--text-muted);text-decoration:none;font-size:.78rem}.footer-portal .footer-links a:hover{color:var(--accent)}@media(max-width:600px){.status-stepper-list{grid-template-columns:1fr;gap:.5rem}.status-step{flex-direction:row;justify-content:flex-start;gap:.75rem;text-align:left}.status-step:not(:last-child):after{display:none}.status-step-label{font-size:.75rem}}@media(max-width:480px){.portal{padding:1.5rem 1rem 3rem}.portal-actions{margin-bottom:1rem}.info-grid,.info-grid-3,.info-grid-2{grid-template-columns:1fr}.invoice-table{font-size:.75rem}.portal .section{padding:1.25rem}.portal-stats .stats-grid{grid-template-columns:1fr}.footer-portal .footer-inner{flex-direction:column;gap:.5rem;text-align:center}}
