:root{--brand-primary:#0d6efd;--brand-dark:#0a58ca;--surface:#eef0f3;--card-shadow:0 2px 12px rgba(0,0,0,0.1),0 12px 32px rgba(0,0,0,0.08);--radius:16px;--radius-sm:12px;--font-sans:"DM Sans",system-ui,-apple-system,sans-serif}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%}body,html{overflow-x:hidden;touch-action:manipulation}body{font-family:var(--font-sans);background:var(--surface);min-height:100vh;min-height:100dvh;color:#1a1d21;max-width:100%}@media (display-mode:standalone){.app-main{padding-top:max(1.25rem,env(safe-area-inset-top))}.admin-header{height:calc(56px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}}.app-main{--app-pad:1rem;flex-grow:1;width:100%;max-width:480px;margin-left:auto;margin-right:auto;padding:1.25rem var(--app-pad) 2rem;padding-left:max(var(--app-pad),env(safe-area-inset-left));padding-right:max(var(--app-pad),env(safe-area-inset-right));box-sizing:border-box}.app-main:has(.admin-header){max-width:960px}.app-main:has(.company-web){max-width:none;width:100%;padding:0;margin:0}body:has(.company-web){background:#f3eee6}@media (max-width:576px){.app-main{--app-pad:0.75rem;padding-top:1rem;padding-bottom:1.5rem}}.btn+.btn{margin-left:2px}@media (max-width:576px){.btn+.btn{margin-left:0}img{max-width:100%;height:auto}}.form-card{background:#fff;border-radius:var(--radius);box-shadow:var(--card-shadow);border:none;padding:1.75rem;max-width:100%;box-sizing:border-box}@media (max-width:576px){.form-card{padding:1rem}.form-card .d-flex.gap-2{flex-wrap:wrap}}.company-logo{max-height:72px;max-width:min(220px,70vw);width:auto;height:auto;object-fit:contain;margin:0 auto .75rem;display:block}.company-logo-admin{max-height:80px;max-width:200px;object-fit:contain}.card{box-shadow:var(--card-shadow)}.form-control,.form-select{border-radius:var(--radius-sm);border:1px solid #e2e6ea;padding:.75rem 1rem;font-size:1rem}.form-control:focus,.form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(13,110,253,.15)}.form-label{font-weight:600;color:#374151;margin-bottom:.35rem}.step-dots{display:flex;justify-content:center}.form-step-header,.step-dots{gap:.5rem;margin-bottom:1.5rem}.form-step-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:.5rem}.form-step-header .step-dots{margin-bottom:0}.form-step-back{justify-self:start;text-align:left}.step-dot{width:10px;height:10px;border-radius:50%;background:#dee2e6;transition:all .2s}.step-dot.active{width:28px;border-radius:5px;background:var(--brand-primary)}.step-dot.done{background:#198754}.btn-primary{border-radius:var(--radius-sm);padding:.65rem 1.5rem;font-weight:600;border:none;background:var(--brand-primary)}.btn-primary:hover{background:var(--brand-dark)}.btn-outline-secondary{border-radius:var(--radius-sm);padding:.65rem 1.5rem;font-weight:600}.category-card{border-radius:var(--radius-sm);border:2px solid #e2e6ea;padding:1rem 1.25rem;cursor:pointer;transition:all .2s;text-align:left;background:#fff}.category-card:hover{border-color:var(--brand-primary);background:rgba(13,110,253,.04)}.category-card.selected{border-color:var(--brand-primary);background:rgba(13,110,253,.08)}.category-card-anmalan{border-color:var(--brand-primary);background:linear-gradient(180deg,rgba(13,110,253,.08),#fff);font-weight:600}a.category-card{color:inherit;text-decoration:none;display:block}.badge-anmalan-ny{background:#0d6efd;color:#fff}.badge-anmalan-kontaktad{background:#0dcaf0;color:#053a45}.badge-anmalan-erbjuden{background:#198754;color:#fff}.badge-anmalan-avbodjd{background:#6c757d;color:#fff}.badge-anmalan-arkiverad{background:#adb5bd;color:#212529}.anmalan-print-only{display:none}@media print{body{background:#fff}.admin-header,.admin-menu-overlay,.anmalan-no-print{display:none!important}.anmalan-print-only{display:block!important}.app-main{max-width:none;padding:0;margin:0}.card,.card-body,.card-header{box-shadow:none!important;border:none!important}}.text-break{word-wrap:break-word;overflow-wrap:break-word}.badge-viktigast{background:#dc3545}.badge-viktigt{background:#fd7e14}.badge-alla{background:#6c757d}.btn-att-gora,.btn-att-gora:hover{border-color:#fd7e14}.badge-att-gora,.btn-att-gora,.btn-att-gora:hover{background-color:#fd7e14;color:#fff}.att-gora-checkbox{cursor:pointer;transition:background-color .15s,transform .1s;border:2px solid #fd7e14!important}.att-gora-checkbox:hover{filter:brightness(1.1)}.att-gora-checkbox:focus-visible{outline:2px solid #fd7e14;outline-offset:2px}.admin-header{position:-webkit-sticky;position:sticky;top:0;z-index:1020;background:#fff;border-bottom:1px solid #e2e6ea;padding:0 0 0 var(--app-pad,1rem);margin:-1.25rem calc(-1 * var(--app-pad, 1rem)) 1rem calc(-1 * var(--app-pad, 1rem));align-items:stretch;height:56px}@media (max-width:576px){.admin-header{margin-top:-1rem}}.admin-hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;margin:.4rem 0;align-self:center;padding:0;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer}.admin-hamburger span{display:block;width:22px;height:2px;background:#374151;border-radius:1px;transition:transform .2s,opacity .2s}.admin-hamburger.open span:first-child{transform:translateY(7px) rotate(45deg)}.admin-hamburger.open span:nth-child(2){opacity:0}.admin-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.admin-header-title{align-self:center}.admin-header-logo-link{display:flex;align-items:stretch;justify-content:flex-end;align-self:stretch;height:auto;min-width:52px;max-width:min(220px,42vw);flex-shrink:0;padding:0;margin:0}.admin-header-logo{height:56px;width:auto;max-width:100%;object-fit:contain;object-position:right center;display:block}.admin-header-logo-slot{width:44px;align-self:center;flex-shrink:0}.admin-menu-overlay{position:fixed;inset:0;z-index:1010;background:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.admin-menu-overlay.visible{opacity:1;visibility:visible}.admin-menu-drawer{position:fixed;top:0;left:0;bottom:0;z-index:1020;width:280px;max-width:85vw;background:#fff;box-shadow:4px 0 24px rgba(0,0,0,.12);padding:4rem 1.5rem 1.5rem;transform:translateX(-100%);transition:transform .2s}.admin-menu-overlay.visible .admin-menu-drawer{transform:translateX(0)}.admin-menu-drawer a,.admin-menu-drawer button{display:block;width:100%;text-align:left;padding:.75rem 0;background:none;color:#1a1d21;font-size:1rem;text-decoration:none;border:none;border-bottom:1px solid #eee;cursor:pointer}.admin-menu-drawer a:hover,.admin-menu-drawer button:hover{color:var(--brand-primary)}.admin-menu-logout{display:flex!important;align-items:center;gap:.5rem}.fastighet-list{display:flex;flex-direction:column;gap:.6rem}.fastighet-list-item{display:flex;align-items:center;gap:.85rem;width:100%;text-align:left;border:1px solid #e8ecf0;background:#fff;border-radius:var(--radius-sm);padding:.6rem;cursor:pointer}.fastighet-list-item:hover{border-color:var(--brand-primary);background:rgba(13,110,253,.04)}.fastighet-list-thumb{width:72px;height:56px;object-fit:cover;border-radius:8px;background:#eef0f3;flex-shrink:0}.fastighet-list-thumb-empty{display:inline-block}.fastighet-admin-image{width:180px;max-width:100%;height:120px;object-fit:cover;background:#eef0f3}.fastighet-dash{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.65rem;gap:.65rem;margin-bottom:1.25rem}.fastighet-dash-card{background:#f4f6f8;border-radius:var(--radius-sm);padding:.8rem .9rem;min-width:0}.fastighet-dash-label{font-size:.72rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:#6b7280;margin-bottom:.2rem}.fastighet-dash-value{font-size:1.05rem;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.fastighet-dash-hint{font-size:.75rem;color:#6b7280;margin-top:.2rem;line-height:1.35}.fastighet-dash-card.positive .fastighet-dash-value{color:#157347}.fastighet-dash-card.negative .fastighet-dash-value{color:#b02a37}@media (max-width:768px){.fastighet-dash{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.fastighet-dash{grid-template-columns:1fr}}.fastighet-scrape{border:1px solid #e8ecf0;border-radius:var(--radius-sm);background:#f8fafc;padding:.9rem}.fastighet-scrape-list{display:flex;flex-direction:column;gap:.5rem;max-height:22rem;overflow:auto}.fastighet-scrape-item{display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid #e8ecf0;border-radius:var(--radius-sm);padding:.5rem .65rem;margin:0;cursor:pointer}.fastighet-scrape-item.exists{background:rgba(13,110,253,.04)}.fastighet-scrape-meta{display:flex;flex-direction:column;min-width:0;line-height:1.3}.fastighet-scrape-meta strong{font-size:.92rem}.super-dash-table a.super-dash-link{color:inherit;text-decoration:underline;text-underline-offset:.15em}.super-dash-table a.super-dash-link:hover{color:var(--bs-primary)}.sandbox-panel{background:#fff8e8;border:1px solid rgba(180,140,40,.25);border-radius:.6rem;padding:.9rem 1rem 1rem}.oauth-btn{display:flex;align-items:center;justify-content:center;font-weight:600;border-width:1px}.oauth-google{background:#fff;color:#1f1f1f;border-color:#dadce0}.oauth-google:hover{background:#f7f8f8;color:#1f1f1f;border-color:#c6c6c6}.oauth-microsoft{background:#fff;color:#1f1f1f;border-color:#8c8c8c}.oauth-microsoft:hover{background:#f3f3f3;color:#1f1f1f}.oauth-divider{display:flex;align-items:center;gap:.75rem;margin:1rem 0 0;color:#6c757d;font-size:.8rem}.oauth-divider:after,.oauth-divider:before{content:"";flex:1 1;border-top:1px solid #e5e5e5}