.hkp-wrap{color:#26352d}.hkp-hero{background:#dbe9d9;padding:64px 20px 58px}.hkp-container{max-width:1120px;margin:0 auto}.hkp-eyebrow{font-size:12px;font-weight:700;letter-spacing:.13em;color:#476b50;margin:0 0 12px}.hkp-hero h1{font-size:clamp(32px,4vw,50px);margin:0 0 10px;line-height:1.13;color:#26352d}.hkp-hero p{max-width:650px}.hkp-main{padding:35px 20px 70px}.hkp-card{background:#fff;border:1px solid #dce5da;border-radius:14px;padding:30px;margin-bottom:22px;box-shadow:0 3px 18px rgba(0,0,0,.035)}.hkp-card h2{margin-top:0;color:#26352d}.hkp-form{max-width:760px}.hkp-field{display:flex;flex-direction:column;gap:6px;margin:0 0 17px;font-weight:600}.hkp-field input,.hkp-field select,.hkp-field textarea{border:1px solid #becdbf;border-radius:8px;padding:11px 12px;background:white;width:100%;box-sizing:border-box;font:inherit;font-weight:400}.hkp-field input:focus,.hkp-field select:focus,.hkp-field textarea:focus{outline:2px solid #78a37d}.hkp-form button,.hkp-card input[type=submit]{background:#315d3c;color:white;border:0;border-radius:8px;padding:12px 22px;cursor:pointer;font-weight:700}.hkp-form button:hover,.hkp-card input[type=submit]:hover{background:#24472f}.hkp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hkp-between{display:flex;justify-content:space-between;align-items:start;gap:15px}.hkp-status{background:#e3eee3;border-radius:30px;padding:7px 14px;font-size:13px;font-weight:700;white-space:nowrap}.hkp-muted{font-size:13px;color:#59675c}.hkp-alert{padding:14px 18px;border-radius:9px;margin-bottom:18px}.hkp-error{background:#fbe7e7;color:#832929}.hkp-success{background:#e7f3e8;color:#245d31}.hkp-table-wrap{overflow:auto}.hkp-card table{width:100%;border-collapse:collapse}.hkp-card th,.hkp-card td{padding:12px;border-bottom:1px solid #e4eae2;text-align:left;white-space:nowrap}.hkp-card a{color:#315d3c}.hkp-card #loginform{max-width:440px}.hkp-card #loginform p{display:flex;flex-direction:column}.hkp-card #loginform input:not([type=checkbox]){max-width:100%;padding:10px;border-radius:8px;border:1px solid #becdbf}@media(max-width:700px){.hkp-hero{padding:42px 20px}.hkp-card{padding:20px}.hkp-grid{grid-template-columns:1fr}.hkp-between{flex-direction:column}}

.hkp-quest{border:1px solid #dce5da;border-radius:12px;padding:18px;margin:16px 0}.hkp-quest legend{font-weight:700;padding:0 8px}.hkp-consent{display:flex;gap:9px;align-items:start;margin:16px 0}.hkp-price{font-size:19px;font-weight:700}.hkp-form button.hkp-secondary{background:#e3eee3;color:#24472f;margin-bottom:16px}.hkp-form [hidden]{display:none!important}

/* Partnerstatistik */
.hkp-stats-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.hkp-stats-head p{margin-top:0}.hkp-stats-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.hkp-stat{border:1px solid #dce5da;background:#f5f9f4;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:8px}.hkp-stat span{font-size:13px;color:#526557}.hkp-stat strong{font-size:clamp(24px,3vw,34px);line-height:1.1;color:#315d3c;font-weight:750}.hkp-stats td strong{color:#315d3c}@media(max-width:700px){.hkp-stats-summary{grid-template-columns:1fr;gap:9px}.hkp-stat{padding:14px}}

/* Partnerportal 0.4.1 preview: accessible responsive tab navigation */
.hkp-portal-tabs{display:flex;gap:1rem;overflow-x:auto;border-bottom:1px solid #d8e1e9;margin:0 0 1.5rem;scrollbar-width:thin}
.hkp-portal-tabs button{flex:0 0 auto;background:transparent!important;color:#64748b!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;padding:1rem .35rem!important;font:inherit;font-weight:600!important;cursor:pointer;box-shadow:none!important}
.hkp-portal-tabs button[aria-selected="true"]{color:#1765d1!important;border-bottom-color:#1765d1!important}
.hkp-portal-tabs button:focus-visible{outline:2px solid #1765d1;outline-offset:-4px}
.hkp-tab-panel[hidden]{display:none!important}

.hkp-company-details{display:grid;grid-template-columns:minmax(130px,220px) minmax(0,1fr);gap:10px 18px;margin:12px 0 26px}.hkp-company-details dt{color:#637387}.hkp-company-details dd{margin:0;overflow-wrap:anywhere}.hkp-company-edit{border-top:1px solid #e1e7e1;padding-top:20px}.hkp-company-edit summary{color:#0763d4;cursor:pointer;font-weight:600;margin-bottom:18px}@media(max-width:600px){.hkp-company-details{grid-template-columns:1fr;gap:3px}.hkp-company-details dd{margin-bottom:12px}}

.hkp-brief{border:1px solid #d9e2d7;border-radius:10px;padding:18px;margin:16px 0}.hkp-brief legend{font-weight:700;padding:0 8px}.hkp-review-card{padding:18px 0;border-top:1px solid #dce5da}

/* Orderdetaljer och läsbara uppdrag i företagsportalen */
.hkp-order-detail{border-top:1px solid #dce5da;margin-top:22px;padding-top:20px}
.hkp-order-detail[hidden]{display:none!important}
.hkp-order-quest{border:1px solid #dce5da;border-radius:10px;margin:12px 0;overflow:hidden}
.hkp-order-quest summary{cursor:pointer;padding:15px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.hkp-order-quest[open] summary{background:#f5f9f4;border-bottom:1px solid #dce5da}
.hkp-quest-state{font-size:13px;color:#42674b;font-weight:600}
.hkp-quest-content{padding:18px;overflow-wrap:anywhere}
.hkp-quest-facts{display:grid;grid-template-columns:minmax(110px,160px) 1fr;gap:8px 16px}
.hkp-quest-facts dt{color:#64748b}.hkp-quest-facts dd{margin:0}
.hkp-order-image{max-width:100%;height:auto;border-radius:8px}
.hkp-review-form{margin-top:20px;border-top:1px solid #dce5da;padding-top:16px}
.hkp-review-form button.hkp-secondary{background:#e3eee3;color:#24472f}
@media(max-width:600px){.hkp-order-quest summary{align-items:flex-start;flex-direction:column}.hkp-quest-facts{grid-template-columns:1fr;gap:3px}.hkp-quest-facts dd{margin-bottom:10px}}

/* Beställningsöversikt: uppdrag som kräver åtgärd */
.hkp-review-alert{padding:14px 18px;margin:14px 0 18px;border:1px solid #e9d19a;border-radius:9px;background:#fff7e6;color:#75500a}
.hkp-review-alert p{margin:5px 0 0;font-size:14px}
.hkp-order-badge{display:inline-block;padding:5px 10px;border-radius:20px;font-size:12px;font-weight:650;white-space:nowrap}
.hkp-order-badge--attention{background:#fff0cf;color:#925900}
.hkp-order-badge--approved{background:#dff4e7;color:#17643b}
.hkp-order-badge--muted{background:#edf1f4;color:#536375}

/* Företagsportal – periodfilter och aktivitetsdiagram */
.hkp-partner-stats-filter{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.hkp-partner-stats-filter label{font-size:13px;color:#526557}
.hkp-partner-stats-filter select{background:#fff;border:1px solid #becdbf;border-radius:7px;padding:10px;min-width:170px;font:inherit}
.hkp-partner-stats-chart{margin:18px 0 24px}
.hkp-partner-stats-chart h3{margin:0 0 12px}
.hkp-partner-chart-scroll{overflow-x:auto}
.hkp-partner-chart-scroll svg{width:100%;min-width:580px;height:auto;display:block}
@media(max-width:700px){.hkp-stats-head{flex-direction:column;align-items:stretch}.hkp-partner-stats-filter select{flex:1}}

/* B03: valideringsfel direkt under respektive fält */
.hkp-field .hkp-field-error{display:block;color:#9a2525;font-size:13px;font-weight:500;line-height:1.4;margin-top:2px}
.hkp-field input.hkp-invalid,.hkp-field select.hkp-invalid,.hkp-field textarea.hkp-invalid{border-color:#b42318!important;outline-color:#b42318}

/* B05 – modal för integritetspolicyn, isolerad från HK Core. */
body.hkp-privacy-open { overflow: hidden; }
.hkp-privacy-modal { position: fixed; inset: 0; z-index: 99999; }
.hkp-privacy-modal[hidden] { display: none; }
.hkp-privacy-modal__backdrop { position: absolute; inset: 0; background: rgba(20,27,23,.58); }
.hkp-privacy-modal__dialog { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: calc(100% - 48px); max-width: 760px; max-height: calc(100vh - 80px); background: #fff; border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,.22); overflow: hidden; }
.hkp-privacy-modal__content { max-height: calc(100vh - 80px); padding: 36px 44px 44px; overflow-y: auto; font-size: 15px; line-height: 1.65; color: #26352d; }
.hkp-privacy-modal__content > :first-child { margin-top: 0; }
.hkp-privacy-modal__close { position: absolute; top: 18px; right: 18px; z-index: 2; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: #f1f3f2; color: #26352d; font-size: 24px; font-weight: 400; line-height: 1; cursor: pointer; }
.hkp-privacy-modal__close:hover, .hkp-privacy-modal__close:focus { background: #e4e8e5; }
@media (max-width: 600px) { .hkp-privacy-modal__dialog { width: calc(100% - 24px); max-height: calc(100vh - 24px); border-radius: 10px; } .hkp-privacy-modal__content { max-height: calc(100vh - 24px); padding: 28px 24px 32px; } .hkp-privacy-modal__close { top: 14px; right: 14px; } }
