.skv-app{--blue:#0f3a5f;--blue2:#14527d;--light:#f4f8fb;--line:#d8e2ea;--green:#1f8a4c;--yellow:#b88400;--red:#bd2d2d;--gray:#687783;font-family:Arial,Helvetica,sans-serif;background:#eef4f8;color:#17212b;width:100%;overflow:visible;box-sizing:border-box}.skv-app *{box-sizing:border-box}.skv-app .skv-header{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;padding:18px 24px;box-shadow:0 2px 10px #0002}.skv-app .skv-header h1{margin:0;font-size:24px;color:#fff}.skv-app .skv-header p{margin:4px 0 0;color:#dcecf7}.skv-app .layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:650px}.skv-app .skv-nav{background:#fff;border-right:1px solid var(--line);padding:14px;overflow:visible}.skv-app .skv-main{padding:22px;overflow:visible;min-width:0}.skv-app .skv-nav button,.skv-app .btn{width:100%;border:0;background:#eef4f8;color:#17324a;text-align:left;padding:10px 12px;border-radius:8px;margin:4px 0;cursor:pointer;font-weight:600;font-family:inherit;text-decoration:none}.skv-app .skv-nav button.active,.skv-app .btn.primary{background:var(--blue);color:#fff}.skv-app .btn{display:inline-block;width:auto}.skv-app .btn.small{padding:6px 9px;font-size:12px}.skv-app .btn.danger{background:#ffe8e8;color:#8a1f1f}.skv-app .btn.ok{background:#e5f6ec;color:#146735}.skv-app .card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px;box-shadow:0 2px 8px #00000008}.skv-app .grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.skv-app .metric{background:var(--light);border-radius:10px;padding:14px}.skv-app .metric b{font-size:24px;display:block;color:var(--blue)}.skv-app h2{margin:0 0 12px;color:var(--blue);font-size:26px}.skv-app .muted{color:var(--gray);font-size:13px}.skv-app input,.skv-app select,.skv-app textarea{width:100%;max-width:100%;min-height:38px;padding:8px 9px;border:1px solid #c9d6df;border-radius:7px;background:#fff}.skv-app .toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.skv-app .pill{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700}.skv-app .okpill{background:#dff4e7;color:var(--green)}.skv-app .warnpill{background:#fff2c7;color:var(--yellow)}.skv-app .badpill{background:#ffe2e2;color:var(--red)}.skv-app .plant-picker{margin:10px 0 14px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#f7fbfe}.skv-app .plant-picker label{display:block;font-size:12px;color:var(--gray);font-weight:700;margin-bottom:5px}.skv-app .plant-mobile-tools{display:none}.skv-app details.agg{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:14px;box-shadow:0 2px 8px #00000008;overflow:hidden}.skv-app details.agg summary{cursor:pointer;list-style:none;padding:14px 18px;background:#eef4f8;border-left:5px solid var(--blue);font-weight:700;color:#24465f}.skv-app details.agg .agg-body{padding:16px}.skv-app .mobile-top-start{display:none;padding:12px;background:#eef4f8}.skv-app .skv-readonly{display:block;padding:7px 0;color:#17212b;word-break:break-word}
.skv-app .skv-card-list{display:grid;gap:12px}.skv-app .skv-card-list.compact{gap:10px}.skv-app .skv-row-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:0 1px 5px #00000006;min-width:0}.skv-app .skv-row-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #edf2f6;color:var(--blue)}.skv-app .skv-row-head strong{font-size:16px;word-break:break-word}.skv-app .skv-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 14px;min-width:0}.skv-app .skv-field{min-width:0}.skv-app .skv-field.wide{grid-column:span 2}.skv-app .skv-field-label{display:block;margin-bottom:4px;color:var(--gray);font-size:12px;font-weight:700}.skv-app .skv-field-value{min-width:0;word-break:break-word}.skv-app .admin-card{max-width:1180px}.skv-app .admin-list{display:grid;gap:14px;margin-top:12px}.skv-app .admin-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 2px 8px #00000006}.skv-app .admin-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #edf2f6;color:var(--blue)}.skv-app .admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 16px;align-items:end}.skv-app .admin-form-grid .wide{grid-column:span 2}.skv-app label{display:block}.skv-app label .muted{display:block;margin-bottom:5px;font-weight:700}.skv-app table{width:100%;border-collapse:collapse;background:#fff;table-layout:fixed}.skv-app th{background:#dcecf7;color:#16354e;text-align:left}.skv-app th,.skv-app td{border:1px solid var(--line);padding:10px;vertical-align:top;word-break:break-word}.skv-app tr:nth-child(even) td{background:#fbfdff}.skv-app .table-scroll{width:100%;overflow:visible}
@media(max-width:1100px){.skv-app .layout{grid-template-columns:220px minmax(0,1fr)}.skv-app .grid{grid-template-columns:1fr 1fr}.skv-app .admin-form-grid .wide,.skv-app .skv-field.wide{grid-column:span 1}}
@media(max-width:900px){.skv-app .skv-header{padding:12px 14px}.skv-app .layout{grid-template-columns:1fr}.skv-app .skv-nav{border-right:0;border-bottom:1px solid var(--line)}.skv-app .skv-main{padding:12px}.skv-app .dashboard-card{display:none}.skv-app .mobile-top-start{display:block}.skv-app .plant-mobile-tools{display:flex}.skv-app .btn,.skv-app .toolbar .btn{min-height:42px}.skv-app .skv-row-head{align-items:flex-start;flex-direction:column}.skv-app .skv-row-head .btn{width:100%;text-align:center}}
@media(max-width:600px){.skv-app .grid,.skv-app .skv-field-grid,.skv-app .admin-form-grid{grid-template-columns:1fr}.skv-app .card{padding:14px}.skv-app h2{font-size:22px}.skv-app .toolbar .btn{width:100%;text-align:center}}
@media print{.skv-app .skv-header,.skv-app .skv-nav,.skv-app .toolbar,.skv-app .no-print,.skv-app .actions{display:none!important}.skv-app .layout{display:block}.skv-app .skv-main{padding:0}.skv-app .card{box-shadow:none;border:0}.skv-app{background:#fff}.skv-app .page-break{break-before:page}}
.skv-app .skv-service-box{display:grid;gap:10px}.skv-app .skv-service-action{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.skv-app .skv-service-action input[type=date]{max-width:180px}.skv-app .skv-service-action .btn{margin:0;white-space:nowrap}.skv-app .skv-service-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:6px 0 0;padding:0}.skv-app .skv-service-list li{background:#eef4f8;border:1px solid var(--line);border-radius:999px;padding:4px 9px;font-size:12px;color:#17324a}.skv-app .skv-service-history{padding-top:4px}
@media(max-width:600px){.skv-app .skv-service-action{display:grid;grid-template-columns:1fr}.skv-app .skv-service-action input[type=date],.skv-app .skv-service-action .btn{max-width:none;width:100%;text-align:center}}
.skv-app .skv-plan-card{max-width:none}.skv-app .skv-plan-plant{background:#f7fbfe;border:1px solid var(--line);border-radius:14px;padding:16px;margin:16px 0}.skv-app .skv-plan-plant>h2{margin:0;color:var(--blue);font-size:24px}.skv-app .skv-plan-meta{color:var(--gray);font-size:13px;margin:4px 0 14px}.skv-app .skv-plan-unit{background:#fff;border:1px solid #e3edf4;border-radius:12px;padding:12px;margin:12px 0}.skv-app .skv-plan-unit-head{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#eef4f8;border-left:5px solid var(--blue);border-radius:9px;padding:10px 12px;margin-bottom:12px}.skv-app .skv-plan-unit-head h3{margin:0;color:#24465f;font-size:18px}.skv-app .skv-plan-unit-head span{font-size:13px;color:var(--gray);font-weight:700}.skv-app .skv-plan-point{box-shadow:none}.skv-app #skvStatusFilter{max-width:220px}.skv-app .skv-service-action select{min-width:180px;max-width:260px}.skv-app .skv-service-list li em{font-style:normal;color:var(--gray);font-weight:700;margin-left:6px}
@media(max-width:700px){.skv-app .skv-plan-plant{padding:12px}.skv-app .skv-plan-unit{padding:10px}.skv-app .skv-plan-unit-head{align-items:flex-start;flex-direction:column}.skv-app #skvStatusFilter{max-width:none;width:100%}.skv-app .skv-service-action select{max-width:none;width:100%}}

.skv-app details.skv-plan-unit{padding:0;overflow:hidden}.skv-app .skv-plan-unit-head{cursor:pointer;list-style:none;margin-bottom:0}.skv-app .skv-plan-unit-head::-webkit-details-marker{display:none}.skv-app .skv-plan-unit-head:after{content:'Åpne';font-size:12px;font-weight:700;color:var(--blue);background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 10px;white-space:nowrap}.skv-app details.skv-plan-unit[open]>.skv-plan-unit-head:after{content:'Lukk'}.skv-app .skv-unit-status{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-left:auto}.skv-app .skv-plan-unit-body{padding:12px}.skv-app .skv-plan-unit-head h3{margin-bottom:3px}
@media(max-width:700px){.skv-app .skv-unit-status{justify-content:flex-start;margin-left:0}.skv-app .skv-plan-unit-head:after{align-self:flex-start}.skv-app .skv-plan-unit-body{padding:10px}}

.skv-app .skv-aggregate-info{background:#fbfdff;border:1px solid var(--line);border-radius:10px;padding:12px;margin:12px 0;}
.skv-app details.skv-plan-point{padding:0;overflow:hidden;border:1px solid var(--line);}
.skv-app .skv-point-head{display:flex;align-items:center;gap:12px;justify-content:space-between;cursor:pointer;list-style:none;padding:13px 14px;background:#fff;}
.skv-app .skv-point-head::-webkit-details-marker{display:none;}
.skv-app .skv-point-head strong{color:var(--blue);font-size:16px;margin-right:auto;}
.skv-app .skv-point-head:after{content:'Åpne';font-size:12px;font-weight:700;color:var(--blue);background:#eef4f8;border:1px solid var(--line);border-radius:999px;padding:5px 10px;white-space:nowrap;}
.skv-app details.skv-plan-point[open]>.skv-point-head:after{content:'Lukk';}
.skv-app .skv-point-next{font-size:13px;color:var(--gray);font-weight:700;white-space:nowrap;}
.skv-app .skv-point-body{border-top:1px solid #edf2f6;padding:14px;background:#fff;}
@media(max-width:700px){.skv-app .skv-point-head{align-items:flex-start;flex-direction:column}.skv-app .skv-point-next{white-space:normal}.skv-app .skv-point-head:after{align-self:flex-start}}

/* v2.0.0 robust collapsed headings */
.skv-app .hidden{display:none!important}
.skv-app .skv-toggle-head{width:100%;border:0;text-align:left;font-family:inherit;margin:0}
.skv-app article.agg{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:14px;box-shadow:0 2px 8px #00000008;overflow:hidden}
.skv-app article.agg .skv-agg-head{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:14px 18px;background:#eef4f8;border-left:5px solid var(--blue);font-weight:700;color:#24465f;border-radius:0}
.skv-app .skv-agg-head>div:first-child,.skv-app .skv-plan-unit-head>div:first-child{display:grid;gap:3px;min-width:0}
.skv-app .skv-agg-head span,.skv-app .skv-plan-unit-head span{font-size:13px;color:var(--gray)}
.skv-app .skv-open-label{font-size:12px;font-weight:700;color:var(--blue)!important;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 10px;white-space:nowrap}
.skv-app .skv-point-head .skv-open-label{background:#eef4f8;color:var(--blue)!important}
.skv-app .skv-plan-unit-head:after,.skv-app .skv-point-head:after{content:none!important}
.skv-app article.skv-plan-unit{background:#fff;border:1px solid #e3edf4;border-radius:12px;padding:0;margin:12px 0;overflow:hidden}
.skv-app .skv-plan-unit-head{width:100%;border:0;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#eef4f8;border-left:5px solid var(--blue);border-radius:0;padding:10px 12px;margin-bottom:0;color:#24465f}
.skv-app article.skv-plan-point,.skv-app article.skv-plant-point{padding:0;overflow:hidden;border:1px solid var(--line)}
.skv-app article.skv-plan-point .skv-point-head,.skv-app article.skv-plant-point .skv-point-head{width:100%;border:0;display:flex;align-items:center;gap:12px;justify-content:space-between;cursor:pointer;list-style:none;padding:13px 14px;background:#fff;color:#17212b}
.skv-app .skv-point-head strong{color:var(--blue);font-size:16px;margin-right:auto}
.skv-app article.skv-plan-point:not(.is-open) .skv-point-body,.skv-app article.skv-plant-point:not(.is-open) .skv-point-body,.skv-app article.agg:not(.is-open) .agg-body,.skv-app article.skv-plan-unit:not(.is-open) .skv-plan-unit-body{display:none!important}
@media(max-width:700px){.skv-app .skv-agg-head,.skv-app .skv-plan-unit-head,.skv-app .skv-point-head{align-items:flex-start!important;flex-direction:column}.skv-app .skv-unit-status{justify-content:flex-start;margin-left:0}.skv-app .skv-open-label{align-self:flex-start}}
.skv-help{display:block;color:#6b7b88;font-size:12px;line-height:1.35;margin:2px 0 6px}.skv-field-setting-item code{background:#eef4f8;border:1px solid #d8e2ea;border-radius:6px;padding:4px 7px}.skv-check{display:flex;align-items:center;gap:8px;margin-top:20px;font-weight:600}.skv-check input{width:auto}.skv-field-settings-list{display:grid;gap:12px}

/* v2.2.0 Utsatt service */
.skv-app .servicepill{background:#bd2d2d;color:#fff}
.skv-app .skv-service-aggregate{border-color:#bd2d2d!important;box-shadow:0 0 0 2px rgba(189,45,45,.08),0 2px 8px #00000008!important}
.skv-app .skv-service-aggregate>.skv-agg-head,.skv-app .skv-service-aggregate>.skv-plan-unit-head{border-left-color:#bd2d2d!important;background:#fff0f0!important}
.skv-app .skv-deferred-active{display:grid;gap:5px;background:#fff0f0;border:1px solid #f0b7b7;border-left:5px solid #bd2d2d;border-radius:10px;padding:10px;margin:8px 0;color:#6f1717}
.skv-app .skv-deferred-active strong{font-size:15px;color:#bd2d2d}.skv-app .skv-deferred-active .btn{justify-self:start;margin-top:4px}
.skv-app .skv-deferred-history{margin-top:8px}
.skv-app .skv-modal-backdrop{position:fixed;inset:0;background:rgba(9,24,38,.45);z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px}
.skv-app .skv-modal{width:min(680px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.25);padding:20px}
.skv-app .skv-modal h2{margin-top:0}.skv-app .skv-modal textarea{min-height:90px;resize:vertical}.skv-app .skv-modal .skv-check{margin:6px 0}.skv-app .skv-modal .skv-check input{min-height:auto}
@media(max-width:600px){.skv-app .skv-modal{padding:14px}.skv-app .skv-deferred-active .btn{width:100%;text-align:center}}

/* v2.4.0 Dashboard/alarmindikatorer */
.skv-app .skv-alarm-grid{margin-top:12px}
.skv-app .skv-alarm-card{border:0;text-align:left;cursor:pointer;font-family:inherit;color:#17212b}
.skv-app .metric-alert{background:#ffe2e2!important;border:1px solid #f0b7b7;color:#7b1717}
.skv-app .metric-alert b{color:#bd2d2d!important}
.skv-app .metric-warn{background:#fff2c7!important;border:1px solid #f0d685;color:#6d5100}
.skv-app .metric-warn b{color:#b88400!important}
.skv-app .skv-metric-badge{display:inline-block;margin-top:7px;background:#bd2d2d;color:#fff;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700}
.skv-app .skv-nav button{display:flex;align-items:center;justify-content:space-between;gap:8px}
.skv-app .skv-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#bd2d2d;color:#fff;font-size:12px;font-weight:700}
.skv-app .skv-card-status{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.skv-app .skv-plant-service-card,.skv-app .skv-issue-card{border-color:#bd2d2d!important;box-shadow:0 0 0 2px rgba(189,45,45,.07),0 1px 5px #00000006!important}
.skv-app .skv-plant-service-card .skv-row-head,.skv-app .skv-issue-card .skv-row-head{border-left:5px solid #bd2d2d;padding-left:10px;background:#fffafa;border-radius:8px}

/* v2.6.0 liste-/masterdataeditor */
.skv-list-editor{min-width:0}
.compact-list{display:grid;gap:8px;margin-top:10px}
.skv-list-row{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:8px;align-items:center;background:#f7fbfe;border:1px solid var(--line);border-radius:8px;padding:8px}
.skv-list-row input{min-width:0}
@media(max-width:700px){.skv-list-row{grid-template-columns:1fr}.skv-list-row .btn{width:100%;text-align:center}}

/* v2.7.0 utskriftslister */
.skv-app .skv-print-select{display:flex;flex-direction:column;gap:4px;min-width:280px;max-width:100%}
.skv-app .skv-report-title{margin:12px 0 10px}
.skv-app .skv-report-plant{break-inside:avoid;margin:18px 0 22px;padding-top:4px}
.skv-app .skv-report-plant>h2{border-bottom:2px solid var(--line);padding-bottom:6px;margin-bottom:4px}
.skv-app .skv-report-unit{break-inside:avoid;margin:12px 0 18px}
.skv-app .skv-report-unit h3{margin:8px 0 4px;color:var(--blue)}
.skv-app .skv-report-meta{font-size:13px;color:var(--gray);margin:0 0 8px}
.skv-app .skv-report-table{width:100%;border-collapse:collapse;background:white;margin-top:8px;font-size:13px}
.skv-app .skv-report-table th,.skv-app .skv-report-table td{border:1px solid var(--line);padding:7px;text-align:left;vertical-align:top}
.skv-app .skv-report-table th{background:#dcecf7;color:#16354e;font-weight:700}
.skv-app .skv-report-flat{min-width:0}
@media(max-width:900px){.skv-app .skv-print-select{width:100%}.skv-app .skv-report-table,.skv-app .skv-report-table thead,.skv-app .skv-report-table tbody,.skv-app .skv-report-table tr,.skv-app .skv-report-table th,.skv-app .skv-report-table td{display:table-cell}.skv-app .skv-report-table{display:table;font-size:12px;overflow-wrap:anywhere}}
@media print{.skv-app .no-print,.skv-app .toolbar,.skv-app .skv-nav,.skv-app .skv-header,.skv-app .mobile-top-start{display:none!important}.skv-app .layout{display:block}.skv-app .skv-main{padding:0}.skv-app .card{border:0;box-shadow:none;padding:0}.skv-app .print-only{display:block!important}.skv-app .skv-report-title{display:none}.skv-app .skv-report-table{font-size:10.5px}.skv-app .skv-report-table th,.skv-app .skv-report-table td{padding:4px}.skv-app .pill{border:1px solid #999;background:#fff!important;color:#111!important}.skv-app .skv-report-plant{page-break-inside:avoid}}

/* v3.0.0 servicehistorikk i popup */
.skv-app .skv-history-modal{width:min(1100px,100%)}
.skv-app .skv-history-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;margin-top:12px}
.skv-app .skv-history-table{width:100%;border-collapse:collapse;font-size:13px;min-width:900px}
.skv-app .skv-history-table th,.skv-app .skv-history-table td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
.skv-app .skv-history-table th{background:#dcecf7;color:#16354e;font-weight:700;position:sticky;top:0;z-index:1}
.skv-app .skv-history-table tr:last-child td{border-bottom:0}
.skv-app .skv-history-ok td:first-child{border-left:5px solid #1f8a4c}
.skv-app .skv-history-service td:first-child{border-left:5px solid #bd2d2d}
.skv-app .skv-history-closed td:first-child{border-left:5px solid #687783}
.skv-app .skv-service-action .btn{white-space:nowrap}
@media(max-width:700px){.skv-app .skv-history-modal .skv-row-head{align-items:flex-start;flex-direction:column}.skv-app .skv-history-modal .skv-row-head .btn{width:100%;text-align:center}}

/* QR-koder for aggregat */
.skv-qr-head-btn{margin-left:8px;white-space:nowrap}
.skv-qr-wrap{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:center}
.skv-qr-wrap img{width:280px;height:280px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px}
.skv-url-break{word-break:break-all;font-size:12px}
@media(max-width:700px){.skv-qr-wrap{grid-template-columns:1fr}.skv-qr-wrap img{width:220px;height:220px}.skv-qr-head-btn{margin-left:0}}
@media print{.skv-modal-backdrop{position:static!important;background:#fff!important}.skv-modal{box-shadow:none!important;border:0!important}.skv-modal .toolbar{display:none!important}.skv-qr-wrap{grid-template-columns:260px 1fr!important}.skv-qr-wrap img{width:240px!important;height:240px!important}}

.skv-app .skv-image-url-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.skv-app .skv-unit-image-modal{width:min(1100px,100%)}
.skv-app .skv-unit-image-wrap{display:grid;grid-template-columns:minmax(300px,2fr) minmax(240px,1fr);gap:20px;align-items:start}
.skv-app .skv-unit-image-wrap img{width:100%;max-height:70vh;object-fit:contain;border:1px solid var(--line);border-radius:14px;background:#fff}
.skv-app .skv-unit-image-points{margin:0;padding-left:20px;display:grid;gap:10px}
.skv-app .skv-no-image{border:1px dashed var(--line);border-radius:14px;background:#f7fbfe;padding:32px;text-align:center;color:var(--gray)}
@media(max-width:800px){.skv-app .skv-unit-image-wrap{grid-template-columns:1fr}.skv-app .skv-image-url-row{grid-template-columns:1fr}.skv-app .skv-image-url-row .btn{width:100%;text-align:center}}

/* Kartoversikt */
.skv-map-page .skv-map-summary{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.skv-map{height:520px;min-height:360px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#eef4f8;margin:12px 0;position:relative}
.skv-map-loading,.skv-map-fallback{padding:22px;color:var(--gray)}
.skv-map-filters{align-items:center;background:#f7fbfe;border:1px solid var(--line);border-radius:10px;padding:10px;margin:10px 0}
.skv-map-popup{min-width:240px;color:#17212b}
.skv-map-popup h3{margin:0 0 8px;color:var(--blue)}
.skv-map-unit-list{padding-left:18px;margin:8px 0 0}
.skv-map-link{border:0;background:transparent;padding:2px 0;text-align:left;cursor:pointer;color:var(--blue);font-weight:600}
.skv-map-list{margin-top:16px}
@media(max-width:900px){.skv-map{height:420px}.skv-map-page .skv-row-head{display:block}.skv-map-page .skv-map-summary{justify-content:flex-start;margin-top:8px}}

.skv-test-banner{background:#bd2d2d;color:#fff;font-weight:800;padding:12px 16px;border-radius:10px;margin:0 0 14px;box-shadow:0 2px 8px #0002;letter-spacing:.02em}
.skv-system-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:14px}
.skv-system-panel{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff;box-shadow:0 2px 8px #00000008}
.skv-system-panel h3{margin:0 0 8px;color:var(--blue)}
.skv-system-panel p{margin:0 0 12px;color:#526574}
.skv-system-panel.is-test{border-color:#bd2d2d;background:#fff3f3}
.skv-system-danger{border-color:#f2bbbb;background:#fffafa}
.skv-system-danger input{max-width:260px;margin:8px 10px 8px 0}

/* v4.6.0 clean public pages */
.skv-direct-body{margin:0;background:#eef4f8;}
.skv-clean-app{max-width:1200px;margin:0 auto;background:#eef4f8;min-height:100vh;}
.skv-clean-app .skv-clean-header{position:static;}
.skv-clean-main{padding:22px;}
.skv-clean-app .card{max-width:none;}
.skv-issues-table-wrap{overflow:auto;}
.skv-issues-table th,.skv-issues-table td{white-space:normal;}
@media print{.skv-clean-header,.skv-issues-page .skv-row-head button{display:none!important}.skv-clean-main{padding:0}.skv-clean-app{max-width:none;background:white}}

/* v4.7.0 - Responsiv Service/Avvik-kortvisning */
.skv-issues-filterbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin:14px 0 16px;align-items:end}
.skv-issues-card-list{display:grid;grid-template-columns:1fr;gap:14px;overflow:visible}
.skv-issue-card{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 2px 8px #00000008;overflow:hidden}
.skv-issue-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:#fff1f1;border-left:6px solid var(--red);padding:14px 16px;border-bottom:1px solid #f1d4d4}
.skv-issue-card-head h3{margin:8px 0 2px;color:var(--blue);font-size:20px}
.skv-issue-date{text-align:right;min-width:110px}.skv-issue-date span{display:block;font-size:12px;color:var(--gray);font-weight:700}.skv-issue-date strong{display:block;color:#17212b;margin-top:3px}
.skv-issue-main{padding:14px 16px}.skv-issue-title{display:flex;gap:10px;align-items:baseline;margin-bottom:12px;flex-wrap:wrap}.skv-issue-title strong{font-size:18px;color:var(--blue)}.skv-issue-title span{font-size:18px;font-weight:700}
.skv-issue-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:14px}.skv-issue-grid b,.skv-issue-note b{display:block;font-size:12px;color:var(--gray);margin-bottom:4px}.skv-issue-grid span{display:block;word-break:break-word}.skv-issue-note{margin-top:12px;background:#f7fbfe;border:1px solid var(--line);border-radius:10px;padding:10px}.skv-issue-note p{margin:0;white-space:pre-wrap}
.skv-issue-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px;background:#fbfdff;border-top:1px solid var(--line)}
.skv-issues-page .skv-history-table-wrap{overflow:visible}.skv-issues-page table.skv-issues-table{display:none}
@media(max-width:900px){.skv-issues-filterbar{grid-template-columns:1fr}.skv-issue-card-head{flex-direction:column}.skv-issue-date{text-align:left}.skv-issue-grid{grid-template-columns:1fr 1fr}.skv-issue-actions .btn{width:100%;text-align:center}}
@media(max-width:520px){.skv-issue-grid{grid-template-columns:1fr}.skv-issue-title{display:block}.skv-issue-title span{display:block;margin-top:2px}.skv-issue-card-head h3{font-size:18px}}


/* v4.7.1 - Backend layout fix: bruk tilgjengelig bredde i WordPress admin */
.skv-app.skv-admin-app{width:100%!important;max-width:none!important;margin:0!important;clear:both;display:block;}
.skv-app.skv-admin-app .layout{width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:260px minmax(0,1fr)!important;}
.skv-app.skv-admin-app .skv-main{width:100%!important;max-width:none!important;min-width:0!important;overflow:visible!important;}
.skv-app.skv-admin-app .card{width:100%!important;max-width:none!important;}
.skv-app.skv-admin-app .dashboard-card .grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;}
.skv-app.skv-admin-app .skv-card-list,.skv-app.skv-admin-app .admin-list{width:100%;}
@media(max-width:1100px){.skv-app.skv-admin-app .layout{grid-template-columns:220px minmax(0,1fr)!important;}}
@media(max-width:900px){.skv-app.skv-admin-app .layout{grid-template-columns:1fr!important;}.skv-app.skv-admin-app .skv-main{padding:12px!important;}}

/* v4.9.0 - ryddigere adminmeny og mer intuitiv navigasjon */
.skv-app .skv-nav{background:#f8fbfd!important;padding:18px 14px!important;}
.skv-app .skv-nav-section{margin:14px 0 18px;padding:0;}
.skv-app .skv-nav-section-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7a8994;font-weight:800;margin:0 4px 7px;}
.skv-app .skv-nav button{min-height:36px;border-radius:11px!important;background:#edf4f8!important;color:#17324a!important;margin:4px 0!important;padding:9px 11px!important;box-shadow:none;transition:background .15s ease,transform .15s ease;}
.skv-app .skv-nav button:hover{background:#e1edf5!important;transform:translateY(-1px);}
.skv-app .skv-nav button.active{background:#0f3a5f!important;color:#fff!important;}
.skv-app .skv-nav button.active .skv-nav-badge{background:#d43f3f;color:#fff;}
.skv-app .skv-nav .plant-picker{margin:16px 0!important;background:#fff!important;border-radius:14px!important;}
.skv-app .skv-nav hr{display:none;}
.skv-app.skv-admin-app .skv-nav{border-right:1px solid #d8e2ea!important;}
@media(max-width:900px){.skv-app .skv-nav-section{margin:10px 0 12px}.skv-app .skv-nav-section-title{margin-top:8px}}

/* v7.4.0 Excel import */
.skv-import-upload{background:#f7fbfe;border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0}
.skv-import-upload input[type=file]{margin-top:8px;background:#fff}
.skv-import-preview{border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:14px;background:#fff}
.skv-import-preview .grid{margin:10px 0 14px}
.skv-import-json{width:100%;min-height:240px;font-family:Consolas,monospace;font-size:12px;white-space:pre}
.skv-import-errors{background:#fff6e0;border:1px solid #f0d38a;color:#6d4a00;border-radius:10px;padding:12px;margin:10px 0}
.skv-import-errors ul{margin:8px 0 0 18px}
.skv-import-legacy{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}
.skv-import-legacy summary{cursor:pointer;font-weight:700;color:var(--blue)}

.skv-import-step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin:14px 0}
.skv-file-picker{display:flex;align-items:center;gap:14px;border:2px dashed #9fb8cc;border-radius:14px;background:#f7fbfe;padding:20px;cursor:pointer;transition:.15s}
.skv-file-picker:hover{background:#eef7fd;border-color:var(--blue)}
.skv-file-picker input[type=file]{display:none!important}
.skv-file-icon{font-size:34px;line-height:1}
/* v7.4.0 */
.skv-product-actions{margin-top:8px;gap:6px;align-items:center}
.skv-product-actions .btn{margin:0}
.skv-modal-top{align-items:flex-start;gap:12px}
.skv-modal-x{margin-left:auto;white-space:nowrap}
#skv-order-search{max-width:420px}

/* MobilServ v7.4.0 */
.skv-mobilserv-analysis-card{border-left:6px solid #d8e2ea}
.skv-mobilserv-analysis-card .badpill{background:#ffe2e2;color:#bd2d2d}
.skv-mobilserv-analysis-card .warnpill{background:#fff2c7;color:#b88400}
.skv-mobilserv-analysis-card .okpill{background:#dff4e7;color:#1f8a4c}
.skv-mobilserv-modal input[type=file]{padding:10px;background:#f7fbfe;border:1px dashed #c9d6df;border-radius:8px}
.skv-mobilserv-modal .wide{grid-column:1/-1}

.skv-app .bluepill{background:#dbeafe;color:#1d4ed8}.skv-app .metric-info{background:#dbeafe!important;border:1px solid #93c5fd;color:#1d4ed8}.skv-app .metric-info b{color:#1d4ed8!important}.skv-mobilserv-analysis-card .bluepill{background:#dbeafe;color:#1d4ed8}

.skv-grow{flex:1 1 320px}.skv-grow input{min-width:260px}


/* v7.4.0 - customer login portal */
.skv-login-page{
  min-height:calc(100vh - 80px);
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#eef6fb,#ffffff);
  padding:42px 18px;
}
.skv-login-brand{
  position:fixed;
  left:28px;
  top:24px;
  z-index:2;
}
.skv-login-brand img{
  max-width:210px;
  max-height:58px;
  object-fit:contain;
}
.skv-login-logo-text{
  font-size:26px;
  font-weight:950;
  color:#0c3154;
  letter-spacing:.02em;
}
.skv-login-card{
  width:min(100%,460px);
  background:#fff;
  border:1px solid #dce7f0;
  border-radius:28px;
  box-shadow:0 24px 70px rgba(8,35,55,.16);
  padding:34px;
  text-align:center;
}
.skv-login-customer-logo{
  max-width:190px;
  max-height:84px;
  object-fit:contain;
  margin:0 auto 18px;
  display:block;
}
.skv-login-card h1{
  margin:0 0 8px;
  color:#0c3154;
  font-size:31px;
  line-height:1.1;
}
.skv-login-card p{
  color:#64748b;
  font-weight:750;
  margin:0 0 24px;
}
.skv-login-form{
  display:grid;
  gap:14px;
  text-align:left;
}
.skv-login-form label span{
  display:block;
  color:#31475d;
  font-weight:850;
  font-size:13px;
  margin-bottom:7px;
}
.skv-login-form input[type="text"],
.skv-login-form input[type="password"]{
  width:100%;
  min-height:48px;
  border:1px solid #dce7f0;
  border-radius:14px;
  padding:10px 13px;
  font-size:16px;
}
.skv-login-remember{
  display:flex!important;
  align-items:center;
  gap:8px;
  color:#64748b;
  font-weight:750;
}
.skv-login-button{
  width:100%;
  min-height:50px;
  border:0;
  border-radius:14px;
  background:#0c3154;
  color:#fff!important;
  font-weight:950;
  font-size:16px;
  cursor:pointer;
  text-decoration:none!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.skv-login-links{
  margin-top:18px;
}
.skv-login-links a{
  color:#0c3154;
  font-weight:850;
}
.skv-login-error{
  background:#ffe8e8;
  border:1px solid #f2b2b2;
  color:#8a1f1f;
  border-radius:12px;
  padding:10px 12px;
  margin-bottom:16px;
  font-weight:850;
}
@media(max-width:700px){
  .skv-login-brand{position:static;margin-bottom:18px;text-align:center;}
  .skv-login-page{display:block;}
  .skv-login-card{margin:0 auto;padding:26px 20px;}
}


/* v7.4.0 - customer portal settings and automatic WordPress user creation */
.skv-app.skv-modern-skin .skv-login-preview{
  margin-top:18px;
  border-top:1px solid var(--smk-border);
  padding-top:18px;
}
.skv-app.skv-modern-skin .skv-login-mini{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  background:#f8fbfe;
  border:1px solid var(--smk-border);
  border-radius:16px;
  padding:14px;
}
.skv-app.skv-modern-skin .skv-login-mini img{
  max-width:120px;
  max-height:48px;
  object-fit:contain;
  background:#fff;
  border-radius:10px;
  padding:6px;
}
.skv-app.skv-modern-skin .skv-login-mini strong{
  color:#0c3154;
  font-size:18px;
}
.skv-app.skv-modern-skin .skv-login-mini span{
  color:#64748b;
  font-weight:800;
}


/* v7.4.0 - toast fallback */
.skv-copy-toast{
  position:fixed!important;
  right:24px!important;
  bottom:24px!important;
  background:#0c3154!important;
  color:#fff!important;
  padding:12px 16px!important;
  border-radius:14px!important;
  box-shadow:0 16px 34px rgba(0,0,0,.2)!important;
  font-weight:900!important;
  opacity:0!important;
  transform:translateY(12px)!important;
  transition:.22s ease!important;
  z-index:1000000!important;
}
.skv-copy-toast.show{opacity:1!important;transform:translateY(0)!important;}


/* v7.4.0 - customer portal admin page repair */
.skv-app.skv-modern-skin .skv-login-preview{
  margin-top:18px;
  border-top:1px solid var(--smk-border);
  padding-top:18px;
}
.skv-app.skv-modern-skin .skv-login-mini{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  background:#f8fbfe;
  border:1px solid var(--smk-border);
  border-radius:16px;
  padding:14px;
}
.skv-app.skv-modern-skin .skv-login-mini img{
  max-width:120px;
  max-height:48px;
  object-fit:contain;
  background:#fff;
  border-radius:10px;
  padding:6px;
}
.skv-app.skv-modern-skin .skv-login-mini strong{
  color:#0c3154;
  font-size:18px;
}
.skv-app.skv-modern-skin .skv-login-mini span{
  color:#64748b;
  font-weight:800;
}


/* v7.4.0 - standalone login, read-only enforcement and scope heading */
.skv-app .skv-header .skv-scope-title{
  display:block;
  margin-top:8px;
  font-size:14px;
  font-weight:900;
  color:rgba(255,255,255,.82);
}
.skv-app.skv-modern-skin.skv-readonly-user .skv-point-quick-actions,
.skv-app.skv-modern-skin.skv-readonly-user button[onclick*="openMobilServActivity"],
.skv-app.skv-modern-skin.skv-readonly-user button[onclick*="openDeferred"],
.skv-app.skv-modern-skin.skv-readonly-user button[onclick*="serviceDone"],
.skv-app.skv-modern-skin.skv-readonly-user button[onclick*="saveMobilServ"],
.skv-app.skv-modern-skin.skv-readonly-user button[onclick*="fullMobilServService"],
.skv-app.skv-modern-skin.skv-readonly-user button[onclick*="holdMobilServ"]{
  display:none!important;
}


/* v7.4.0 - TV PIN views */
.skv-app.skv-modern-skin .skv-tv-view-card{
  border-left:6px solid #0c3154!important;
}
.skv-tv-pin-page{
  min-height:100vh!important;
  display:grid!important;
  place-items:center!important;
  padding:32px!important;
  background:linear-gradient(135deg,#edf5fa,#ffffff)!important;
}
.skv-app.skv-modern-skin.skv-tv-app .skv-tv-pin-page{
  width:100vw!important;
  height:100vh!important;
}
.skv-app.skv-modern-skin.skv-tv-app .skv-tv-pin-page .skv-login-card{
  width:min(460px,90vw)!important;
}


/* v7.4.0 - TV view list */
.skv-app.skv-modern-skin .skv-check-inline{
  display:inline-flex!important;
  gap:6px!important;
  align-items:center!important;
  background:#eef5fa!important;
  border-radius:999px!important;
  padding:7px 10px!important;
  font-weight:900!important;
}


/* v7.4.0 - frontend/TV layout corrections */
.skv-app.skv-modern-skin .skv-dashboard-bar.bad .skv-dashboard-track span,
.skv-app.skv-modern-skin .skv-dashboard-bar.service .skv-dashboard-track span{
  background:#d9363e!important;
}
.skv-app.skv-modern-skin .skv-dashboard-bar.bad,
.skv-app.skv-modern-skin .skv-dashboard-bar.service{
  color:#8a1f25!important;
}
.skv-app.skv-modern-skin .skv-dashboard-bar.service strong,
.skv-app.skv-modern-skin .skv-dashboard-bar.bad strong{
  color:#d9363e!important;
}

/* TV should use the full viewport and center slides in the visible area */
body.skv-direct-body,
body.skv-direct-body .skv-app,
body.skv-direct-body .skv-clean-app{
  width:100vw!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
body.skv-direct-body .skv-header,
body.skv-direct-body .skv-clean-header,
body.skv-direct-body .skv-mobile-menu-toggle{
  display:none!important;
}
body.skv-direct-body .skv-clean-main{
  width:100vw!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
}
.skv-app.skv-modern-skin.skv-tv-app,
.skv-app.skv-tv-app{
  width:100vw!important;
  height:100vh!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#edf6fb!important;
}
.skv-app.skv-tv-app .skv-tv-dashboard{
  width:100vw!important;
  height:100vh!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  display:block!important;
}
.skv-app.skv-tv-app .skv-tv-slide{
  width:100vw!important;
  height:100vh!important;
  min-height:100vh!important;
  padding:clamp(24px,4vh,58px) clamp(34px,5vw,72px)!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.skv-app.skv-tv-app .skv-tv-slide-title{
  margin:0 auto clamp(22px,3vh,38px)!important;
  text-align:center!important;
  max-width:1180px!important;
}
.skv-app.skv-tv-app .skv-tv-square-grid{
  margin:0 auto!important;
  justify-content:center!important;
  align-content:center!important;
}
.skv-app.skv-tv-app .skv-tv-square{
  width:clamp(180px,16vw,260px)!important;
  height:clamp(180px,16vw,260px)!important;
  aspect-ratio:1/1!important;
}
.skv-app.skv-tv-app .skv-tv-startlike-layout-v676{
  width:min(1180px,92vw)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:clamp(20px,3vw,34px)!important;
  align-items:stretch!important;
}
.skv-app.skv-tv-app .skv-tv-startlike-layout-v676 .skv-dashboard-panel{
  min-height:0!important;
  max-height:56vh!important;
  overflow:hidden!important;
}
.skv-app.skv-tv-app .skv-tv-taskstrip{
  width:min(1180px,92vw)!important;
  margin:clamp(18px,2.5vh,28px) auto 0!important;
  max-height:22vh!important;
  overflow:hidden!important;
}
.skv-app.skv-tv-app .skv-tv-taskstrip .skv-dashboard-panel{
  min-height:0!important;
  max-height:22vh!important;
}
.skv-app.skv-tv-app .skv-tv-plant-status-grid-v676{
  width:min(1120px,90vw)!important;
  margin:0 auto!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:clamp(16px,2vw,26px)!important;
}
.skv-app.skv-tv-app .skv-tv-plant-status-grid-v676 .skv-tv-plant-status{
  width:clamp(190px,20vw,260px)!important;
  height:clamp(190px,20vw,260px)!important;
  aspect-ratio:1/1!important;
}
.skv-app.skv-tv-app .skv-dashboard-mobilserv-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.skv-app.skv-tv-app .skv-dashboard-bar{
  min-height:44px!important;
  padding:8px 12px!important;
}


/* v7.4.0 - TV centering, remove task overflow and force visible alert bars */
.skv-app.skv-modern-skin .skv-dashboard-bar.bad .skv-dashboard-track span,
.skv-app.skv-modern-skin .skv-dashboard-bar.service .skv-dashboard-track span,
.skv-app.skv-tv-app .skv-dashboard-bar.bad .skv-dashboard-track span,
.skv-app.skv-tv-app .skv-dashboard-bar.service .skv-dashboard-track span{
  background:#d9363e!important;
  min-width:12px!important;
}
.skv-app.skv-tv-app .skv-tv-taskstrip{
  display:none!important;
}
.skv-app.skv-tv-app .skv-tv-startlike-slide{
  display:none;
}
.skv-app.skv-tv-app .skv-tv-startlike-slide.is-active{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.skv-app.skv-tv-app .skv-tv-startlike-layout-v676{
  width:min(980px,82vw)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:28px!important;
  justify-content:center!important;
  align-items:stretch!important;
}
.skv-app.skv-tv-app .skv-tv-startlike-layout-v676 .card{
  width:100%!important;
  max-width:460px!important;
  margin:0 auto!important;
  min-height:520px!important;
  max-height:620px!important;
  overflow:hidden!important;
}
.skv-app.skv-tv-app .skv-tv-startlike-layout-v676 .skv-dashboard-bars{
  gap:10px!important;
}
.skv-app.skv-tv-app .skv-tv-startlike-layout-v676 .skv-dashboard-mobilserv-grid{
  grid-template-columns:1fr 1fr!important;
}
.skv-app.skv-tv-app .skv-tv-slide:not(.is-active){
  display:none!important;
}
.skv-app.skv-tv-app .skv-tv-slide.is-active{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.skv-app.skv-tv-app .skv-tv-slide-title{
  width:min(1100px,86vw)!important;
  margin:0 auto 28px!important;
  text-align:center!important;
}
.skv-app.skv-tv-app .skv-tv-square-grid{
  width:min(900px,78vw)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(180px,220px))!important;
  justify-content:center!important;
  gap:24px!important;
}
.skv-app.skv-tv-app .skv-tv-square{
  width:220px!important;
  height:220px!important;
  margin:0 auto!important;
}
.skv-app.skv-tv-app .skv-tv-plant-status-grid-v676{
  width:min(900px,78vw)!important;
  margin:0 auto!important;
}


/* v7.4.0 - strict TV fullscreen centering + printlist/plan fixes */
html:has(.skv-tv-app),
body:has(.skv-tv-app){
  margin:0!important;
  padding:0!important;
  width:100vw!important;
  height:100vh!important;
  overflow:hidden!important;
}
.skv-app.skv-tv-app,
.skv-app.skv-modern-skin.skv-tv-app{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  width:100vw!important;
  height:100vh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#edf6fb!important;
}
.skv-app.skv-tv-app .skv-tv-dashboard{
  position:absolute!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  display:block!important;
}
.skv-app.skv-tv-app .skv-tv-slide{
  position:absolute!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  text-align:center!important;
  overflow:hidden!important;
}
.skv-app.skv-tv-app .skv-tv-slide.is-active{
  display:flex!important;
}
.skv-app.skv-tv-app .skv-tv-slide-title{
  width:100%!important;
  max-width:1100px!important;
  margin:0 auto clamp(24px,4vh,44px)!important;
  padding:0 24px!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.skv-app.skv-tv-app .skv-tv-square-grid{
  width:auto!important;
  max-width:900px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,220px)!important;
  gap:24px!important;
  justify-content:center!important;
  align-items:center!important;
}
.skv-app.skv-tv-app .skv-tv-square{
  width:220px!important;
  height:220px!important;
  margin:0!important;
}
.skv-app.skv-tv-app .skv-tv-plant-status-grid-v676,
.skv-app.skv-tv-app .skv-tv-plant-status-grid{
  max-width:900px!important;
  width:auto!important;
  margin:0 auto!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:24px!important;
}
.skv-app.skv-tv-app .skv-tv-startlike-slide,
.skv-app.skv-tv-app .skv-tv-taskstrip{
  display:none!important;
}
.skv-app.skv-modern-skin .skv-alert-bar .skv-dashboard-track span,
.skv-app.skv-modern-skin .skv-dashboard-bar.bad .skv-dashboard-track span,
.skv-app.skv-modern-skin .skv-dashboard-bar.service .skv-dashboard-track span{
  background:#d9363e!important;
  min-width:14px!important;
}
.skv-app.skv-modern-skin .skv-alert-bar strong,
.skv-app.skv-modern-skin .skv-alert-bar em,
.skv-app.skv-modern-skin .skv-alert-bar .skv-dashboard-bar-label{
  color:#b4232c!important;
}
.skv-app.skv-modern-skin .skv-print-page .toolbar{
  align-items:flex-end!important;
}
.skv-app.skv-modern-skin .skv-print-page select,
.skv-app.skv-modern-skin .skv-print-page input{
  min-width:260px!important;
}


/* v7.4.0 - hard center TV content independent of theme/container */
body:has(.skv-tv-dashboard){
  margin:0!important;
  padding:0!important;
  width:100vw!important;
  height:100vh!important;
  overflow:hidden!important;
}
body:has(.skv-tv-dashboard) #wpadminbar,
body:has(.skv-tv-dashboard) header,
body:has(.skv-tv-dashboard) footer,
body:has(.skv-tv-dashboard) .fusion-header-wrapper,
body:has(.skv-tv-dashboard) .fusion-footer,
body:has(.skv-tv-dashboard) .avada-page-titlebar-wrapper{
  display:none!important;
}
.skv-tv-dashboard{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  z-index:2147483646!important;
  background:#edf6fb!important;
  box-sizing:border-box!important;
}
.skv-tv-dashboard .skv-tv-slide{
  position:absolute!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  margin:0!important;
  padding:0!important;
  display:none!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.skv-tv-dashboard .skv-tv-slide.is-active{
  display:block!important;
}
.skv-tv-dashboard .skv-tv-slide-title{
  position:absolute!important;
  left:50vw!important;
  top:17vh!important;
  transform:translateX(-50%)!important;
  width:1100px!important;
  max-width:90vw!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.skv-tv-dashboard .skv-tv-square-grid,
.skv-tv-dashboard .skv-tv-mobilserv-squares{
  position:absolute!important;
  left:50vw!important;
  top:50vh!important;
  transform:translate(-50%,-42%)!important;
  width:auto!important;
  max-width:900px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,220px)!important;
  gap:24px!important;
  justify-content:center!important;
  align-items:center!important;
  box-sizing:border-box!important;
}
.skv-tv-dashboard .skv-tv-square{
  width:220px!important;
  height:220px!important;
  min-width:220px!important;
  min-height:220px!important;
  max-width:220px!important;
  max-height:220px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.skv-tv-dashboard .skv-tv-plant-status-grid,
.skv-tv-dashboard .skv-tv-plant-status-grid-v676{
  position:absolute!important;
  left:50vw!important;
  top:52vh!important;
  transform:translate(-50%,-50%)!important;
  width:auto!important;
  max-width:980px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:24px!important;
  box-sizing:border-box!important;
}
.skv-tv-dashboard .skv-tv-graphs-layout{
  position:absolute!important;
  left:50vw!important;
  top:55vh!important;
  transform:translate(-50%,-50%)!important;
  width:1100px!important;
  max-width:90vw!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
}
.skv-tv-dashboard .skv-tv-dots{
  position:fixed!important;
  left:50vw!important;
  bottom:24px!important;
  transform:translateX(-50%)!important;
}


/* v7.4.0 - selectable TV slides + compact priority/donut slide */
.skv-app.skv-modern-skin .skv-tv-slide-options{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.skv-tv-dashboard .skv-tv-slide-priority-v681 .skv-tv-slide-title{
  top:12vh!important;
}
.skv-tv-dashboard .skv-tv-priority-layout-v681{
  position:absolute!important;
  left:50vw!important;
  top:56vh!important;
  transform:translate(-50%,-50%)!important;
  width:min(940px,86vw)!important;
  display:grid!important;
  grid-template-columns:minmax(300px,420px) minmax(300px,420px)!important;
  gap:34px!important;
  align-items:stretch!important;
}
.skv-tv-dashboard .skv-tv-priority-compact,
.skv-tv-dashboard .skv-tv-donut-panel{
  min-height:420px!important;
  max-height:520px!important;
  overflow:hidden!important;
  text-align:left!important;
  padding:28px!important;
  box-sizing:border-box!important;
}
.skv-tv-dashboard .skv-tv-priority-compact h2,
.skv-tv-dashboard .skv-tv-donut-panel h2{
  margin:0 0 12px!important;
  font-size:30px!important;
}
.skv-tv-dashboard .skv-tv-priority-compact > div{
  display:grid!important;
  gap:12px!important;
  margin-top:20px!important;
}
.skv-tv-dashboard .skv-tv-priority-compact > div > div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:54px!important;
  padding:10px 14px!important;
  border-radius:16px!important;
  background:#f6f9fc!important;
  border:1px solid #e4edf5!important;
  font-weight:900!important;
}
.skv-tv-dashboard .skv-tv-priority-compact b{
  font-size:34px!important;
  color:#0c3154!important;
}
.skv-tv-dashboard .skv-tv-priority-compact .bad{
  background:#ffe6e8!important;
  border-color:#ffb8bd!important;
}
.skv-tv-dashboard .skv-tv-priority-compact .warn{
  background:#fff5d6!important;
  border-color:#f0c44d!important;
}
.skv-tv-dashboard .skv-tv-priority-compact .info{
  background:#e8f1ff!important;
  border-color:#a8c8ff!important;
}
.skv-tv-dashboard .skv-tv-donut{
  width:210px!important;
  height:210px!important;
  margin:18px auto!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
}
.skv-tv-dashboard .skv-tv-donut:after{
  content:""!important;
  position:absolute!important;
  width:118px!important;
  height:118px!important;
  border-radius:999px!important;
  background:#fff!important;
}
.skv-tv-dashboard .skv-tv-donut span{
  position:relative!important;
  z-index:1!important;
  font-size:42px!important;
  font-weight:950!important;
  color:#0c3154!important;
}
.skv-tv-dashboard .skv-tv-donut-legend{
  display:grid!important;
  gap:7px!important;
}
.skv-tv-dashboard .skv-tv-donut-legend div{
  display:grid!important;
  grid-template-columns:16px 1fr auto!important;
  align-items:center!important;
  gap:8px!important;
  font-weight:850!important;
}
.skv-tv-dashboard .skv-tv-donut-legend i{
  width:12px!important;
  height:12px!important;
  border-radius:999px!important;
}


/* v7.4.0 - TV config cleanup and priority slide centering */
.skv-tv-dashboard .skv-tv-slide-priority-v681 .skv-tv-slide-title{
  top:10vh!important;
}
.skv-tv-dashboard .skv-tv-priority-layout-v681{
  left:50vw!important;
  top:56vh!important;
  transform:translate(-50%,-50%)!important;
  width:min(860px,80vw)!important;
  grid-template-columns:minmax(280px,380px) minmax(280px,380px)!important;
  gap:28px!important;
}
.skv-tv-dashboard .skv-tv-priority-compact,
.skv-tv-dashboard .skv-tv-donut-panel{
  min-height:390px!important;
  max-height:450px!important;
  padding:24px!important;
}
.skv-tv-dashboard .skv-tv-priority-compact > div{
  gap:9px!important;
}
.skv-tv-dashboard .skv-tv-priority-compact > div > div{
  min-height:46px!important;
  padding:8px 12px!important;
}
.skv-tv-dashboard .skv-tv-priority-compact b{
  font-size:30px!important;
}
.skv-tv-dashboard .skv-tv-donut{
  width:185px!important;
  height:185px!important;
  margin:12px auto!important;
}
.skv-tv-dashboard .skv-tv-donut:after{
  width:104px!important;
  height:104px!important;
}
.skv-tv-dashboard .skv-tv-donut span{
  font-size:36px!important;
}
.skv-tv-dashboard .skv-tv-donut-legend{
  gap:5px!important;
}

/* Backend TV page */
.skv-app.skv-modern-skin .skv-tv-admin-page .skv-filterbar input{
  width:100%!important;
}
.skv-app.skv-modern-skin .skv-tv-admin-list{
  gap:16px!important;
}
.skv-app.skv-modern-skin .skv-tv-view-card{
  padding:18px!important;
}
.skv-app.skv-modern-skin .skv-tv-view-card.is-inactive{
  opacity:.72!important;
}
.skv-app.skv-modern-skin .skv-tv-admin-head{
  display:flex!important;
  justify-content:space-between!important;
  gap:16px!important;
  align-items:flex-start!important;
  border-bottom:1px solid var(--smk-border)!important;
  padding-bottom:12px!important;
  margin-bottom:14px!important;
}
.skv-app.skv-modern-skin .skv-tv-admin-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}
.skv-app.skv-modern-skin .skv-tv-admin-grid{
  display:grid!important;
  grid-template-columns:1.05fr 1.15fr 1.4fr!important;
  gap:18px!important;
  align-items:start!important;
}
.skv-app.skv-modern-skin .skv-tv-admin-basic,
.skv-app.skv-modern-skin .skv-tv-admin-scope,
.skv-app.skv-modern-skin .skv-tv-admin-url{
  display:grid!important;
  gap:12px!important;
}
.skv-app.skv-modern-skin .skv-tv-slide-options{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}
.skv-app.skv-modern-skin .skv-toggle-pill,
.skv-app.skv-modern-skin .skv-check-inline{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  background:#eef5fa!important;
  border-radius:999px!important;
  padding:8px 11px!important;
  font-weight:900!important;
  line-height:1.1!important;
}
.skv-app.skv-modern-skin .skv-toggle-pill input,
.skv-app.skv-modern-skin .skv-check-inline input{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin:0!important;
}
.skv-app.skv-modern-skin .skv-tv-admin-page .skv-field label,
.skv-app.skv-modern-skin .skv-tv-admin-page .skv-field .muted{
  font-size:12px!important;
}
.skv-app.skv-modern-skin .skv-tv-admin-page input,
.skv-app.skv-modern-skin .skv-tv-admin-page select{
  min-height:42px!important;
}
@media(max-width:1100px){
  .skv-app.skv-modern-skin .skv-tv-admin-grid{
    grid-template-columns:1fr!important;
  }
  .skv-app.skv-modern-skin .skv-tv-admin-head{
    flex-direction:column!important;
  }
}


/* v7.4.0 - TV slide: Siste 30 dager */
.skv-tv-dashboard .skv-tv-slide-last30-v684 .skv-tv-slide-title{
  top:10vh!important;
}
.skv-tv-dashboard .skv-tv-last30-layout{
  position:absolute!important;
  left:50vw!important;
  top:56vh!important;
  transform:translate(-50%,-50%)!important;
  width:min(920px,84vw)!important;
  display:grid!important;
  grid-template-columns:390px 1fr!important;
  gap:30px!important;
  align-items:stretch!important;
}
.skv-tv-dashboard .skv-tv-last30-summary,
.skv-tv-dashboard .skv-tv-last30-list{
  min-height:390px!important;
  max-height:450px!important;
  padding:26px!important;
  overflow:hidden!important;
  text-align:left!important;
  box-sizing:border-box!important;
}
.skv-tv-dashboard .skv-tv-last30-summary h2,
.skv-tv-dashboard .skv-tv-last30-list h2{
  margin:0 0 12px!important;
  font-size:30px!important;
}
.skv-tv-dashboard .skv-tv-last30-kpis{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  margin-top:22px!important;
}
.skv-tv-dashboard .skv-tv-last30-kpis div{
  min-height:104px!important;
  border-radius:18px!important;
  background:#f6f9fc!important;
  border:1px solid #e4edf5!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
}
.skv-tv-dashboard .skv-tv-last30-kpis b{
  font-size:42px!important;
  color:#0c3154!important;
  line-height:1!important;
}
.skv-tv-dashboard .skv-tv-last30-kpis span{
  font-weight:900!important;
}
.skv-tv-dashboard .skv-tv-last30-row{
  display:grid!important;
  grid-template-columns:105px 115px 1fr!important;
  gap:10px!important;
  align-items:center!important;
  padding:12px 0!important;
  border-bottom:1px solid #e4edf5!important;
  font-weight:850!important;
}
.skv-tv-dashboard .skv-tv-last30-row strong{
  color:#0c3154!important;
}
.skv-tv-dashboard .skv-tv-last30-row span{
  background:#eef5fa!important;
  border-radius:999px!important;
  padding:6px 9px!important;
  text-align:center!important;
}
.skv-tv-dashboard .skv-tv-last30-row em{
  font-style:normal!important;
  color:#64748b!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.skv-tv-dashboard .skv-tv-last30-empty{
  margin-top:80px!important;
  text-align:center!important;
  font-weight:900!important;
  color:#64748b!important;
  background:#f6f9fc!important;
  border:1px solid #e4edf5!important;
  border-radius:18px!important;
  padding:30px!important;
}
.skv-app.skv-modern-skin .skv-tv-slide-options{
  grid-template-columns:1fr 1fr!important;
}

/* v7.4.0 language controls */
.skv-app.skv-modern-skin .skv-language-settings-card{margin-bottom:16px!important}.skv-app.skv-modern-skin .skv-tv-admin-page select{width:100%!important}


/* v7.4.0 - TV-safe scaling for 1920x1080 and smaller screens */
.skv-tv-dashboard{
  --skv-tv-scale: clamp(.68, min(1vw, 1vh), .92);
}
.skv-tv-dashboard .skv-tv-slide-title{
  top: clamp(28px, 8vh, 82px)!important;
  max-width: 92vw!important;
}
.skv-tv-dashboard .skv-tv-slide-title h2{
  font-size: clamp(28px, 3.2vw, 46px)!important;
  line-height: 1.05!important;
}
.skv-tv-dashboard .skv-tv-slide-title p,
.skv-tv-dashboard .skv-tv-customerline{
  font-size: clamp(14px, 1.35vw, 22px)!important;
  line-height: 1.2!important;
}
.skv-tv-dashboard .skv-tv-square-grid,
.skv-tv-dashboard .skv-tv-mobilserv-squares{
  grid-template-columns: repeat(3, minmax(150px, 185px))!important;
  gap: clamp(14px, 2vw, 22px)!important;
  transform: translate(-50%,-40%)!important;
}
.skv-tv-dashboard .skv-tv-square{
  width: clamp(150px, 16vw, 185px)!important;
  height: clamp(150px, 16vw, 185px)!important;
  min-width: 0!important;
  min-height: 0!important;
  max-width: 185px!important;
  max-height: 185px!important;
  padding: clamp(14px, 1.7vw, 22px)!important;
}
.skv-tv-dashboard .skv-tv-square b{
  font-size: clamp(36px, 5.2vw, 62px)!important;
  line-height: 1!important;
}
.skv-tv-dashboard .skv-tv-square span{
  font-size: clamp(14px, 1.5vw, 22px)!important;
  line-height: 1.12!important;
}
.skv-tv-dashboard .skv-tv-priority-layout-v681,
.skv-tv-dashboard .skv-tv-last30-layout{
  top: 56vh!important;
  width: min(860px, 82vw)!important;
  gap: clamp(18px, 2vw, 28px)!important;
}
.skv-tv-dashboard .skv-tv-priority-compact,
.skv-tv-dashboard .skv-tv-donut-panel,
.skv-tv-dashboard .skv-tv-last30-summary,
.skv-tv-dashboard .skv-tv-last30-list{
  min-height: 0!important;
  max-height: min(440px, 58vh)!important;
  padding: clamp(18px, 2vw, 24px)!important;
}
.skv-tv-dashboard .skv-tv-plant-status-grid,
.skv-tv-dashboard .skv-tv-plant-status-grid-v676{
  max-width: 84vw!important;
  gap: clamp(14px, 2vw, 22px)!important;
}
.skv-tv-dashboard .skv-tv-plant-card,
.skv-tv-dashboard .skv-tv-status-card{
  transform: scale(.9)!important;
  transform-origin: center!important;
}
@media (max-width: 1600px), (max-height: 900px){
  .skv-tv-dashboard .skv-tv-slide-title{
    top: 34px!important;
  }
  .skv-tv-dashboard .skv-tv-square-grid,
  .skv-tv-dashboard .skv-tv-mobilserv-squares{
    grid-template-columns: repeat(3, 155px)!important;
    gap: 16px!important;
    transform: translate(-50%,-38%)!important;
  }
  .skv-tv-dashboard .skv-tv-square{
    width: 155px!important;
    height: 155px!important;
    padding: 16px!important;
  }
  .skv-tv-dashboard .skv-tv-square b{
    font-size: 46px!important;
  }
  .skv-tv-dashboard .skv-tv-square span{
    font-size: 15px!important;
  }
  .skv-tv-dashboard .skv-tv-priority-layout-v681,
  .skv-tv-dashboard .skv-tv-last30-layout{
    width: min(760px, 82vw)!important;
  }
}
@media (max-height: 760px){
  .skv-tv-dashboard .skv-tv-slide-title{
    top: 22px!important;
  }
  .skv-tv-dashboard .skv-tv-square-grid,
  .skv-tv-dashboard .skv-tv-mobilserv-squares{
    grid-template-columns: repeat(3, 138px)!important;
    gap: 12px!important;
    transform: translate(-50%,-35%)!important;
  }
  .skv-tv-dashboard .skv-tv-square{
    width: 138px!important;
    height: 138px!important;
  }
  .skv-tv-dashboard .skv-tv-square b{
    font-size: 38px!important;
  }
}


/* v7.4.0 - Servicetekniker app/PWA */
body:has(.skv-service-app-shell), .skv-direct-body:has(.skv-service-app-shell){background:#eef6fb!important;margin:0!important;}
.skv-app.skv-service-app-shell{min-height:100dvh!important;max-width:none!important;margin:0!important;border-radius:0!important;background:#eef6fb!important;}
.skv-app.skv-service-app-shell .skv-header,.skv-app.skv-service-app-shell .skv-nav,.skv-app.skv-service-app-shell .mobile-top-start{display:none!important;}
.skv-app.skv-service-app-shell .layout{display:block!important;}
.skv-app.skv-service-app-shell .skv-main{padding:0!important;max-width:none!important;width:100%!important;}
.skv-service-app{min-height:100dvh;padding:18px;box-sizing:border-box;background:linear-gradient(180deg,#eef6fb,#ffffff);color:#092a49;font-family:inherit;}
.skv-service-app-hero,.skv-service-app-top{background:#07345b;color:white;border-radius:26px;padding:24px;box-shadow:0 18px 45px rgba(7,52,91,.18);}
.skv-service-app-hero span,.skv-service-app-top span{font-weight:900;opacity:.8;font-size:13px;text-transform:uppercase;letter-spacing:.04em;}
.skv-service-app-hero h1,.skv-service-app-top h1{margin:8px 0 8px;font-size:32px;line-height:1.05;color:white;}
.skv-service-app-hero p,.skv-service-app-top p{margin:0;color:rgba(255,255,255,.85);font-weight:700;}
.skv-service-app-top{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:10;border-radius:0 0 24px 24px;margin:-18px -18px 16px;}
.skv-service-app-card{background:#fff;border:1px solid #cfe0ee;border-radius:24px;padding:18px;margin-top:16px;box-shadow:0 16px 40px rgba(7,52,91,.10);}
.skv-service-scan-btn{width:100%;min-height:72px;border:0;border-radius:22px;background:#024997;color:white;font-size:22px;font-weight:950;box-shadow:0 14px 28px rgba(2,73,151,.25);}
.skv-service-scanner{margin-top:16px;border-radius:22px;overflow:hidden;background:#071e33;min-height:0;position:relative;}
.skv-service-scanner video{width:100%;max-height:56vh;display:block;background:#071e33;}
.skv-app-scanner-loading,.skv-app-scanner-error{padding:16px;color:white;font-weight:850;text-align:center;}
.skv-app-scan-frame{position:absolute;inset:18%;border:3px solid rgba(255,255,255,.9);border-radius:22px;box-shadow:0 0 0 999px rgba(0,0,0,.22);pointer-events:none;}
.skv-service-app-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.skv-service-app-actions .btn,.skv-service-app-actions .btn.big{flex:1;justify-content:center;min-height:48px;border-radius:16px;font-weight:950;}
.skv-service-app-hint{margin:16px 4px;color:#64748b;font-weight:750;text-align:center;}
.skv-service-app-error,.skv-service-app-success{margin:14px 0;background:#fff3cd;border:1px solid #f0c44d;color:#6b4e00;border-radius:18px;padding:12px 14px;font-weight:900;}
.skv-service-app-success{background:#e7f8ee;border-color:#95d7ae;color:#145f32;}
.skv-service-point-list{display:grid;gap:12px;}
.skv-service-point-card{background:white;border:1px solid #d5e5f1;border-radius:22px;padding:16px;box-shadow:0 12px 28px rgba(7,52,91,.08);}
.skv-service-point-card strong{display:block;font-size:18px;color:#092a49;}
.skv-service-point-card span{color:#64748b;font-weight:750;}
.skv-service-point-status{margin:10px 0;}
.skv-service-point-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0;color:#64748b;font-weight:800;}
.skv-service-point-meta span{background:#f2f7fb;border-radius:999px;padding:6px 10px;}
.skv-service-point-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px;}
.skv-service-point-actions .btn{min-height:48px;border-radius:15px;font-weight:950;justify-content:center;}
@media(min-width:700px){.skv-service-app{max-width:720px;margin:0 auto}.skv-service-point-actions{grid-template-columns:1fr 1fr}.skv-service-point-actions .btn:nth-child(3){grid-column:1/-1}}


/* v7.4.0 - PWA service technician app polish */
.skv-service-app{padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))!important;}
.skv-service-app-shell{overscroll-behavior:none!important;}
.skv-service-app-mini{display:grid!important;gap:8px!important;}
.skv-service-app-mini input{width:100%!important;box-sizing:border-box!important;border:1px solid #cfe0ee!important;border-radius:14px!important;padding:12px!important;font-weight:850!important;background:#f6f9fc!important;color:#0c3154!important;}
.skv-service-app-mini p{margin:0!important;color:#64748b!important;font-weight:750!important;}
.skv-service-app-card .btn{border-radius:16px!important;}
@media all and (display-mode: standalone){.skv-service-app-hint{display:none!important}.skv-service-app{min-height:100vh!important}}


/* v7.4.0 - Service App v1.0 shell polish */
.skv-app.skv-service-app-mode,
.skv-service-app{
  min-height:100dvh!important;
}
.skv-service-app{
  padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom)!important;
}
.skv-service-app-card{
  max-width:520px!important;
  margin:0 auto!important;
}
.skv-service-app .btn.big{
  min-height:58px!important;
  font-size:18px!important;
}


/* v7.4.0 - QR scanner improvements */
.skv-app-scanner-hint{
  position:absolute!important;
  left:50%!important;
  bottom:18px!important;
  transform:translateX(-50%)!important;
  background:rgba(2,73,151,.88)!important;
  color:#fff!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  font-weight:800!important;
  font-size:13px!important;
  max-width:88%!important;
  text-align:center!important;
}
.skv-app-scanner-loading{
  z-index:3!important;
}
.skv-app-scanner-error{
  padding:18px!important;
  border-radius:18px!important;
  background:#fff1f2!important;
  color:#991b1b!important;
  font-weight:800!important;
}


/* v7.4.0 - database and administration tools */
.skv-app.skv-modern-skin .skv-db-metrics{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(100px,1fr))!important;
  gap:12px!important;
  margin:18px 0!important;
}
.skv-app.skv-modern-skin .skv-db-metrics>div{
  border:1px solid var(--smk-border)!important;
  background:#f6f9fc!important;
  border-radius:16px!important;
  padding:16px!important;
  text-align:center!important;
}
.skv-app.skv-modern-skin .skv-db-metrics b{
  display:block!important;
  font-size:30px!important;
  color:#0c3154!important;
}
.skv-app.skv-modern-skin .skv-db-metrics span{
  font-weight:850!important;
}
.skv-app.skv-modern-skin .skv-db-status{
  margin:12px 0 18px!important;
  padding:12px 14px!important;
  background:#fff5d6!important;
  border:1px solid #f0c44d!important;
  border-radius:12px!important;
}
.skv-app.skv-modern-skin .skv-db-status.is-clean{
  background:#e8f7ef!important;
  border-color:#89c9a8!important;
  color:#17623c!important;
}
.skv-app.skv-modern-skin .skv-import-mode{
  display:grid!important;
  gap:10px!important;
  margin:16px 0!important;
  padding:16px!important;
  border:1px solid var(--smk-border)!important;
  border-radius:16px!important;
  background:#f6f9fc!important;
}
.skv-app.skv-modern-skin .skv-import-mode>label{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  font-weight:800!important;
}
@media(max-width:1100px){
  .skv-app.skv-modern-skin .skv-db-metrics{grid-template-columns:repeat(2,1fr)!important;}
}
