:root{
 --navy:#0b2d49; --navy-2:#123b5a; --navy-3:#1c4d70;
 --teal:#00a7a5; --teal-dark:#078b91; --teal-soft:#eaf9f8;
 --blue:#0c74d4; --blue-soft:#eaf4ff; --green:#07956f; --green-soft:#e8f8f2;
 --amber:#d99b16; --amber-soft:#fff6d8; --red:#d64343; --red-soft:#fff0f0;
 --violet:#6c5bd4; --violet-soft:#f0edff;
 --ink:#112b45; --text:#334b61; --muted:#718397; --line:#d9e5ed; --line-2:#e8eff4;
 --canvas:#f4f8fb; --card:#ffffff; --shadow:0 8px 28px rgba(23,55,78,.08); --shadow-sm:0 3px 12px rgba(23,55,78,.06);
 --radius:14px; --radius-sm:9px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Segoe UI",Inter,Arial,sans-serif;background:var(--canvas);color:var(--text);font-size:15px}
a{color:var(--blue);text-decoration:none} a:hover{color:#075ca8}
h1,h2,h3{color:var(--ink);letter-spacing:-.025em} h1{font-size:2rem;margin:.15rem 0 .5rem} h2{font-size:1.25rem} h3{font-size:1.05rem}
p{line-height:1.55}.lead{color:var(--muted)}

.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;padding:20px 14px 16px;background:linear-gradient(180deg,#0a2d49 0%,#0d3554 62%,#09273f 100%);color:white;box-shadow:8px 0 28px rgba(10,45,73,.08);z-index:30;display:flex;flex-direction:column}
.brand-lockup{display:flex;align-items:center;gap:11px;padding:7px 9px 21px;color:white!important;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:14px}
.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#12d5d0}.brand-mark svg{width:38px;height:38px}.brand-copy{display:grid;line-height:1}.brand-copy strong{font-size:1.05rem;letter-spacing:.035em}.brand-copy small{font-size:.58rem;letter-spacing:.15em;margin-top:5px;opacity:.76}
.primary-nav{display:flex;flex-direction:column;gap:4px;overflow:auto;padding-right:2px}.nav-group-label{padding:10px 12px 5px;font-size:.69rem;letter-spacing:.14em;text-transform:uppercase;color:#8fb1c8;font-weight:700}.nav-group-spaced{margin-top:10px}
.primary-nav a{display:flex;align-items:center;gap:11px;color:#d7e6f1!important;padding:10px 12px;border-radius:9px;font-weight:550;text-decoration:none;transition:.16s ease}.primary-nav a:hover{background:rgba(255,255,255,.08);color:white!important}.primary-nav a.active{background:linear-gradient(90deg,#0d6dba,#1188c5);color:white!important;box-shadow:0 6px 14px rgba(0,68,121,.3)}
.nav-icon{width:20px;height:20px;display:grid;place-items:center;flex:0 0 20px}.nav-icon svg{width:19px;height:19px;fill:currentColor}
.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:8px;padding:14px 10px 3px;color:#93b1c5;font-size:.77rem}.sidebar-status-dot{width:8px;height:8px;border-radius:50%;background:#28d79d;box-shadow:0 0 0 4px rgba(40,215,157,.13)}
.app-main{min-width:0}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 30px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}
.top-search{display:flex;align-items:center;gap:10px;width:min(520px,48vw);height:40px;padding:0 14px;border:1px solid var(--line);border-radius:9px;background:#f9fbfd;color:#8091a1!important}.top-search:hover{border-color:#b5cedd;background:white}.top-search svg{width:18px;height:18px;fill:#7690a4;flex:0 0 18px}.top-search span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-actions{display:flex;align-items:center;gap:14px}.system-online{display:flex;align-items:center;gap:7px;color:#587087;font-size:.8rem}.system-online i{display:block;width:8px;height:8px;border-radius:50%;background:#1cc190}.user-pill{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;border:1px solid var(--line);border-radius:999px;background:white;color:#405a70;font-size:.82rem}.user-pill b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--navy-2);color:white;font-size:.72rem}
.content{padding:28px 32px 48px;max-width:1640px;width:100%;margin:0 auto}

.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:2px 0 20px}.page-heading p{margin:0;color:var(--muted);max-width:880px}.eyebrow{display:block;color:var(--teal-dark);font-size:.72rem;letter-spacing:.12em;font-weight:800;margin-bottom:4px}.page-step{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:var(--teal-soft);color:var(--teal-dark);font-weight:700;font-size:.8rem;white-space:nowrap;border:1px solid #c5eeeb}

.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:24px 28px;border-radius:16px;background:linear-gradient(120deg,#fff 0%,#f7fcfe 55%,#e9f8f7 100%);border:1px solid var(--line);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.dashboard-hero:after{content:"";position:absolute;right:-70px;top:-80px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(0,167,165,.13),transparent 68%)}.dashboard-hero h1{font-size:1.75rem}.dashboard-hero p{margin:0;color:#647b8f;max-width:760px}.hero-cta{position:relative;z-index:1;min-width:205px;padding:15px 18px;border-radius:10px;background:linear-gradient(135deg,#0cbcb6,#079899);color:white!important;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 10px 22px rgba(0,157,154,.22)}.hero-cta span{font-size:1.55rem;font-weight:300}.hero-cta:hover{filter:brightness(.96)}
.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 26px}.quick-actions.quick-actions-single{grid-template-columns:1fr}.quick-card{display:grid;grid-template-columns:44px 1fr auto;gap:13px;align-items:center;padding:15px 17px;background:white;border:1px solid var(--line);border-radius:12px;color:inherit!important;box-shadow:var(--shadow-sm)}.quick-card:hover{transform:translateY(-1px);border-color:#bfd8e7}.quick-card div{display:grid;gap:3px}.quick-card strong{color:var(--ink)}.quick-card small{color:var(--muted);line-height:1.35}.quick-card>b{color:var(--teal);font-size:1.1rem}.quick-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-size:1.35rem;font-weight:700;background:var(--blue-soft);color:var(--blue)}
.dashboard-section{margin-top:22px}.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px}.section-title-row h2{margin:0}.section-title-row a{font-size:.83rem;font-weight:650}.status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.metric-card{display:flex;align-items:center;gap:14px;padding:18px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm)}.metric-card>div{display:grid}.metric-card strong{color:#496176;font-size:.8rem}.metric-card small{color:#8a99a7;font-size:.76rem}.metric-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;font-size:1.25rem;font-weight:800}.metric{font-size:1.8rem;line-height:1.05;font-weight:800;color:var(--ink);margin:5px 0 3px}.metric-blue .metric-icon{background:var(--blue-soft);color:var(--blue)}.metric-amber .metric-icon{background:var(--amber-soft);color:var(--amber)}.metric-violet .metric-icon{background:var(--violet-soft);color:var(--violet)}.metric-green .metric-icon{background:var(--green-soft);color:var(--green)}
.recent-projects-card,.table-card,.form-card,.search-card,.reference-card,.technician-entry,.intake-panel,.official-reports{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.recent-projects-card{padding:18px}.loading-card,.empty-state{padding:26px;background:white;border:1px dashed #c8d8e3;border-radius:12px;color:var(--muted);text-align:center}

input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #cbd9e3;border-radius:8px;background:#fff;color:var(--ink);outline:none;transition:border .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#4bb6cc;box-shadow:0 0 0 3px rgba(34,168,190,.11)}textarea{min-height:90px;resize:vertical}label{color:#3b5368;font-weight:600;font-size:.86rem}label input,label select,label textarea{margin-top:6px;font-weight:400}.form-grid,.tab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:15px 0}.one-column{grid-template-columns:1fr}.full-width{grid-column:1/-1}.inline-control-row{display:flex;gap:14px}.inline-control-row label{min-width:240px}.form-card{padding:18px 20px;margin:15px 0}.card-heading{display:flex;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line-2)}.card-heading h2{margin:0 0 3px}.card-heading p{margin:0;color:var(--muted);font-size:.86rem}.card-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0d7fbd,#00a7a5);color:white;font-weight:800;font-size:.85rem;flex:0 0 30px}.form-note{color:var(--muted);font-size:.85rem}.form-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:18px}.sticky-actions{position:sticky;bottom:12px;padding:12px;background:rgba(244,248,251,.9);backdrop-filter:blur(8px);border-radius:12px;z-index:5}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border:0;border-radius:8px;cursor:pointer;font-weight:700;text-decoration:none;transition:.15s}.button-primary,button{background:linear-gradient(135deg,#0baaa7,#078d98);color:white!important;box-shadow:0 5px 12px rgba(0,145,150,.16)}.button-primary:hover,button:hover{filter:brightness(.96);transform:translateY(-1px)}.button-secondary,.secondary-action{background:white;color:#34546d!important;border:1px solid #cbdbe5;box-shadow:none}.button-large{padding:12px 18px}.message-box{padding:12px 14px;border-radius:9px;background:#edf9f5;border:1px solid #c6eade;color:#17694f;margin:12px 0}.error-box{background:var(--red-soft);border-color:#f1cccc;color:#a53030}
.context-note{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:12px 14px;background:#eef8fb;border:1px solid #cae3ed;border-radius:10px;color:#40596f}.context-note-modern{background:linear-gradient(90deg,#ecfaf9,#eef7fb)}.context-note strong{color:var(--ink)}

.toolbar{display:flex;gap:10px;margin:16px 0;flex-wrap:wrap}.toolbar input{min-width:420px;flex:1}.search-card{padding:17px;margin-bottom:15px}.search-field-large{display:grid;grid-template-columns:auto 1fr auto;align-items:center;border:1px solid #c6d8e4;border-radius:10px;padding:5px;background:#fbfdfe}.search-field-large:focus-within{border-color:#48b3c8;box-shadow:0 0 0 3px rgba(34,168,190,.1)}.search-field-large input{border:0;box-shadow:none!important;background:transparent}.search-symbol{font-size:1.5rem;color:#7290a5;padding-left:8px}.search-filter-row{display:flex;justify-content:space-between;align-items:end;margin-top:12px}.search-filter-row label{min-width:220px}.result-count{color:var(--muted);font-size:.82rem;padding-bottom:8px}
.table-card{overflow:hidden}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;background:white}.data-table th{padding:10px 12px;background:#f3f8fb;color:#527086;font-size:.73rem;text-transform:uppercase;letter-spacing:.035em;border-bottom:1px solid var(--line)}.data-table td{padding:11px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}.data-table tbody tr:hover{background:#f8fcfe}.modern-table td:first-child{white-space:nowrap}.modern-table td:first-child small{display:block;color:#8b9ba9;margin-top:3px}.project-link{font-weight:800;color:#0877c9}.count-pill{display:inline-grid;place-items:center;min-width:30px;height:27px;padding:0 8px;border-radius:999px;background:#edf5f9;color:#315c76;font-weight:700}.status-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.75rem;font-weight:750;white-space:nowrap}.badge-blue{background:#e4f2ff;color:#146db1}.badge-green{background:#e0f6ed;color:#15785d}.badge-amber{background:#fff1c7;color:#9b6d09}.badge-red{background:#ffe5e5;color:#b43b3b}.badge-gray{background:#edf1f4;color:#5e7181}

.tab-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tab-grid section{background:white;padding:17px;border-radius:12px;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.tab-grid section h2{margin-top:0}.reference-card{padding:18px;margin:18px 0}.reference-card h2{margin-top:0}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reference-grid div{display:grid;gap:3px;padding:10px 12px;background:#f8fbfd;border:1px solid #e3edf3;border-radius:8px}.reference-grid span{font-size:.72rem;color:#7b8d9d;text-transform:uppercase;letter-spacing:.035em}.reference-grid strong{font-weight:700;color:#2c465d;overflow-wrap:anywhere}.intake-panel{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px;margin:16px 0}.intake-panel h2{margin-top:0}.intake-open{border-left:5px solid #e2ad23;background:linear-gradient(90deg,#fffaf0,#fff)}.intake-complete{border-left:5px solid var(--green);background:linear-gradient(90deg,#effbf6,#fff)}.intake-actions{display:flex;flex-direction:column;gap:8px;min-width:220px}.primary-action{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:8px;background:linear-gradient(135deg,#0aa8a5,#078d99);color:white!important;font-weight:700}.equipment-section{margin-top:20px}.section-heading-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:12px}.section-heading-row h2{margin:0}.section-heading-row p{margin:3px 0;color:var(--muted)}.device-search{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:14px 0}.device-search label{flex:1}
.official-reports{padding:17px;margin:18px 0}.official-reports>h2{margin-top:0}.report-purpose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-purpose-card{display:grid;gap:5px;padding:15px;border:1px solid #d7e4ec;border-radius:10px;background:linear-gradient(135deg,#fbfdfe,#f1f9fb);color:inherit!important}.report-purpose-card strong{color:var(--ink)}.report-purpose-card span{color:var(--muted);font-size:.84rem;line-height:1.4}

.finance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.finance-card{margin:0}.basis-callout{padding:10px 12px;background:#f2f9fb;border-radius:8px;color:#486277;margin:10px 0}
.technician-workspace{max-width:1600px}.technician-entry{padding:18px;margin:15px 0}.history-scroll{overflow-x:auto}.technician-history-table{min-width:1500px}

.document{max-width:1050px;margin:0 auto;background:white;padding:34px;border-radius:5px;box-shadow:0 8px 28px rgba(20,50,72,.08);border:1px solid #dce7ed}.document-brand-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:13px;margin-bottom:18px;border-bottom:2px solid #50b7ca;color:var(--navy)}.document-brand-header>div{display:grid}.document-brand-header strong{font-size:1.45rem;letter-spacing:.04em}.document-brand-header small{font-size:.62rem;letter-spacing:.17em;color:#628099}.document-brand-header>span{font-weight:800;letter-spacing:.09em;color:#245577;font-size:.78rem}.doc-table{width:100%;border-collapse:collapse;margin:12px 0 20px}.doc-table th{background:#f3f8fb;color:#3b5c74}.doc-table th,.doc-table td{border:1px solid #d4e0e8;padding:8px;text-align:left;vertical-align:top}.document-warning{margin:18px 0;padding:14px;border:2px solid var(--red);border-radius:8px;background:var(--red-soft);color:#982e2e}.document-note{margin-top:18px;color:#667b8c;font-size:.87rem}.danger-row td{font-weight:650;background:#fff5f5}.device-cost-block{margin:18px 0 24px;break-inside:avoid;padding:13px;border:1px solid #dce7ed;border-radius:9px}.totals-table{max-width:760px}.print-toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}
.label-card{width:100mm;min-height:66mm;border:2px solid #19344b;padding:6mm;background:white;font-size:10.5pt;border-radius:3mm;box-shadow:0 6px 20px rgba(0,0,0,.08)}.label-brand{display:flex;align-items:center;gap:8px;padding-bottom:3mm;border-bottom:1px solid #bdd3df;color:var(--navy);font-size:17pt;font-weight:900}.label-brand small{display:block;font-size:6pt;letter-spacing:.16em;color:#5b7b91}.label-logo-mark{color:var(--teal);font-size:20pt}.label-device-id{display:grid;margin:3mm 0 2mm}.label-device-id small,.label-status small{font-size:6.5pt;letter-spacing:.08em;color:#6c8294}.label-device-id strong{font-size:18pt;color:var(--navy)}.label-status{display:grid;margin-top:3mm;padding:2.5mm;border-radius:2mm;background:var(--green-soft);color:#096c54}.label-status strong{font-size:13pt}.label-warning{border:3px solid #bb2727;background:#e53935;color:white;font-size:18pt;font-weight:900;text-align:center;padding:3mm;margin-top:3mm;border-radius:2mm}.label-danger{border-color:#c82f2f}.label-danger .label-status{background:var(--red-soft);color:#a52a2a}

@media(max-width:1180px){.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-grid{grid-template-columns:1fr}.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.primary-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.nav-group-label,.sidebar-footer{grid-column:1/-1}.topbar{position:static;padding:0 18px}.top-search{width:100%;max-width:none}.system-online{display:none}.content{padding:20px 16px 40px}.quick-actions,.status-grid,.form-grid,.tab-grid,.report-purpose-grid{grid-template-columns:1fr}.dashboard-hero,.page-heading,.intake-panel,.section-heading-row{flex-direction:column}.hero-cta{width:100%}.reference-grid{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions .button,.form-actions button{flex:1}.toolbar input{min-width:100%}.search-filter-row{align-items:stretch;flex-direction:column}.search-filter-row label{min-width:0}.device-search{flex-direction:column;align-items:stretch}}
@media(max-width:560px){.primary-nav{grid-template-columns:1fr}.topbar-actions{display:none}.top-search{width:100%}.content{padding:16px 11px 32px}.dashboard-hero{padding:19px}.form-card{padding:14px}.page-heading h1{font-size:1.65rem}}

@media print{
 .sidebar,.topbar,.no-print,.print-toolbar,button,.toolbar,.official-reports,.sticky-actions{display:none!important}
 .app-shell{display:block}.app-main,.content{display:block;padding:0!important;margin:0!important;max-width:none!important}
 body{background:white!important}.document{max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}
 a{color:#000!important;text-decoration:none!important}.device-cost-block{break-inside:avoid}
}

.duplicate-warning{margin-top:16px;padding:16px;border:2px solid #e8aa32;border-radius:14px;background:#fff9e9}
.duplicate-warning-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.duplicate-warning-title strong{font-size:1.05rem;color:#8a5b00}
.duplicate-warning-title span{color:#6e5a2d}
.duplicate-candidate{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px;margin:8px 0;background:#fff;border:1px solid #e6d8ac;border-radius:10px}
.duplicate-candidate div:first-child{display:grid;gap:3px}
.duplicate-candidate small{color:#6a7076}
.duplicate-candidate.high-confidence{border-color:#d97706;box-shadow:0 0 0 2px rgba(217,119,6,.08)}
.duplicate-links{display:flex;gap:12px;flex-wrap:wrap}
.confirm-duplicate{display:flex!important;align-items:flex-start!important;gap:9px;margin-top:12px;font-weight:600}
.confirm-duplicate input{width:auto!important;margin-top:3px}
.inline-message{margin:12px 0;padding:12px 14px;border-radius:10px;background:#eef6fb;border:1px solid #c9dde9}
.entity-actions{display:flex;flex-wrap:wrap;gap:10px 16px;margin:12px 0 18px}
.correction-link{font-weight:700;color:#8a5b00}
.correction-card{margin:18px 0;padding:18px;background:#fff;border:1px solid #d6e1e8;border-radius:14px;box-shadow:0 3px 14px rgba(11,45,73,.05)}
.correction-card h2{margin-top:0}
.duplicate-compare{margin:18px 0}
.correction-danger{display:grid;gap:5px;margin:16px 0;padding:14px;border-left:5px solid #d97706;background:#fff8e8;border-radius:8px}
.delete-card{border-color:#e9c6c6}
.button-danger{background:#a62c2c!important;color:#fff!important;border-color:#a62c2c!important}
.merged-record{max-width:900px;margin:30px auto;padding:24px;background:#fff8e8;border:2px solid #d6a12d;border-radius:16px}
.merged-history{margin-top:24px;padding-top:16px;border-top:1px solid #d8e2e9}
@media(max-width:800px){.duplicate-candidate{align-items:flex-start;flex-direction:column}}

.visit-calculation{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0;padding:14px;border-radius:12px;background:#eef6f8;border:1px solid #cfe2e7}
.visit-calculation span{display:grid;gap:3px;font-size:.9rem;color:#55646d}
.visit-calculation strong{font-size:1.02rem;color:#14364a}
.visit-summary{margin:20px 0}
.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.metric-card{display:grid;gap:6px;padding:14px;background:#fff;border:1px solid #d7e1e7;border-radius:12px}
.metric-card span{font-size:.86rem;color:#65717a}
.metric-card strong{font-size:1.15rem;color:#17364a}
.visit-proof{margin-top:22px}
.visit-table{min-width:1450px}
.correction-history{margin-top:24px;padding-top:18px;border-top:1px solid #d7e1e7}
.visit-report-table{font-size:.88rem}
@media(max-width:1050px){.visit-calculation,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.visit-calculation,.metric-grid{grid-template-columns:1fr}}

.pdf-archive-list{margin:16px 0 22px;padding:16px;background:#f7fafc;border:1px solid #d8e4ea;border-radius:12px}
.pdf-archive-list h3{margin-top:0;color:#17364a}
.pdf-archive-list p{color:#66737c}
.empty-archive{padding:24px;margin:18px 0;background:#f7fafc;border:1px dashed #b9cbd5;border-radius:12px;text-align:center}
.print-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* RC29 — authentication, user administration and role access */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:linear-gradient(145deg,#eef5f9,#f8fbfd)}
.auth-brand{position:fixed;top:24px;left:28px;display:grid;color:var(--navy)}
.auth-brand strong{letter-spacing:.08em;font-size:1.12rem}.auth-brand span{font-size:.62rem;letter-spacing:.16em;color:var(--muted);margin-top:3px}
.auth-content{width:min(560px,100%)}
.auth-card{background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:30px}
.auth-card-wide{width:min(640px,100%)}
.auth-card h1{margin-top:2px}.auth-card>p{color:var(--muted)}
.auth-form{display:grid;gap:14px;margin-top:20px}.auth-form button{margin-top:4px}
.security-note{padding:13px 15px;border:1px solid #cbdde7;border-radius:10px;background:#f5fafc;color:#435d70;margin:14px 0;line-height:1.5}
.success-box{background:#edf9f5;border-color:#c6eade;color:#17694f}.muted-text{color:var(--muted);font-size:.82rem}
.user-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.user-admin-grid .form-card{margin:0}
.action-cell{display:flex;gap:6px;flex-wrap:wrap}.action-cell button{padding:7px 9px;font-size:.78rem}.danger-button{background:#a62c2c!important}
.status-badge{display:inline-flex;padding:4px 7px;margin:1px 3px 1px 0;border-radius:999px;background:#eef2f5;color:#5b6b78;font-size:.72rem;font-weight:700}.status-ok{background:#e8f8f2;color:#087458}
.logout-form{margin:0}.logout-button{padding:7px 10px;background:white!important;color:#405a70!important;border:1px solid var(--line)!important;box-shadow:none!important;font-size:.78rem}.logout-button:hover{background:#f7fafc!important}
input[readonly],input:disabled{background:#f2f5f7;color:#667785;cursor:not-allowed}
@media(max-width:900px){.user-admin-grid{grid-template-columns:1fr}.auth-brand{position:static;margin-bottom:20px}.auth-shell{place-items:start center}.auth-content{margin-top:40px}}

/* RC36 — global table UI standardization */
:root{
 --table-head-bg:#eef5f9;
 --table-head-text:#49677d;
 --table-row-alt:#fbfdfe;
 --table-row-hover:#f3f9fc;
 --table-border:#d8e5ed;
 --table-divider:#e7eef3;
}

/* Shared visual rhythm for every application and report table. */
.data-table,.doc-table{
 width:100%;
 font-variant-numeric:tabular-nums;
 color:#30495e;
}
.data-table{
 border-collapse:separate;
 border-spacing:0;
 background:#fff;
 border:1px solid var(--table-border);
 border-radius:10px;
 overflow:hidden;
}
.data-table thead th{
 height:42px;
 padding:11px 14px;
 background:var(--table-head-bg);
 color:var(--table-head-text);
 font-size:.72rem;
 font-weight:800;
 text-transform:uppercase;
 letter-spacing:.045em;
 line-height:1.25;
 text-align:left;
 vertical-align:middle;
 white-space:nowrap;
 border-bottom:1px solid var(--table-border);
}
.data-table tbody td,.data-table tbody th{
 padding:12px 14px;
 line-height:1.38;
 text-align:left;
 vertical-align:middle;
 border-bottom:1px solid var(--table-divider);
 overflow-wrap:anywhere;
}
.data-table tbody tr:nth-child(even){background:var(--table-row-alt)}
.data-table tbody tr:hover{background:var(--table-row-hover)}
.data-table tbody tr:last-child>td,.data-table tbody tr:last-child>th{border-bottom:0}
.data-table th+th,.data-table td+td{border-left:1px solid rgba(216,229,237,.55)}
.data-table a{font-weight:650}
.data-table small{color:var(--muted);line-height:1.25}
.table-scroll,.history-scroll{scrollbar-gutter:stable;overscroll-behavior-x:contain;padding-bottom:2px}

/* Consistent alignment for common table types. */
.worklog-summary-table{table-layout:fixed;min-width:920px}
.worklog-summary-table th:nth-child(1),.worklog-summary-table td:nth-child(1){width:12%;white-space:nowrap}
.worklog-summary-table th:nth-child(2),.worklog-summary-table td:nth-child(2){width:18%}
.worklog-summary-table th:nth-child(3),.worklog-summary-table td:nth-child(3){width:22%}
.worklog-summary-table th:nth-child(4),.worklog-summary-table td:nth-child(4){width:30%}
.worklog-summary-table th:nth-child(5),.worklog-summary-table td:nth-child(5){width:8%;text-align:right;white-space:nowrap}
.worklog-summary-table th:nth-child(6),.worklog-summary-table td:nth-child(6){width:10%;text-align:center;white-space:nowrap}
.worklog-summary-table td:nth-child(3),.worklog-summary-table td:nth-child(4){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.attachment-table{table-layout:fixed}
.attachment-table th:nth-child(1),.attachment-table td:nth-child(1){width:58%}
.attachment-table th:nth-child(2),.attachment-table td:nth-child(2){width:17%;text-align:right;white-space:nowrap}
.attachment-table th:nth-child(3),.attachment-table td:nth-child(3){width:25%;white-space:nowrap}
.attachment-table td:nth-child(1){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.device-list-table th:nth-child(5),.device-list-table td:nth-child(5){text-align:right;white-space:nowrap}
.device-list-table th:last-child,.device-list-table td:last-child{text-align:center;white-space:nowrap}
.user-table{table-layout:fixed;min-width:980px}
.user-table th:nth-child(1){width:15%}.user-table th:nth-child(2){width:12%}.user-table th:nth-child(3){width:16%}.user-table th:nth-child(4){width:20%}.user-table th:nth-child(5){width:16%}.user-table th:nth-child(6){width:21%}
.user-table td:last-child,.user-table th:last-child{text-align:center}
.user-table .action-cell{align-items:center;justify-content:center;min-height:48px}

.audit-table{table-layout:fixed;min-width:900px}
.audit-table th:nth-child(1){width:19%}.audit-table th:nth-child(2){width:24%}.audit-table th:nth-child(3){width:14%}.audit-table th:nth-child(4){width:18%}.audit-table th:nth-child(5){width:25%}
.audit-table td:nth-child(1){white-space:nowrap}
.audit-table td:nth-child(4){font-family:Consolas,"SFMono-Regular",monospace;font-size:.86rem}

.payment-table{table-layout:fixed}
.payment-table th:nth-child(1),.payment-table td:nth-child(1){width:24%;white-space:nowrap}
.payment-table th:nth-child(2),.payment-table td:nth-child(2){width:24%;text-align:right;white-space:nowrap}
.payment-table th:nth-child(3),.payment-table td:nth-child(3){width:52%}

.followup-table th:nth-child(6),.followup-table td:nth-child(6),
.followup-table th:nth-child(7),.followup-table td:nth-child(7),
.followup-table th:nth-child(8),.followup-table td:nth-child(8){text-align:right;white-space:nowrap}
.customer-table th:first-child,.customer-table td:first-child,
.project-history-table th:first-child,.project-history-table td:first-child{white-space:nowrap}
.archive-table th:last-child,.archive-table td:last-child{text-align:center;white-space:nowrap}
.archive-table td:nth-child(2){overflow-wrap:anywhere}

.technician-history-table thead th:nth-child(7),.technician-history-table tbody td:nth-child(7),
.parts-table-ui thead th:nth-child(6),.parts-table-ui tbody td:nth-child(6),
.parts-table-ui thead th:nth-child(7),.parts-table-ui tbody td:nth-child(7),
.parts-table-ui thead th:nth-child(8),.parts-table-ui tbody td:nth-child(8),
.parts-table-ui thead th:nth-child(9),.parts-table-ui tbody td:nth-child(9),
.visit-table thead th:nth-child(5),.visit-table tbody td:nth-child(5),
.visit-table thead th:nth-child(6),.visit-table tbody td:nth-child(6),
.visit-table thead th:nth-child(7),.visit-table tbody td:nth-child(7),
.visit-table thead th:nth-child(10),.visit-table tbody td:nth-child(10){text-align:right;white-space:nowrap}
.technician-history-table thead th:last-child,.technician-history-table tbody td:last-child,
.visit-table thead th:last-child,.visit-table tbody td:last-child{text-align:center;white-space:nowrap}
.status-history-table td:first-child,.revision-table td:first-child{white-space:nowrap}
.comparison-table{table-layout:fixed}
.comparison-table th:first-child,.comparison-table td:first-child{width:30%;font-weight:700}
.invoice-basis-table{table-layout:fixed}
.invoice-basis-table tbody th{width:68%;background:#f7fafc;color:#3c5b72;font-weight:700}
.invoice-basis-table tbody td{width:32%;text-align:right;white-space:nowrap}

/* Report/document tables use the same spacing and alignment, but never truncate content. */
.doc-table{
 border-collapse:separate;
 border-spacing:0;
 border:1px solid var(--table-border);
 border-radius:7px;
 overflow:hidden;
}
.doc-table th,.doc-table td{
 padding:9px 10px;
 line-height:1.35;
 vertical-align:top;
 border:0;
 border-right:1px solid var(--table-border);
 border-bottom:1px solid var(--table-border);
 text-align:left;
 overflow-wrap:anywhere;
}
.doc-table th:last-child,.doc-table td:last-child{border-right:0}
.doc-table tr:last-child>th,.doc-table tr:last-child>td{border-bottom:0}
.doc-table thead th{background:var(--table-head-bg);color:#3b5c74;font-weight:800}
.doc-table tbody tr:nth-child(even){background:#fbfdfe}

@media(max-width:900px){
 .data-table thead th{padding:10px 11px}
 .data-table tbody td,.data-table tbody th{padding:11px}
 .worklog-summary-table,.user-table,.audit-table{min-width:860px}
}
@media print{
 .data-table,.doc-table{border-color:#bfcbd3!important;box-shadow:none!important}
 .data-table tbody tr:nth-child(even),.doc-table tbody tr:nth-child(even){background:#fff!important}
}


/* RC47 — report redesign: numbered, boxed device sections */
.report-device-list{display:grid;gap:15px;margin:12px 0 22px}
.report-device-card{position:relative;padding:15px 16px 16px;border:1.5px solid #cbdde7;border-radius:12px;background:#fff;box-shadow:0 3px 10px rgba(22,57,82,.045);break-inside:avoid;page-break-inside:avoid}
.report-device-card-header{display:flex;align-items:flex-start;gap:12px;padding-bottom:11px;margin-bottom:12px;border-bottom:1px solid #e1ebf1}
.report-device-number{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0d7fbd,#00a7a5);color:#fff;font-weight:850;font-size:.92rem;box-shadow:0 3px 8px rgba(0,130,160,.16)}
.report-device-card-header>div{display:grid;gap:2px;min-width:0}.report-device-card-header small{font-size:.65rem;letter-spacing:.12em;color:#6e8496;font-weight:800}.report-device-card-header h3{margin:0;font-size:1.03rem;line-height:1.25}.report-device-id{font-size:.84rem;color:#286181;letter-spacing:.015em}
.report-device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.report-device-grid>div{display:grid;gap:3px}.report-device-grid span{font-size:.69rem;letter-spacing:.055em;text-transform:uppercase;color:#7a8d9c;font-weight:750}.report-device-grid strong{color:#223f55;line-height:1.35}.report-device-wide{grid-column:1/-1}.report-device-grid-compact{margin-bottom:12px}
.report-device-warning{margin-top:12px;padding:9px 11px;border-radius:7px;border:1px solid #edb5b5;background:#fff1f1;color:#a52e2e;font-weight:900;letter-spacing:.04em;text-align:center}
.report-device-danger{border-color:#e5aaaa;background:#fffafa}.report-device-danger .report-device-number{background:linear-gradient(135deg,#b72e2e,#dc5656)}
.report-device-card-compact{padding:13px 14px}.report-device-card-compact .report-device-card-header{margin-bottom:10px}
.device-cost-block.report-device-card{margin:16px 0 20px;padding:15px 16px 16px;border:1.5px solid #cbdde7;border-radius:12px}
@media(max-width:700px){.report-device-grid{grid-template-columns:1fr}.report-device-wide{grid-column:auto}}
@media print{.report-device-card{box-shadow:none!important;border:1.25px solid #9fb4c2!important;background:#fff!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-device-number{background:#0d879b!important;color:#fff!important;box-shadow:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-device-danger{border-color:#b45757!important}.report-device-warning{background:#fff!important;border:1.5px solid #b45757!important;color:#8f2020!important}.report-device-card-header{border-bottom-color:#cbd7df!important}}

/* RC49 — report identity cards and print-safe boxed layout */
.report-party-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0 22px}
.report-party-card{border:1.5px solid #cbdde7;border-radius:12px;background:#fafdff;padding:15px 16px 16px;break-inside:avoid;page-break-inside:avoid}
.report-party-heading{display:flex;gap:11px;align-items:center;padding-bottom:10px;margin-bottom:11px;border-bottom:1px solid #dde8ef}
.report-party-number{width:30px;height:30px;flex:0 0 30px;border-radius:8px;display:grid;place-items:center;background:#0b8f9b;color:#fff;font-weight:900}
.report-party-heading small{display:block;font-size:.64rem;letter-spacing:.12em;color:#708798;font-weight:850}.report-party-heading h2{margin:1px 0 0;font-size:1.08rem}
.report-party-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 15px;margin:0}.report-party-details>div{min-width:0}.report-party-details dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.055em;color:#7a8d9c;font-weight:800}.report-party-details dd{margin:3px 0 0;font-weight:700;color:#223f55;overflow-wrap:anywhere}.report-party-wide{grid-column:1/-1}
.report-device-card{overflow:hidden}.report-device-card-header{padding-top:1px}.report-device-card-header h3,.report-device-id{overflow-wrap:anywhere}
@media(max-width:800px){.report-party-grid{grid-template-columns:1fr}.report-party-details{grid-template-columns:1fr}.report-party-wide{grid-column:auto}}
@media print{.report-party-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-party-card{box-shadow:none!important;background:#fff!important;border:1.25px solid #9fb4c2!important;padding:12px 13px!important;break-inside:avoid!important;page-break-inside:avoid!important}.report-party-number{background:#0d879b!important;color:#fff!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-device-card{break-inside:avoid!important;page-break-inside:avoid!important}}

/* RC49 — final report spacing refinement */
.customer-report .report-party-grid,
.partner-report .report-party-grid,
.project-report .report-party-grid{margin-bottom:34px}
.customer-report .report-party-grid + h2,
.partner-report .report-party-grid + h2,
.project-report .report-party-grid + h2{margin-top:0;margin-bottom:16px}
@media print{
 .customer-report .report-party-grid,
 .partner-report .report-party-grid,
 .project-report .report-party-grid{margin-bottom:18px!important}
 .customer-report .report-party-grid + h2,
 .partner-report .report-party-grid + h2,
 .project-report .report-party-grid + h2{margin-top:0!important;margin-bottom:11px!important}
}

/* RC50 — report inner spacing refinement */
.report-party-card{padding-top:21px}
.report-device-card{padding-top:21px}
.device-cost-block.report-device-card{padding-top:21px}
.report-device-card-compact{padding-top:19px}
@media print{
 .report-party-card{padding-top:17px!important}
 .report-device-card{padding-top:17px!important}
 .device-cost-block.report-device-card{padding-top:17px!important}
 .report-device-card-compact{padding-top:16px!important}
}


/* RC52 — boxed final partner-report sections */
.report-summary-card{margin:20px 0 22px;padding:20px 18px 18px;border:1.5px solid #cbdde7;border-radius:12px;background:#fafdff;break-inside:avoid;page-break-inside:avoid}
.report-summary-card .report-party-heading{margin-bottom:14px}
.report-summary-card .doc-table{margin:0}
.report-empty-note{margin:2px 0 14px;color:#62798b;font-style:italic}
.report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.report-summary-grid>div{padding:10px 11px;border:1px solid #dbe7ee;border-radius:8px;background:#fff;display:grid;gap:4px}
.report-summary-grid span{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#718797;font-weight:800}
.report-summary-grid strong{font-size:.98rem;color:#173c56}
.report-total-card .totals-table th{width:72%}
.report-grand-total th,.report-grand-total td{font-size:1.04rem;background:#eef8f7!important;border-top:2px solid #8ec7c5!important}
@media(max-width:900px){.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.report-summary-grid{grid-template-columns:1fr}}
@media print{
 .report-summary-card{margin:14px 0 16px!important;padding:16px 14px 14px!important;border:1.25px solid #9fb4c2!important;background:#fff!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important}
 .report-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px!important}
 .report-summary-grid>div{padding:7px 8px!important;border:1px solid #c7d5de!important;background:#fff!important}
}

/* RC52 — boxed etikett + Code 128 barcode per Enhet */
.label-card-rc52{width:105mm;min-height:0;padding:5mm;border:2px solid #19344b;border-radius:4mm;background:#fff;font-size:9.6pt;box-shadow:0 6px 20px rgba(0,0,0,.08)}
.label-card-rc52 .label-brand{padding:0 0 3.5mm;border-bottom:1px solid #a9c9d8;font-size:19pt}
.label-card-rc52 .label-brand small{font-size:6.2pt;letter-spacing:.18em}
.label-card-rc52 .label-device-id{margin:3.5mm 0 3mm;padding:0 1mm 1mm}
.label-card-rc52 .label-device-id small{font-size:7pt;font-weight:800;letter-spacing:.11em}
.label-card-rc52 .label-device-id strong{font-size:22pt;line-height:1.05;overflow-wrap:anywhere}
.label-section{margin-top:2.6mm;border:1.4px solid #4f7891;border-radius:2.8mm;overflow:hidden;background:#fff;break-inside:avoid;page-break-inside:avoid}
.label-section-heading{display:flex;align-items:center;gap:2.6mm;padding:2.2mm 3mm;background:#eaf6fb;color:#173c56;font-size:11pt;letter-spacing:.015em}
.label-section-number{width:7mm;height:7mm;flex:0 0 7mm;border-radius:50%;display:grid;place-items:center;background:#0b9a9f;color:#fff;font-size:9pt;font-weight:900}
.label-section-body{display:grid;gap:1.25mm;padding:3.2mm 3.5mm 3.5mm}
.label-row{display:grid;grid-template-columns:36mm minmax(0,1fr);gap:2mm;align-items:start}
.label-row span{color:#4e687b;font-weight:650}.label-row strong{color:#173c56;overflow-wrap:anywhere}
.label-barcode-section{border-color:#3c6d87}
.label-barcode-body{padding:3.4mm 3mm 3mm;text-align:center;background:#fff}
.label-barcode{display:block;width:100%;height:18mm;fill:#111;background:#fff;shape-rendering:crispEdges}
.label-barcode-text{display:block;margin-top:1.3mm;color:#173c56;font-size:10pt;letter-spacing:.08em}
.label-card-rc52 .label-status{margin-top:3mm;padding:3mm 3.5mm;border:1.5px solid #2a9e8c;border-radius:2.8mm;background:#eaf8f3}
.label-card-rc52 .label-status small{font-size:7pt;font-weight:850;letter-spacing:.1em}
.label-card-rc52 .label-status strong{font-size:14pt;line-height:1.15}
.label-recommendation{margin-top:2.5mm;padding:2.5mm 3mm;border:1px solid #d5e4eb;border-radius:2mm;background:#f8fbfc;color:#36556a}
@media(max-width:650px){.label-card-rc52{width:100%;}.label-row{grid-template-columns:1fr;gap:.5mm}.label-card-rc52 .label-device-id strong{font-size:18pt}}
@media print{
 .label-card-rc52{width:105mm!important;box-shadow:none!important;border:1.5px solid #19344b!important;padding:5mm!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .label-section{border:1.2px solid #4f7891!important;background:#fff!important;break-inside:avoid!important;page-break-inside:avoid!important}
 .label-section-heading{background:#eef7fa!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .label-section-number{background:#0b9a9f!important;color:#fff!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .label-barcode{height:18mm!important;fill:#000!important;background:#fff!important}
 .label-card-rc52 .label-status{background:#eef8f4!important;border-color:#2a9e8c!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

/* RC54 — RC53 build hotfix + horizontal/fold-friendly etikett */
.label-card-rc53{position:relative;width:min(277mm,100%);min-height:118mm;padding:6mm;border:2px solid #19344b;border-radius:4mm;background:#fff;font-size:8.8pt;box-shadow:0 6px 20px rgba(0,0,0,.08);overflow:visible}
.label-rc53-header{display:grid;grid-template-columns:1.1fr 1.25fr 1fr;gap:6mm;align-items:end;padding-bottom:4mm;border-bottom:1px solid #a9c9d8}
.label-card-rc53 .label-brand{padding:0;border:0;font-size:18pt;min-width:0}
.label-card-rc53 .label-brand small{font-size:6pt;letter-spacing:.18em}
.label-card-rc53 .label-device-id{display:grid;margin:0;padding:0;min-width:0}
.label-card-rc53 .label-device-id small{font-size:7pt;font-weight:800;letter-spacing:.11em;color:#6c8294}
.label-card-rc53 .label-device-id strong{font-size:20pt;line-height:1.05;overflow-wrap:anywhere;color:#173c56}
.label-card-rc53 .label-status{display:grid;margin:0;padding:3mm 3.5mm;border:1.5px solid #2a9e8c;border-radius:2.8mm;background:#eaf8f3;min-width:0}
.label-card-rc53 .label-status small{font-size:7pt;font-weight:850;letter-spacing:.1em}
.label-card-rc53 .label-status strong{font-size:12.5pt;line-height:1.15}
.label-fold-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3mm;margin-top:4mm;align-items:stretch}
.label-card-rc53 .label-section{margin-top:0;height:100%;min-height:58mm}
.label-card-rc53 .label-section-heading{font-size:9.2pt;padding:2mm 2.3mm;gap:2mm}
.label-card-rc53 .label-section-number{width:6.5mm;height:6.5mm;flex-basis:6.5mm;font-size:8.5pt}
.label-card-rc53 .label-section-body{padding:3.2mm 3mm;gap:2.5mm}
.label-card-rc53 .label-row{display:grid;grid-template-columns:1fr;gap:.6mm}
.label-card-rc53 .label-row span{font-size:7.7pt}
.label-card-rc53 .label-row strong{font-size:9pt;line-height:1.2}
.label-card-rc53 .label-barcode-body{display:grid;align-content:center;min-height:44mm;padding:3mm}
.label-card-rc53 .label-barcode{height:24mm}
.label-card-rc53 .label-barcode-text{font-size:9pt;letter-spacing:.06em}
.label-customer-fold-panel{outline:1.5px solid rgba(10,154,159,.2)}
.label-fold-hint{display:block;margin:-1mm 3mm 2.5mm;color:#668091;font-size:6.6pt;font-style:italic}
.label-fold-guides{display:grid;grid-template-columns:1fr 2fr 1fr;gap:3mm;margin:2.2mm 0 0;color:#7890a1;text-align:center;font-size:6.7pt;letter-spacing:.03em}
.label-fold-guides strong{color:#587287}
.label-card-rc53:before,.label-card-rc53:after{content:"";position:absolute;top:4mm;bottom:4mm;border-left:1px dashed rgba(104,129,147,.42);pointer-events:none}
.label-card-rc53:before{left:25%}.label-card-rc53:after{left:75%}
.label-fold-grid:after{content:"";position:absolute;top:4mm;bottom:4mm;left:50%;border-left:1.4px dashed rgba(83,111,132,.55);pointer-events:none}
.label-card-rc53 .label-warning,.label-card-rc53 .label-recommendation{margin-top:3mm}

/* RC53 — place official reports in the previously empty cells beside Dokumentarkiv. */
.tab-grid .project-reports-compact{grid-column:span 3;margin:0;padding:14px 16px}
.project-reports-compact>h2{margin:0 0 10px!important;font-size:1rem}
.project-reports-compact .report-purpose-card{padding:11px 13px;min-height:0}
.project-reports-compact .report-purpose-card span{font-size:.79rem}

@media(max-width:1180px){
 .tab-grid .project-reports-compact{grid-column:1/-1}
 .label-fold-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .label-card-rc53{width:100%}
 .label-card-rc53:before,.label-card-rc53:after,.label-fold-grid:after,.label-fold-guides{display:none}
}
@media(max-width:760px){
 .label-rc53-header{grid-template-columns:1fr}
 .label-fold-grid{grid-template-columns:1fr}
}
@media print{
 .label-card-rc53{width:277mm!important;min-height:0!important;margin:0 auto!important;padding:5mm!important;box-shadow:none!important;border:1.25px solid #19344b!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .label-rc53-header{grid-template-columns:1.1fr 1.25fr 1fr!important;gap:5mm!important}
 .label-fold-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:2.5mm!important}
 .label-card-rc53 .label-section{min-height:56mm!important;border:1px solid #4f7891!important;background:#fff!important}
 .label-card-rc53 .label-section-heading{background:#eef7fa!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .label-card-rc53 .label-section-number{background:#0b9a9f!important;color:#fff!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .label-card-rc53 .label-status{background:#eef8f4!important;border-color:#2a9e8c!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .label-card-rc53 .label-barcode{height:23mm!important;fill:#000!important;background:#fff!important}
 .label-fold-guides{display:grid!important}
}


/* RC55 — Enhet quick actions moved into the previously unused overview space */
.entity-actions-compact{margin-bottom:14px}
.device-overview-grid .device-actions-panel{grid-column:span 3;padding:16px 17px}
.device-actions-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--line-2)}
.device-actions-heading h2{margin:2px 0 0}
.device-actions-heading p{margin:0;max-width:510px;color:var(--muted);font-size:.84rem;line-height:1.4}
.device-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:13px}
.device-action-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 13px;border:1px solid #d7e5ed;border-radius:10px;background:#fafdff;color:inherit!important;min-height:76px}
.device-action-card:hover{border-color:#9fc9d7;background:#f5fbfd;transform:translateY(-1px)}
.device-action-card>span:nth-child(2){display:grid;gap:3px;min-width:0}
.device-action-card strong{color:var(--ink);font-size:.9rem}.device-action-card small{color:var(--muted);font-size:.75rem;line-height:1.3}.device-action-card>b{color:var(--teal);font-size:1.05rem}
.device-action-icon{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-size:1.05rem;font-weight:800}
.device-correction-action{display:flex;gap:10px;align-items:center;margin-top:12px;padding-top:11px;border-top:1px solid var(--line-2)}
.device-correction-action small{color:var(--muted);font-size:.75rem}
@media(max-width:1180px){.device-overview-grid .device-actions-panel{grid-column:1/-1}.device-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.device-action-grid{grid-template-columns:1fr}.device-actions-heading,.device-correction-action{flex-direction:column}.device-actions-heading{gap:7px}}
@media print{.device-actions-panel,.entity-actions-compact{display:none!important}}

/* RC56 — Teknikerlogg/document UI cleanup */
.technician-toolbar{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.technician-toolbar .button{min-height:42px;padding:10px 15px;border-radius:8px}
.history-section-card{margin:18px 0;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}
.history-section-card>h2,.history-section-heading h2{margin:0 0 6px}
.history-section-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:11px;margin-bottom:11px;border-bottom:1px solid var(--line-2)}
.history-section-heading p{margin:0;color:#4f6678}
.worklog-card-list,.revision-card-list,.part-card-list{display:grid;gap:12px;margin-top:14px}
.worklog-history-card,.revision-history-card,.part-history-card{border:1px solid #d7e5ed;border-radius:11px;background:#fbfdfe;overflow:hidden;break-inside:avoid;page-break-inside:avoid}
.worklog-card-header,.revision-history-card>header,.part-history-card>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:12px 14px;background:#eef5f9;border-bottom:1px solid #dce8ef}
.worklog-card-header>div{display:grid;gap:3px}.worklog-card-header span{font-size:.72rem;text-transform:uppercase;letter-spacing:.045em;color:#6e8394;font-weight:800}.worklog-card-header h3{margin:0;font-size:1rem;color:#173c56}
.worklog-hours,.revision-history-card>header span,.part-history-card>header span{white-space:nowrap;color:#0a7580;font-weight:850}
.worklog-detail-grid,.revision-detail-grid,.part-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:4px 14px 10px;margin:0}
.worklog-detail-grid>div,.revision-detail-grid>div,.part-detail-grid>div{min-width:0;padding:9px 10px;border-bottom:1px solid #e6eef3}
.worklog-detail-grid>div:nth-last-child(-n+2),.revision-detail-grid>div:nth-last-child(-n+2),.part-detail-grid>div:nth-last-child(-n+2){border-bottom:0}
.worklog-detail-grid dt,.revision-detail-grid dt,.part-detail-grid dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#718697;font-weight:800}
.worklog-detail-grid dd,.revision-detail-grid dd,.part-detail-grid dd{margin:3px 0 0;color:#243f54;font-weight:650;line-height:1.42;overflow-wrap:anywhere;white-space:normal}
.worklog-wide{grid-column:1/-1}
.worklog-card-actions{display:flex;justify-content:flex-end;padding:0 14px 12px}
.status-history-table{table-layout:fixed}.status-history-table th:nth-child(1){width:20%}.status-history-table th:nth-child(2){width:23%}.status-history-table th:nth-child(3){width:20%}.status-history-table th:nth-child(4){width:37%}
@media(max-width:760px){.worklog-detail-grid,.revision-detail-grid,.part-detail-grid{grid-template-columns:1fr}.worklog-wide{grid-column:auto}.technician-toolbar{justify-content:stretch}.technician-toolbar .button{flex:1 1 100%}}
@media print{
 .technician-workspace{max-width:none!important}
 .history-section-card{margin:12px 0!important;padding:14px!important;border:1px solid #b8c9d4!important;box-shadow:none!important;overflow:visible!important;break-inside:auto!important;page-break-inside:auto!important}
 .worklog-history-card,.revision-history-card,.part-history-card{background:#fff!important;border:1px solid #bfcdd6!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important}
 .worklog-card-header,.revision-history-card>header,.part-history-card>header{background:#f3f7f9!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .worklog-detail-grid,.revision-detail-grid,.part-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .worklog-detail-grid dd,.revision-detail-grid dd,.part-detail-grid dd{white-space:normal!important;overflow:visible!important}
 .history-scroll{overflow:visible!important}
 .technician-history-table{min-width:0!important;width:100%!important}
}

/* RC60 — context navigation / workspace orientation */
.context-navigation{margin:0 0 18px;padding:12px 14px;background:#f8fbfd;border:1px solid #d7e4ec;border-radius:12px;box-shadow:0 2px 8px rgba(15,49,72,.035)}
.context-navigation-main{display:flex;align-items:center;justify-content:space-between;gap:18px}
.context-location{min-width:0}.context-location .eyebrow{margin-bottom:2px}
.context-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:#6a8093;font-size:.82rem;line-height:1.35}
.context-breadcrumbs a{color:#2f6f9e;text-decoration:none;font-weight:700}.context-breadcrumbs a:hover{text-decoration:underline}
.context-breadcrumbs strong{color:var(--ink);font-weight:800}
.context-navigation-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.context-nav-button{min-height:38px;padding:8px 12px;white-space:nowrap}
.context-device-tools{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line-2)}
.context-device-tools>span{margin-right:3px;color:#71879a;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.context-tool-link{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border:1px solid #d3e1ea;border-radius:8px;background:white;color:#31566f;text-decoration:none;font-size:.8rem;font-weight:700}
.context-tool-link:hover{border-color:#94cfd3;background:#f0fbfa;color:#087d82}
.context-tool-link-current{background:#e8f8f6;border-color:#9edbd7;color:#087d82;pointer-events:none}
@media(max-width:820px){.context-navigation-main{align-items:stretch;flex-direction:column}.context-navigation-actions{justify-content:flex-start}.context-nav-button{flex:1 1 auto}.context-device-tools>span{width:100%}}
@media print{.context-navigation{display:none!important}}

/* RC61 — friendly action color consistency + clearer Enhet information hierarchy */
/* Context navigation buttons use the same calm teal action language. */
.context-nav-button{
 background:linear-gradient(135deg,#0baaa7,#078d98)!important;
 color:#fff!important;
 border:1px solid #078d98!important;
 box-shadow:0 5px 12px rgba(0,145,150,.14)!important;
}
.context-nav-button:hover{
 color:#fff!important;
 border-color:#087f88!important;
 filter:brightness(.97);
 transform:translateY(-1px);
}
.context-navigation{
 background:linear-gradient(135deg,#f8fffe 0%,#f2fbfb 100%);
 border-color:#c9e7e5;
 box-shadow:0 4px 14px rgba(16,96,105,.06);
}
.context-location .eyebrow{color:#078d98}
.context-breadcrumbs a{color:#087f88}
.context-breadcrumbs a:hover{color:#056c74}

/* Device quick actions now share the same teal family as navigation/actions. */
.device-action-card{
 border-color:#c9e7e5;
 background:linear-gradient(180deg,#fbffff 0%,#f1fbfa 100%);
 box-shadow:0 2px 8px rgba(15,103,110,.035);
}
.device-action-card:hover{
 border-color:#7ecbc7;
 background:#eaf9f8;
 box-shadow:0 7px 18px rgba(0,145,150,.10);
}
.device-action-icon{
 background:linear-gradient(135deg,#e0f7f5,#ccefed);
 color:#087f88;
 border:1px solid #b8e3df;
}
.device-action-card>b{color:#078d98}
.device-actions-panel{
 border-color:#c9e7e5!important;
 background:linear-gradient(180deg,#ffffff 0%,#fbfefe 100%)!important;
}
.device-actions-heading .eyebrow{color:#078d98}

/* Make the main Enhet information cards easier to scan without adding visual noise. */
.device-overview-grid>section:not(.device-actions-panel){
 position:relative;
 overflow:hidden;
 border-color:#cfe3ea;
 background:linear-gradient(180deg,#ffffff 0%,#f9fcfd 100%);
 box-shadow:0 5px 16px rgba(23,55,78,.055);
}
.device-overview-grid>section:not(.device-actions-panel)::before{
 content:"";
 position:absolute;
 left:0;
 top:0;
 bottom:0;
 width:4px;
 background:linear-gradient(180deg,#0baaa7,#078d98);
}
.device-overview-grid>section:not(.device-actions-panel) h2{
 margin:-2px 0 13px;
 padding-bottom:9px;
 border-bottom:1px solid #e2eef2;
 color:#173c56;
 font-size:1.08rem;
}
.device-overview-grid>section:not(.device-actions-panel) p{
 margin:7px 0;
 color:#415b70;
}
.device-overview-grid>section:not(.device-actions-panel) strong{color:#173c56}
.device-overview-grid>section:nth-child(5):not(.device-actions-panel){
 background:linear-gradient(180deg,#fbfffe 0%,#eefaf7 100%);
 border-color:#bfe2d8;
}
.device-overview-grid>section:nth-child(5):not(.device-actions-panel)::before{
 background:linear-gradient(180deg,#07956f,#0aa27c);
}

/* Sibling Enhet tools use the same friendly teal family while keeping current page visible. */
.context-tool-link{
 border-color:#bfe2df;
 background:#f6fcfb;
 color:#087f88;
}
.context-tool-link:hover{border-color:#79c9c5;background:#eaf9f8;color:#056f76}
.context-tool-link-current{background:#dff5f2;border-color:#8ed3ce;color:#066d73}

@media(max-width:760px){
 .context-nav-button{flex:1 1 145px}
}
@media print{
 .device-overview-grid>section:not(.device-actions-panel)::before{display:none!important}
}

/* RC62 — Project friendly action cards / tydelige handlingsknapper */
.project-action-overview{align-items:stretch}
.project-action-overview>section{min-height:0}
.project-overview-card{
 position:relative;
 overflow:hidden;
 display:flex;
 flex-direction:column;
 gap:12px;
 border-color:#cfe4e7!important;
 background:linear-gradient(180deg,#ffffff 0%,#f8fcfc 100%)!important;
 box-shadow:0 5px 16px rgba(17,70,83,.055)!important;
}
.project-overview-card::before{
 content:"";
 position:absolute;
 left:0;
 top:0;
 right:0;
 height:4px;
 background:linear-gradient(90deg,#0baaa7,#078d98);
}
.project-card-heading{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid #e1edf0}
.project-card-heading h2{margin:1px 0 0!important;font-size:1.02rem;color:#173c56}
.project-card-kicker{display:block;color:#078d98;font-size:.66rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.project-card-icon{
 width:35px;height:35px;flex:0 0 35px;border-radius:10px;display:grid;place-items:center;
 background:linear-gradient(135deg,#dff7f4,#ccefeb);border:1px solid #b8e2df;color:#087f88;
 font-size:.82rem;font-weight:900;text-transform:uppercase
}
.project-card-summary{margin:0!important;color:#536b7d;line-height:1.45}
.project-card-summary strong{font-size:1.15rem;color:#173c56}
.project-card-note{display:inline-flex;align-items:center;gap:6px;color:#6c8190;font-size:.76rem;font-weight:650}
.project-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:2px}
.project-action-button{
 display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:9px 12px;
 border-radius:9px;text-decoration:none!important;font-size:.82rem;font-weight:800;line-height:1.15;
 transition:transform .15s,box-shadow .15s,border-color .15s,background .15s,filter .15s
}
.project-action-button span{font-weight:950;font-size:.92rem}
.project-action-primary{
 background:linear-gradient(135deg,#0baaa7,#078d98);border:1px solid #078d98;color:#fff!important;
 box-shadow:0 5px 12px rgba(0,145,150,.14)
}
.project-action-primary:hover{color:#fff!important;filter:brightness(.97);transform:translateY(-1px);box-shadow:0 8px 17px rgba(0,145,150,.17)}
.project-action-secondary{
 background:#f0fbfa;border:1px solid #a9d9d5;color:#087f88!important;box-shadow:none
}
.project-action-secondary:hover{background:#e4f7f5;border-color:#70c4c0;color:#056e76!important;transform:translateY(-1px)}
.project-info-card{background:linear-gradient(180deg,#fbfffe 0%,#eef9f7 100%)!important;border-color:#bedfd9!important}
.project-info-list{display:grid;gap:0;margin-top:-2px}
.project-info-list p{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0!important;padding:7px 1px;border-bottom:1px solid #e1eeec;color:#667d8d}
.project-info-list p:last-child{border-bottom:0}
.project-info-list span{font-size:.78rem}
.project-info-list strong{color:#173c56;text-align:right;font-size:.83rem}
.project-document-card{grid-column:span 1}

.project-report-actions{border-color:#c7e4e2!important;background:linear-gradient(180deg,#ffffff,#f8fdfc)!important}
.project-reports-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:11px;padding-bottom:10px;border-bottom:1px solid #e1eeee}
.project-reports-heading h2{margin:1px 0 0!important;color:#173c56;font-size:1.02rem}
.project-reports-help{max-width:420px;color:#728696;font-size:.75rem;text-align:right}
.project-report-action-card{
 grid-template-columns:42px minmax(0,1fr) auto!important;align-items:center;gap:12px!important;
 padding:13px!important;border-color:#c4e1df!important;background:linear-gradient(135deg,#fbffff,#eef9f8)!important;
 box-shadow:0 2px 8px rgba(15,103,110,.035);min-height:82px
}
.project-report-action-card:hover{border-color:#77c7c3!important;background:#eaf9f8!important;box-shadow:0 7px 18px rgba(0,145,150,.10);transform:translateY(-1px)}
.project-report-icon{width:38px;height:38px;border-radius:10px;display:grid!important;place-items:center;background:linear-gradient(135deg,#0baaa7,#078d98);color:#fff!important;font-size:.9rem!important;font-weight:900}
.project-report-copy{display:grid!important;gap:4px!important;min-width:0}
.project-report-copy strong{font-size:.9rem!important;color:#173c56!important}
.project-report-copy small{color:#607789;font-size:.75rem;line-height:1.35}
.project-report-open{display:inline-flex!important;align-items:center;gap:6px;white-space:nowrap;padding:8px 10px;border-radius:8px;background:#fff;color:#087f88!important;border:1px solid #b9dedb;font-size:.75rem!important;font-weight:850}
.project-report-open b{font-size:.95rem}
.project-secondary-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:16px 0 4px;padding:10px 12px;border:1px solid #d7e7e9;border-radius:11px;background:#f9fcfc}
.project-secondary-actions>span{margin-right:4px;color:#718697;font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.equipment-section{scroll-margin-top:92px}

@media(max-width:1180px){
 .project-document-card{grid-column:auto}
 .project-reports-heading{align-items:flex-start;flex-direction:column;gap:4px}
 .project-reports-help{text-align:left}
}
@media(max-width:760px){
 .project-card-actions{flex-direction:column}
 .project-action-button{width:100%}
 .project-report-action-card{grid-template-columns:38px minmax(0,1fr)!important}
 .project-report-open{grid-column:1/-1;justify-content:center}
 .project-secondary-actions{align-items:stretch;flex-direction:column}
 .project-secondary-actions>span{margin-bottom:2px}
}
@media print{
 .project-card-actions,.project-secondary-actions{display:none!important}
}

/* RC63 — report stabilization / recoverable report load errors */
.report-load-error{
  margin:14px 0 18px;
  padding:16px 18px;
  border:1px solid #e6b76e;
  border-left:5px solid #d68b19;
  border-radius:12px;
  background:#fff8ec;
  color:#51350d;
}
.report-load-error strong{display:block;margin-bottom:4px;color:#6b3f00}
.report-error-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

/* RC65 — redesigned Servicerapport for enhet */
.service-report-editor{display:grid;gap:14px;margin-bottom:16px;padding:20px;border:1px solid #cfe0e9;border-radius:14px;background:linear-gradient(180deg,#fbfeff,#f4fafc);box-shadow:0 5px 18px rgba(25,69,92,.06)}
.service-report-editor h2{margin:2px 0 4px}.service-report-editor .section-eyebrow{font-size:.68rem;font-weight:850;letter-spacing:.12em;color:#078b95}.editor-message{margin-left:10px;color:#24556f}
.report-action-toolbar{margin:4px 0 14px;justify-content:flex-end}.report-action-toolbar button{min-width:190px}
.service-report-v2 .service-report-lead{margin:-6px 0 18px;color:#61798b;font-size:.93rem}
.service-report-v2 .service-report-identity-grid{margin-bottom:24px}
.service-report-section{background:#fbfdfe}.service-report-section>.report-party-heading{margin-bottom:16px}
.service-report-text-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.service-report-text-grid>div,.service-recommendation,.service-report-responsible-grid>div{padding:13px 14px;border:1px solid #dce8ee;border-radius:9px;background:#fff}
.service-report-text-grid span,.service-recommendation span,.service-report-responsible-grid span,.service-work-grid span,.service-part-card small{display:block;margin-bottom:5px;font-size:.68rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:#718797}
.service-report-text-grid p,.service-recommendation p,.service-work-grid p{margin:0;color:#203e54;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.service-report-longtext{padding:14px 15px;border:1px solid #dce8ee;border-radius:9px;background:#fff;color:#203e54;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;min-height:56px}
.service-work-list{display:grid;gap:12px}.service-work-card{border:1px solid #d5e4eb;border-radius:10px;background:#fff;overflow:hidden;break-inside:avoid;page-break-inside:avoid}.service-work-card>header{display:flex;justify-content:space-between;gap:12px;padding:10px 13px;background:#eef7fa;border-bottom:1px solid #d9e7ed;color:#18435e}.service-work-card>header span{color:#648095;font-size:.86rem}.service-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;padding:13px}.service-work-grid>div{min-width:0}.service-work-wide{grid-column:1/-1}.service-work-grid strong{color:#203e54;overflow-wrap:anywhere}.service-total-line{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:14px;padding-top:12px;border-top:1px solid #d8e5ec}.service-total-line span{color:#668094}.service-total-line strong{font-size:1.05rem;color:#163f58}
.service-parts-list{display:grid;gap:9px}.service-part-card{display:grid;grid-template-columns:34px minmax(0,2fr) minmax(0,1.2fr) minmax(0,.7fr);gap:12px;align-items:center;padding:11px 13px;border:1px solid #d5e4eb;border-radius:9px;background:#fff;break-inside:avoid;page-break-inside:avoid}.service-part-card>div{min-width:0}.service-part-card strong{display:block;color:#203e54;overflow-wrap:anywhere}.service-part-number{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#0b8f9b;color:#fff;font-weight:850}
.service-status-panel{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 15px;border:1px solid #aedbd5;border-radius:9px;background:#eef9f6}.service-status-panel span{font-size:.72rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:#558075}.service-status-panel strong{font-size:1.03rem;color:#08725e}.service-recommendation{margin-top:12px}.service-report-danger{border-color:#e1abab;background:#fffafa}.service-report-danger .service-status-panel{border-color:#e3b0b0;background:#fff2f2}.service-report-danger .service-status-panel strong{color:#a32c2c}
.service-report-responsible-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-report-responsible-grid strong{color:#203e54}
@media(max-width:800px){.service-report-text-grid,.service-report-responsible-grid{grid-template-columns:1fr}.service-work-grid{grid-template-columns:1fr}.service-work-wide{grid-column:auto}.service-part-card{grid-template-columns:34px 1fr}.service-part-card>div:nth-of-type(n+2){grid-column:2}}
@media print{
 .service-report-v2 .service-report-lead{color:#4f6575!important}
 .service-report-section{background:#fff!important;break-inside:avoid;page-break-inside:avoid}
 .service-work-card,.service-part-card,.service-report-text-grid>div,.service-recommendation,.service-report-responsible-grid>div,.service-report-longtext{background:#fff!important;box-shadow:none!important;border-color:#b9cad4!important;break-inside:avoid!important;page-break-inside:avoid!important}
 .service-work-card>header{background:#fff!important;border-bottom-color:#b9cad4!important}
 .service-part-number,.service-status-panel{print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .service-status-panel{background:#fff!important}
}

/* RC67 — safe corrections / controlled deletion */
.reference-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #e1eeee}
.reference-card-header h2{margin:2px 0 3px!important;color:#173c56}.reference-card-header p{margin:0;color:#708596;font-size:.83rem}.locked-edit-note{align-self:center;padding:8px 10px;border-radius:8px;background:#fff7e8;border:1px solid #ecd19a;color:#805719;font-size:.76rem;font-weight:750}
.project-reference-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-reference-form label{display:grid;gap:6px;color:#526c7f;font-size:.78rem;font-weight:750}.project-reference-form input{width:100%;background:#fff}.project-reference-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}.audit-help{margin:10px 0 0;color:#738797;font-size:.75rem}.project-reference-message{margin:0 0 13px}.archive-message{margin:0 0 14px}
.table-delete-button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border:1px solid #e0a9a9;border-radius:7px;background:#fff7f7;color:#9a2929;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}.table-delete-button:hover{background:#a62c2c;border-color:#a62c2c;color:#fff}
.safe-delete-panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:16px;align-items:start;margin:14px 0 18px;padding:16px 18px;border:1px solid #e4b3b3;border-left:5px solid #b43a3a;border-radius:12px;background:linear-gradient(90deg,#fff8f8,#fff);box-shadow:0 4px 14px rgba(120,30,30,.05)}.safe-delete-panel h3{margin:2px 0 7px;color:#6e2424}.safe-delete-panel p{margin:5px 0;color:#6c5555}.safe-delete-panel label{display:grid;gap:6px;color:#684848;font-size:.78rem;font-weight:750}.safe-delete-panel textarea{min-height:82px;background:#fff}.safe-delete-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px}.delete-lock-warning{padding:8px 10px;border-radius:8px;background:#fff0f0;border:1px solid #e5b5b5;color:#962e2e!important;font-weight:750}.archive-delete-panel{margin-top:16px}
.archive-table th:last-child,.archive-table td:last-child{text-align:center;white-space:nowrap}
@media(max-width:900px){.reference-card-header{flex-direction:column}.project-reference-form{grid-template-columns:1fr}.safe-delete-panel{grid-template-columns:1fr}.safe-delete-actions{grid-column:auto;justify-content:stretch}.safe-delete-actions .button{flex:1}}
@media print{.reference-card-header button,.project-reference-actions,.safe-delete-panel,.table-delete-button{display:none!important}}

/* RC67 — role-aware actions in Dokumentarkiv */
.archive-row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.archive-open-link{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border:1px solid #8fd5d1;border-radius:7px;background:#f2fbfa;color:#087d78;font-size:.76rem;font-weight:800;text-decoration:none}
.archive-open-link:hover{background:#0aa6a1;border-color:#0aa6a1;color:#fff;text-decoration:none}
.administrator-override-warning{background:#fff7e8;border-color:#ebc778;color:#7c5b0d!important}
@media print{.archive-row-actions{display:none!important}}

/* RC69 — e-mail draft preparation UI (reuses RC68 panel styling) */
.email-send-panel{margin:16px 0;padding:18px;border:1px solid #a9dfe0;border-radius:16px;background:linear-gradient(180deg,#f7ffff 0%,#f2fbfb 100%);box-shadow:0 8px 24px rgba(12,77,93,.06)}
.email-send-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.email-send-heading h3{margin:.15rem 0 0}.email-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.email-subject-field,.email-message-field{grid-column:1/-1}.email-message-field textarea{min-height:150px;resize:vertical}.email-send-actions{justify-content:flex-end}.email-send-ok{border-color:#9fd9c9;background:#effaf5}.email-send-error{border-color:#efb9b5;background:#fff4f3}.table-email-button{appearance:none;border:1px solid #7bcfd1;background:#eafafa;color:#006d78;border-radius:9px;padding:7px 10px;font-weight:700;cursor:pointer}.table-email-button:hover{background:#d9f5f5}.archive-row-actions{flex-wrap:wrap}
@media(max-width:800px){.email-form-grid{grid-template-columns:1fr}.email-subject-field,.email-message-field{grid-column:auto}}

/* RC75 — mail-client handoff UI retained from RC72 */
.mail-client-note{display:flex;gap:10px;align-items:flex-start;margin:12px 0;padding:11px 13px;border:1px solid #c9e3e5;border-radius:10px;background:#f8fcfc;color:#4f6879;font-size:.8rem;line-height:1.45}
.mail-client-note strong{white-space:nowrap;color:#164b5f}
.mail-fallback{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:10px;color:#657c8d;font-size:.78rem}
@media(max-width:800px){.mail-client-note{flex-direction:column}.mail-fallback{align-items:stretch;flex-direction:column}.mail-fallback .button{width:100%}}

/* RC75 — direct external-protocol action must look like the primary button */
.mail-open-direct{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}

/* RC76 — Dokumentarkiv action contrast fix.
   Global button styling forces white text; RC69 used a very pale background for
   .table-email-button, which made "Forbered e-post" difficult to read.
   RC76 gives this action a solid high-contrast teal treatment while leaving
   Åpne PDF and Slett visually distinct. */
.table-email-button{
  min-width:138px;
  min-height:34px;
  background:#006d78!important;
  border:1px solid #00616b!important;
  color:#fff!important;
  box-shadow:0 4px 10px rgba(0,109,120,.18)!important;
  font-weight:800!important;
  letter-spacing:.01em;
}
.table-email-button:hover{
  background:#005963!important;
  border-color:#00515a!important;
  color:#fff!important;
  filter:none!important;
}
.table-email-button:focus-visible{
  outline:3px solid rgba(0,109,120,.28);
  outline-offset:2px;
}


/* RC77 — customer master-data correction (retained in RC78) */
.customer-edit-link{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;border:1px solid #86cfd0;border-radius:7px;background:#f1fbfb;color:#087d78;font-size:.76rem;font-weight:800;text-decoration:none;white-space:nowrap}.customer-edit-link:hover{background:#078f93;border-color:#078f93;color:#fff;text-decoration:none}
.customer-detail-heading{align-items:flex-end}.customer-master-card{margin-top:4px}.customer-edit-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.customer-edit-form label{display:grid;gap:6px;color:#526c7f;font-size:.78rem;font-weight:750}.customer-edit-form input,.customer-edit-form select,.customer-edit-form textarea{width:100%;background:#fff}.customer-edit-form textarea{min-height:82px;resize:vertical}.customer-edit-form small{color:#8193a0;font-weight:600}.customer-edit-wide,.customer-grid-wide{grid-column:1/-1}.customer-master-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-project-history{margin-top:18px}
@media(max-width:900px){.customer-edit-form,.customer-master-grid{grid-template-columns:1fr}.customer-edit-wide,.customer-grid-wide{grid-column:auto}.customer-detail-heading{align-items:flex-start}}
@media print{.customer-edit-link,.customer-detail-heading button,.customer-edit-form,.customer-master-card .project-reference-actions{display:none!important}}

/* Project lifecycle controls in Dashboard / Siste prosjekter */
.project-status-actions{min-width:160px}.project-state-button{border:0;border-radius:9px;padding:8px 11px;font-size:.78rem;font-weight:800;cursor:pointer;white-space:nowrap}.project-state-button.complete{background:#0a9c98;color:#fff}.project-state-button.complete:hover{background:#087f7c}.project-state-button.reopen{background:#eef7fb;color:#116b87;border:1px solid #b9dce8}.project-state-button.reopen:hover{background:#dff1f7}.project-state-locked{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef1f3;color:#667784;font-size:.75rem;font-weight:750;white-space:nowrap}


/* RC86 — centered confirmation modal for Dokumentarkiv PDF deletion */
.archive-delete-modal-backdrop{
 position:fixed;
 inset:0;
 z-index:4000;
 display:flex;
 align-items:center;
 justify-content:center;
 padding:22px;
 background:rgba(9,34,49,.48);
 backdrop-filter:blur(2px);
}
.archive-delete-modal{
 width:min(560px,100%);
 max-height:calc(100vh - 44px);
 overflow:auto;
 display:grid;
 grid-template-columns:48px minmax(0,1fr);
 gap:14px 16px;
 padding:22px;
 border:1px solid #e2b2b2;
 border-radius:16px;
 background:#fff;
 box-shadow:0 24px 70px rgba(6,29,45,.28);
}
.archive-delete-modal-icon{
 width:46px;
 height:46px;
 display:grid;
 place-items:center;
 border-radius:50%;
 background:#fff0f0;
 border:1px solid #e3b0b0;
 color:#a52d2d;
 font-size:1.35rem;
 font-weight:900;
}
.archive-delete-modal-content h3{margin:2px 0 8px;color:#632424;font-size:1.25rem}
.archive-delete-modal-content p{margin:6px 0;color:#5e6972;line-height:1.45}
.archive-delete-file{margin:13px 0;padding:11px 12px;border:1px solid #e0e9ed;border-radius:9px;background:#f8fbfc;overflow-wrap:anywhere}
.archive-delete-file span{display:block;margin-bottom:3px;color:#758894;font-size:.69rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.archive-delete-file strong{color:#173c56;font-size:.86rem}
.archive-delete-help{font-size:.79rem!important;color:#748692!important}
.archive-delete-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:4px;border-top:1px solid #edf1f3}
@media(max-width:600px){
 .archive-delete-modal{grid-template-columns:1fr;padding:18px}
 .archive-delete-modal-icon{width:40px;height:40px}
 .archive-delete-modal-actions{grid-column:auto;flex-direction:column-reverse}
 .archive-delete-modal-actions .button{width:100%}
}
@media print{.archive-delete-modal-backdrop{display:none!important}}

/* RC86 — global centered confirmation modal standard */
.confirm-modal-backdrop{
 position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;
 padding:24px;background:rgba(10,31,45,.48);backdrop-filter:blur(2px)
}
.confirm-modal{
 width:min(610px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;
 display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px 16px;
 padding:22px;border:1px solid #d8e3e8;border-radius:16px;background:#fff;
 box-shadow:0 24px 70px rgba(6,32,48,.28)
}
.confirm-modal-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:1.35rem;font-weight:900}
.confirm-modal-icon.danger{background:#fff0f0;color:#a42c2c;border:1px solid #e7b8b8}
.confirm-modal-icon.standard{background:#eaf7f7;color:#087e7a;border:1px solid #b9e0de}
.confirm-modal-content h3{margin:2px 0 8px;color:#173c56;font-size:1.25rem}
.confirm-modal-content p{margin:6px 0;color:#5e6972;line-height:1.45}
.confirm-modal-extra{margin-top:12px}
.confirm-modal-detail{padding:11px 12px;border:1px solid #e0e9ed;border-radius:9px;background:#f8fbfc;overflow-wrap:anywhere}
.confirm-modal-detail span{display:block;margin-bottom:3px;color:#758894;font-size:.69rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.confirm-modal-detail strong{color:#173c56;font-size:.88rem}
.confirm-modal-warning{margin-top:10px!important;padding:9px 11px;border-radius:9px;background:#fff5e7;border:1px solid #ebcc94;color:#795313!important;font-weight:700}
.confirm-modal-danger-note{margin-top:10px!important;padding:9px 11px;border-radius:9px;background:#fff0f0;border:1px solid #e5b5b5;color:#962e2e!important;font-weight:750}
.confirm-modal-field{display:grid;gap:6px;margin-top:12px;color:#405764;font-size:.78rem;font-weight:750}
.confirm-modal-field textarea{min-height:88px;background:#fff}
.confirm-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:12px;border-top:1px solid #edf1f3}
@media(max-width:640px){
 .confirm-modal{grid-template-columns:1fr;padding:18px}.confirm-modal-icon{width:40px;height:40px}
 .confirm-modal-actions{grid-column:auto;flex-direction:column-reverse}.confirm-modal-actions .button{width:100%}
}
@media print{.confirm-modal-backdrop{display:none!important}}

/* RC86 — cleaner Enhetsliste and controlled device deletion */
.device-list-scroll{overflow-x:auto;border-radius:12px}
.device-list-table{table-layout:fixed;min-width:1120px;width:100%}
.device-list-table th,.device-list-table td{vertical-align:middle}
.device-list-table th:nth-child(1){width:14%}
.device-list-table th:nth-child(2){width:17%}
.device-list-table th:nth-child(3){width:13%}
.device-list-table th:nth-child(4){width:8%;text-align:center}
.device-list-table th:nth-child(5){width:17%}
.device-list-table th:nth-child(6){width:15%}
.device-list-table th:nth-child(7){width:16%;text-align:center}
.device-list-table td:nth-child(4){text-align:center;white-space:nowrap}
.device-id-cell a{font-weight:850;line-height:1.2}
.device-name-cell{line-height:1.2}.device-name-cell strong{display:block;color:#183e58}.device-name-cell small{display:block;margin-top:4px;color:#637d8f;font-size:.78rem;line-height:1.25}
.device-serial-cell{overflow-wrap:anywhere}.device-address-cell{line-height:1.3}.device-status-cell{line-height:1.3}
.device-status-text{display:inline-block;max-width:100%}
.device-actions-cell{text-align:center!important;white-space:normal!important}
.device-row-actions{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.device-row-link{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:5px 9px;border:1px solid #b8d9e8;border-radius:7px;background:#f7fbfd;color:#0867b2;font-size:.75rem;font-weight:800;text-decoration:none;white-space:nowrap}
.device-row-link:hover{background:#eaf6fb;border-color:#83bfd8}
.deleted-record{border-left:5px solid #b43a3a}
@media(max-width:1100px){.device-list-table{min-width:1040px}.device-list-table th:nth-child(5){width:15%}.device-list-table th:nth-child(7){width:18%}}
.table-delete-button{color:#9a2929!important;background:#fff7f7!important;border-color:#e0a9a9!important}
.table-delete-button:hover,.table-delete-button:focus{color:#fff!important;background:#a62c2c!important;border-color:#a62c2c!important}

/* RC88 — Prosjektoppfølgingsrapport: ryddig oppsummering og norsk tallformat */
.followup-filter-toolbar{align-items:end;margin-bottom:12px}
.followup-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 20px}
.followup-summary-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 17px;box-shadow:var(--shadow-sm);min-width:0}
.followup-summary-heading{display:flex;align-items:center;gap:10px;padding-bottom:11px;margin-bottom:6px;border-bottom:1px solid var(--line-2)}
.followup-summary-heading>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e6f6f4;color:#087f7d;font-weight:850;font-size:.76rem}
.followup-summary-heading small{display:block;color:#0b8d89;font-size:.68rem;font-weight:850;letter-spacing:.1em}
.followup-summary-heading h2{margin:1px 0 0;font-size:1rem;color:var(--ink)}
.followup-summary-list{margin:0}
.followup-summary-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:baseline;padding:8px 0;border-bottom:1px solid #eef3f6}
.followup-summary-list>div:last-child{border-bottom:0}
.followup-summary-list dt{color:#60778a;font-size:.82rem;line-height:1.3}
.followup-summary-list dd{margin:0;color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.followup-total-row{margin-top:2px;padding-top:10px!important;border-top:2px solid #dce9ef!important}
.followup-total-row dt,.followup-total-row dd{font-weight:850;color:#0d3b55}
.followup-project-table-card{margin-top:4px}
.followup-table th:nth-last-child(-n+3),.followup-table td:nth-last-child(-n+3){text-align:right}
.followup-number-cell,.followup-money-cell{font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:1180px){.followup-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.followup-summary{grid-template-columns:1fr}.followup-summary-card{padding:14px}}
@media print{.followup-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.followup-summary-card{box-shadow:none;break-inside:avoid;padding:10px}.followup-summary-heading{padding-bottom:7px}.followup-summary-list>div{padding:5px 0}}

/* RC88 — Prosjektoppfølgingsrapport: A4 landskap for utskrift og bedre kolonnebredder */
@page followup-landscape{size:A4 landscape;margin:11mm}
@media print{
 .followup-print-sheet{page:followup-landscape;width:100%;max-width:none!important}
 .followup-print-sheet .document-brand-header{margin-bottom:10px;padding-bottom:8px}
 .followup-print-sheet>h1{margin:0 0 10px;font-size:20pt}
 .followup-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin:10px 0 12px!important}
 .followup-summary-card{padding:8px 10px!important;border-radius:8px!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important}
 .followup-summary-heading{gap:6px!important;padding-bottom:5px!important;margin-bottom:3px!important}
 .followup-summary-heading>span{width:25px;height:25px;border-radius:7px;font-size:7.5pt}
 .followup-summary-heading small{font-size:6.5pt}.followup-summary-heading h2{font-size:9pt}
 .followup-summary-list>div{padding:3px 0!important;gap:8px!important}
 .followup-summary-list dt,.followup-summary-list dd{font-size:7.7pt!important}
 .followup-project-table-card{margin-top:3px!important;border-radius:8px!important;box-shadow:none!important;overflow:visible!important}
 .followup-project-table-card .table-scroll{overflow:visible!important}
 .followup-table{table-layout:fixed!important;width:100%!important;min-width:0!important;font-size:8pt!important}
 .followup-table th,.followup-table td{padding:5px 6px!important;vertical-align:middle!important;line-height:1.2!important;overflow-wrap:normal!important;word-break:normal!important}
 .followup-table th:nth-child(1){width:13%}.followup-table th:nth-child(2){width:25%}.followup-table th:nth-child(3){width:11%}.followup-table th:nth-child(4){width:12%}.followup-table th:nth-child(5){width:14%}.followup-table th:nth-child(6){width:7%}.followup-table th:nth-child(7){width:9%}.followup-table th:nth-child(8){width:9%}
 .followup-table td:nth-child(1),.followup-table td:nth-child(3),.followup-table td:nth-child(6),.followup-table td:nth-child(7),.followup-table td:nth-child(8){white-space:nowrap!important}
 .followup-table td:nth-child(2){white-space:normal!important}
 .followup-table td:nth-child(4),.followup-table td:nth-child(5){white-space:normal!important}
}

/* RC89 — oppfølgingsrapport: summer og beregnet oppdragsverdi */
.followup-subtotal-row{margin-top:2px;padding-top:9px!important;border-top:1px solid #dce9ef!important}
.followup-subtotal-row dt,.followup-subtotal-row dd{font-weight:800;color:#174861}
.followup-calculation-note{margin:-8px 0 14px;padding:9px 12px;border-left:4px solid #14a6a2;border-radius:7px;background:#f4fbfb;color:#557084;font-size:.78rem;line-height:1.45}
@media print{.followup-calculation-note{margin:-5px 0 7px!important;padding:5px 8px!important;font-size:6.8pt!important;border-left-width:3px!important;background:#fff!important}.followup-summary-list>div{padding:2.5px 0!important}.followup-summary-list dt,.followup-summary-list dd{font-size:7.2pt!important}}


/* RC90 — administrator-only prosjektkontroll */
.project-admin-control-card{border-top-color:#0b6f89!important;background:linear-gradient(180deg,#f7fcfd 0%,#fff 100%)}
.project-admin-control-card .project-card-kicker{color:#0b6f89}
.admin-only-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;background:#e8f4f7;border:1px solid #b7d9e2;color:#0b5c72;font-size:.75rem;font-weight:850;white-space:nowrap}
.project-control-heading{align-items:flex-start}
.project-control-summary{margin-top:12px}
.project-control-note{margin-top:-8px}
.project-control-table-card{margin-top:16px}
.project-control-device-table,.project-control-visit-table{min-width:1040px;table-layout:fixed}
.project-control-device-table th:nth-child(1){width:13%}.project-control-device-table th:nth-child(2){width:20%}.project-control-device-table th:nth-child(3){width:13%}.project-control-device-table th:nth-child(4){width:14%}.project-control-device-table th:nth-child(5){width:10%}.project-control-device-table th:nth-child(6){width:10%}.project-control-device-table th:nth-child(7){width:10%}.project-control-device-table th:nth-child(8){width:10%}
.project-control-device-table th:nth-last-child(-n+4),.project-control-device-table td:nth-last-child(-n+4){text-align:right}
.project-control-visit-table th:nth-child(1){width:10%}.project-control-visit-table th:nth-child(2){width:11%}.project-control-visit-table th:nth-child(3){width:13%}.project-control-visit-table th:nth-child(4){width:24%}.project-control-visit-table th:nth-child(5){width:8%}.project-control-visit-table th:nth-child(6){width:10%}.project-control-visit-table th:nth-child(7){width:10%}.project-control-visit-table th:nth-child(8){width:14%}
.project-control-visit-table th:nth-last-child(-n+4),.project-control-visit-table td:nth-last-child(-n+4){text-align:right}
.project-control-number,.project-control-money{font-variant-numeric:tabular-nums;white-space:nowrap}
@page project-control-landscape{size:A4 landscape;margin:11mm}
@media print{
 .project-control-print-sheet{page:project-control-landscape;width:100%;max-width:none!important}
 .project-control-print-sheet .document-brand-header{margin-bottom:9px;padding-bottom:7px}
 .project-control-print-sheet .project-control-heading{margin-bottom:8px}
 .project-control-print-sheet .project-control-heading h1{font-size:19pt;margin-bottom:4px}
 .project-control-print-sheet .admin-only-badge{display:none!important}
 .project-control-print-sheet .followup-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin:8px 0 10px!important}
 .project-control-print-sheet .followup-summary-card{padding:8px 9px!important;box-shadow:none!important}
 .project-control-print-sheet .followup-summary-list>div{padding:2.5px 0!important}
 .project-control-print-sheet .followup-summary-list dt,.project-control-print-sheet .followup-summary-list dd{font-size:7pt!important}
 .project-control-print-sheet .project-control-note{font-size:6.6pt!important;margin:-4px 0 8px!important;padding:5px 8px!important}
 .project-control-print-sheet .project-control-table-card{box-shadow:none!important;margin-top:8px!important;break-inside:avoid}
 .project-control-print-sheet .section-title-row{margin-bottom:4px!important}
 .project-control-print-sheet .section-title-row h2{font-size:10pt!important}
 .project-control-print-sheet .table-scroll{overflow:visible!important}
 .project-control-print-sheet .project-control-device-table,.project-control-print-sheet .project-control-visit-table{min-width:0!important;width:100%!important;font-size:7pt!important}
 .project-control-print-sheet .data-table th,.project-control-print-sheet .data-table td{padding:4px 5px!important;line-height:1.15!important}
}


/* RC91 — sikker regenerering når datoperioden endres */
.followup-period-stale{margin:.65rem 0;padding:.7rem .9rem;border:1px solid #e4b957;border-radius:10px;background:#fff8df;color:#684a00;font-size:.92rem}
.followup-period-caption{margin:.45rem 0 .8rem;color:#36546a;font-size:.9rem}
.followup-filter-toolbar button:disabled{opacity:.65;cursor:wait}
@media print{.followup-period-caption{margin:.2rem 0 .55rem;font-size:8.5pt;color:#233b4d}}

/* RC94 — Kostnadsestimat med estimert total arbeidstid og tydeligere forbehold */
.estimate-heading{align-items:flex-start}.estimate-badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#fff4db;border:1px solid #e8c36b;color:#795311;font-size:.75rem;font-weight:900;white-space:nowrap}
.estimate-intro-note{border-left:4px solid #0aa3a0}.estimate-intro-note p{margin:.35rem 0 0}.estimate-message{margin:12px 0}.estimate-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-wide{grid-column:1/-1}.estimate-rate-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.estimate-rate-grid>div{padding:11px 12px;border:1px solid #dfe9ee;border-radius:10px;background:#f8fbfc}.estimate-rate-grid span{display:block;color:#6a8090;font-size:.72rem;font-weight:750}.estimate-rate-grid strong{display:block;margin-top:4px;color:#123e59;font-size:1rem;font-variant-numeric:tabular-nums}.estimate-devices-section{margin:18px 0}.estimate-device-card{margin:12px 0;padding:16px;border:1px solid #d9e6eb;border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.estimate-device-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:11px;margin-bottom:12px;border-bottom:1px solid #e6eef2}.estimate-device-header span{color:#0a8d89;font-size:.72rem;font-weight:850;letter-spacing:.06em}.estimate-device-header h3{margin:2px 0;color:#123e59}.estimate-device-header small{color:#718694}.estimate-device-subtotal{text-align:right;min-width:190px}.estimate-device-subtotal span{display:block;color:#6b8090}.estimate-device-subtotal strong{display:block;margin-top:4px;color:#0a645f;font-size:1.15rem;font-variant-numeric:tabular-nums}.estimate-device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.estimate-device-grid label,.estimate-project-grid label,.estimate-cost-grid label{display:grid;gap:6px;color:#526c7f;font-size:.78rem;font-weight:750}.estimate-device-grid input,.estimate-device-grid textarea,.estimate-project-grid input,.estimate-project-grid textarea,.estimate-cost-grid input{width:100%;background:#fff}.estimate-device-grid textarea,.estimate-project-grid textarea{resize:vertical}.estimate-cost-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.estimate-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.estimate-summary article{padding:12px 14px;border:1px solid #dbe8ed;border-radius:11px;background:#fff}.estimate-summary span{display:block;color:#687f90;font-size:.75rem}.estimate-summary strong{display:block;margin-top:5px;color:#123e59;font-size:1.05rem;font-variant-numeric:tabular-nums}.estimate-summary-total{border-top:3px solid #0a9c98!important}.estimate-summary-grand{grid-column:span 2;background:#eaf8f6!important;border-color:#94d7d2!important}.estimate-summary-grand span,.estimate-summary-grand strong{color:#075e59!important}.estimate-summary-grand strong{font-size:1.25rem}.estimate-disclaimer{margin:14px 0 18px;padding:13px 15px;border:1px solid #e2bd67;border-left:5px solid #d69b1b;border-radius:10px;background:#fff9e9;color:#6b511f}.estimate-disclaimer p{margin:.35rem 0 0;line-height:1.5}.estimate-updated{margin-top:9px;color:#748895;font-size:.78rem}.estimate-actions{flex-wrap:wrap}
@page estimate-landscape{size:A4 landscape;margin:11mm}
@media print{.estimate-print-sheet{page:estimate-landscape}.estimate-heading{margin-bottom:8px}.estimate-badge{background:#fff;border-color:#999}.estimate-intro-note{font-size:8pt;padding:7px 9px}.estimate-project-card,.estimate-rate-card,.estimate-project-costs,.estimate-device-card{box-shadow:none!important;break-inside:avoid}.estimate-rate-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.estimate-rate-grid>div{padding:6px 7px}.estimate-device-card{padding:9px;margin:7px 0}.estimate-device-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.estimate-device-grid .estimate-wide{grid-column:span 2}.estimate-device-grid label{font-size:6.8pt}.estimate-device-grid input,.estimate-device-grid textarea{border:0!important;padding:2px!important;font-size:7pt!important;min-height:0!important;resize:none}.estimate-project-grid input,.estimate-project-grid textarea,.estimate-cost-grid input{border:0!important;padding:2px!important}.estimate-summary{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.estimate-summary article{padding:6px 7px}.estimate-summary-grand{grid-column:span 1}.estimate-summary span{font-size:6.5pt}.estimate-summary strong{font-size:8pt}.estimate-disclaimer{font-size:7pt;padding:7px 9px}.estimate-updated{display:none!important}}
@media(max-width:1050px){.estimate-rate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.estimate-cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-summary-grand{grid-column:span 2}}
@media(max-width:700px){.estimate-project-grid,.estimate-device-grid,.estimate-cost-grid,.estimate-rate-grid,.estimate-summary{grid-template-columns:1fr}.estimate-wide,.estimate-summary-grand{grid-column:auto}.estimate-device-header{flex-direction:column}.estimate-device-subtotal{text-align:left}}
.project-estimate-card{border-top-color:#d4a12b!important;background:linear-gradient(180deg,#fffdf7 0%,#fff 100%)}
.project-estimate-card .project-card-kicker{color:#9a6c00}
/* RC94 — ekstern Kostnadsestimat-rapport viser sammendrag inkl. total estimert arbeidstid */
.estimate-public-only{display:none}
@media print{
 .estimate-public-only{display:grid!important}
 .estimate-heading-meta{display:none!important}
 .estimate-public-info{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0 10px}
 .estimate-public-info>div{padding:7px 8px;border:1px solid #dce8ed;border-radius:8px;background:#fff}
 .estimate-public-info span{display:block;color:#687f90;font-size:6.5pt;text-transform:uppercase;letter-spacing:.03em}
 .estimate-public-info strong{display:block;margin-top:2px;color:#123e59;font-size:8pt}
 .estimate-public-assumptions{display:block!important;margin:8px 0;padding:7px 9px;border:1px solid #dce8ed;border-radius:8px;background:#fff}
 .estimate-public-assumptions strong{font-size:7.5pt;color:#123e59}
 .estimate-public-assumptions p{margin:3px 0 0;font-size:7pt;line-height:1.4}
 .estimate-intro-note{display:none!important}
 .estimate-summary{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:5px!important;margin:10px 0!important}
 .estimate-summary article{break-inside:avoid}
}


/* RC95 — samlet utskrift av alle etiketter i ett prosjekt */
.section-heading-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}
.bulk-label-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}
.bulk-label-help{margin:0 0 18px;padding:11px 14px;border-left:4px solid var(--teal);background:#f2fbfb;color:#36566b;border-radius:8px;max-width:1100px}
.bulk-label-list{display:grid;gap:24px;align-items:start}
.bulk-label-page{display:flex;justify-content:center;align-items:flex-start}
@media(max-width:900px){.section-heading-actions{justify-content:flex-start;width:100%}}
@media print{
 .bulk-label-list{display:block!important}
 .bulk-label-page{display:block!important;width:100%!important;break-after:page!important;page-break-after:always!important;margin:0!important;padding:0!important}
 .bulk-label-page:last-child{break-after:auto!important;page-break-after:auto!important}
 .bulk-label-page .label-card-rc53{margin:0 auto!important}
}


/* RC96 — dedicated project-wide label card and archived bulk-label PDF */
.project-labels-card{background:linear-gradient(180deg,#fffef9 0%,#fff8e9 100%)!important;border-color:#ead9a8!important}
.project-labels-card::before{background:linear-gradient(90deg,#d59a18,#e6b447)!important}
.project-labels-card .project-card-kicker{color:#a46b00}
.project-labels-card .project-card-icon{background:linear-gradient(135deg,#fff3c8,#ffe8a0);border-color:#ecd37d;color:#9b6800}
.bulk-label-message{margin:0 0 14px}
@media print{.project-labels-card{background:#fff!important}}

/* Prominent Enhet identity so technicians always see which device they are working on */
.device-identity-hero{display:flex;align-items:stretch;justify-content:space-between;gap:18px;margin:4px 0 18px;padding:18px 20px;border:1px solid #b8e1df;border-left:6px solid #0aa39d;border-radius:14px;background:linear-gradient(105deg,#f1fbfa 0%,#ffffff 58%,#eef8ff 100%);box-shadow:0 8px 22px rgba(10,76,95,.08)}
.device-identity-main{min-width:0}.device-identity-main h1{margin:2px 0 9px;color:#0c3550;font-size:clamp(1.65rem,2.7vw,2.35rem);line-height:1.05;letter-spacing:-.025em}.device-identity-meta{display:flex;align-items:center;gap:9px 16px;flex-wrap:wrap;color:#526f82;font-size:.86rem}.device-id-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;background:#0b4260;color:#fff!important;font-weight:850;letter-spacing:.025em;font-variant-numeric:tabular-nums;white-space:nowrap}.device-identity-status{min-width:190px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:12px 15px;border:1px solid #a9dad5;border-radius:11px;background:#eaf9f6;color:#075d59}.device-identity-status-label{font-size:.66rem;font-weight:850;letter-spacing:.11em;margin-bottom:4px}.device-identity-status strong{font-size:1rem;line-height:1.25}.device-work-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:16px 18px;border:2px solid #67c9c3;border-left-width:7px;border-radius:13px;background:linear-gradient(100deg,#eafaf7,#fff);box-shadow:0 6px 18px rgba(10,93,91,.09)}.device-work-banner h1{margin:2px 0 8px;color:#073d56;font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.08}.device-work-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border-radius:999px;background:#0a918c;color:#fff;font-size:.72rem;font-weight:850;letter-spacing:.08em;white-space:nowrap}.technician-page-title{margin:10px 0 14px}.device-context-strip{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:-4px 0 16px;padding:12px 15px;border:1px solid #c5e3e5;border-radius:11px;background:#f1fafb}.device-context-strip strong{display:block;margin-top:2px;color:#123f59;font-size:1.05rem}.device-context-label{display:block;color:#0a8a86;font-size:.68rem;font-weight:850;letter-spacing:.08em}.device-context-meta{display:flex;align-items:center;gap:10px;color:#667f8f;font-size:.82rem}
@media(max-width:760px){.device-identity-hero,.device-work-banner,.device-context-strip{flex-direction:column;align-items:stretch}.device-identity-status{min-width:0}.device-work-badge{align-self:flex-start}.device-context-meta{flex-wrap:wrap}}

/* RC101 - administrator module permission matrix */
.permission-matrix-card{margin-top:1.25rem;background:#fff;border:1px solid #dbe3ea;border-radius:18px;padding:1.2rem;box-shadow:0 10px 28px rgba(18,42,66,.06)}
.permission-matrix-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.permission-matrix-heading h2{margin:.15rem 0 .2rem}.permission-matrix-heading p{margin:0;color:#667788}
.permission-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:0 0 1rem}
.permission-legend span{background:#f6f9fb;border:1px solid #e0e7ed;border-radius:10px;padding:.65rem .75rem;font-size:.88rem;color:#4f6272}
.permission-table td{vertical-align:middle}.permission-table td:first-child{min-width:260px}.permission-table td:first-child small{display:block;color:#71808d;margin-top:.2rem;max-width:390px;line-height:1.35}
.permission-table th:nth-child(2),.permission-table td:nth-child(2){width:120px}.permission-table th:nth-child(3),.permission-table td:nth-child(3){width:170px}.permission-table th:nth-child(4),.permission-table td:nth-child(4){width:110px}.permission-table th:nth-child(5),.permission-table td:nth-child(5){width:145px}.permission-table th:nth-child(6),.permission-table td:nth-child(6){width:175px}
.permission-select,.permission-date{width:100%;min-width:0}.permission-pill,.permission-effective{display:inline-block;border-radius:999px;background:#edf3f7;padding:.3rem .58rem;font-weight:700;font-size:.82rem;color:#355064}.permission-fixed{background:#e7f3ef;color:#1f6b55}.permission-effective{background:#e9f0ff;color:#274f86}.permission-table td:nth-child(6) small{display:block;margin-top:.25rem;color:#70808f;line-height:1.25}
.permission-temp-toggle{display:inline-flex;align-items:center;gap:.35rem;margin:0}.permission-temp-toggle input{width:auto}.permission-empty{padding:1rem;border:1px dashed #cbd7df;border-radius:12px;color:#60717f;background:#f8fafb}
.button-small{padding:.45rem .7rem;font-size:.84rem;white-space:nowrap}
@media(max-width:1100px){.permission-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-matrix-heading{flex-direction:column}.permission-table{min-width:1050px}}

/* RC101 - permission-aware dashboard */
.permission-dashboard-section{margin-top:1rem}.module-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.module-access-card{position:relative;display:flex;flex-direction:column;gap:.3rem;min-height:112px;padding:1rem 2.3rem 1rem 1rem;background:#fff;border:1px solid #dce4ea;border-radius:14px;text-decoration:none;color:#243746;box-shadow:0 5px 16px rgba(23,48,69,.05)}
.module-access-card:hover{border-color:#8bb9b0;box-shadow:0 8px 22px rgba(23,48,69,.09)}.module-access-card strong{font-size:1rem}.module-access-card small{color:#6d7d89;line-height:1.35}.module-access-card span{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.25rem;color:#327f73}
@media(max-width:1000px){.module-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.module-access-grid{grid-template-columns:1fr}}

/* RC101 HF4: keep latest work status visible without confusing it with the formal device status. */
.service-status-panel small{flex-basis:100%;text-align:right;font-size:.74rem;color:#64748b;font-weight:600}

/* RC101 HOTFIX7 - standardisert sluttkontroll og autoritativ rapportkilde */
.final-control-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;align-items:end}.final-control-form label{display:grid;gap:.35rem;font-weight:700}.final-control-form .form-note,.final-control-form button{grid-column:1/-1}.final-control-form select,.final-control-form input{width:100%}@media(max-width:800px){.final-control-form{grid-template-columns:1fr}}

/* RC101 HOTFIX8 — Dashboard harmonisert med Prosjekt-arbeidsflaten */
.dashboard-heading-v2{align-items:center;margin-bottom:18px}.dashboard-heading-v2 h1{font-size:1.9rem;margin-bottom:3px}.dashboard-greeting{display:grid;gap:2px;text-align:right;color:#62798b;font-size:.78rem}.dashboard-greeting strong{color:#496276;font-size:.82rem}
.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.dashboard-kpi-card{position:relative;overflow:hidden;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:104px;padding:15px 14px;background:linear-gradient(180deg,#fff,#f9fcfd);border:1px solid #d0e2e7;border-radius:12px;color:inherit!important;box-shadow:0 5px 16px rgba(17,70,83,.055);text-decoration:none!important}.dashboard-kpi-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#0baaa7}.dashboard-kpi-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(17,70,83,.09);border-color:#a8d4d5}.dashboard-kpi-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-weight:900;background:#e5f5f6;color:#087f88;border:1px solid #c6e4e5}.dashboard-kpi-copy{display:grid;min-width:0}.dashboard-kpi-copy small{font-size:.62rem;font-weight:850;letter-spacing:.09em;color:#078d98;white-space:normal}.dashboard-kpi-copy strong{font-size:1.55rem;line-height:1.05;color:#173c56;margin:5px 0 3px}.dashboard-kpi-copy em{font-style:normal;color:#708596;font-size:.72rem}.dashboard-kpi-card>b{font-size:1.05rem;color:#0a9298}.dashboard-kpi-card.kpi-blue::before{background:#1f90cf}.dashboard-kpi-card.kpi-blue .dashboard-kpi-icon{background:#e8f4fc;border-color:#c9e2f3;color:#187bb4}.dashboard-kpi-card.kpi-teal::before{background:#0baaa7}.dashboard-kpi-card.kpi-amber{background:linear-gradient(180deg,#fffdf8,#fffaf0);border-color:#eadab3}.dashboard-kpi-card.kpi-amber::before{background:#e1a11e}.dashboard-kpi-card.kpi-amber .dashboard-kpi-icon{background:#fff1cf;border-color:#efd99a;color:#a36d00}.dashboard-kpi-card.kpi-green::before{background:#24a66a}.dashboard-kpi-card.kpi-green .dashboard-kpi-icon{background:#e9f8ef;border-color:#cbe9d7;color:#218557}.dashboard-kpi-card.kpi-cyan::before{background:#11aaa9}
.dashboard-panel{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfdfd);border:1px solid #cfe3e6;border-radius:12px;box-shadow:0 5px 16px rgba(17,70,83,.05)}.dashboard-panel::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#0baaa7,#078d98)}.dashboard-panel-heading{padding:16px 16px 10px}.dashboard-panel-heading h2{margin:2px 0 2px!important;font-size:1rem;color:#173c56}.dashboard-panel-heading p{margin:0;color:#718696;font-size:.76rem}.dashboard-panel-heading-inline{display:flex;justify-content:space-between;align-items:center;gap:18px}.dashboard-quick-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 16px;margin-bottom:14px}.dashboard-quick-panel .dashboard-panel-heading{padding-left:0;flex:1}.dashboard-quick-buttons{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.dashboard-quick-buttons .project-action-button{min-width:155px}.dashboard-quick-primary{min-width:178px!important}
.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(330px,1fr);gap:14px;margin-bottom:14px}.dashboard-recent-panel{padding-bottom:10px}.dashboard-small-action{min-height:34px;padding:7px 10px;font-size:.75rem}.dashboard-table-scroll{padding:0 14px 4px}.dashboard-project-table{margin:0}.dashboard-project-table th{font-size:.67rem}.dashboard-project-table td{padding-top:10px;padding-bottom:10px;vertical-align:middle}.dashboard-project-table .project-link{font-weight:850;color:#123f59}.dashboard-external-reference{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#35566d;font-weight:700}.dashboard-project-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.dashboard-row-open{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;border:1px solid #b9dedb;background:#f0fbfa;color:#087f88!important;font-weight:900;text-decoration:none!important}.dashboard-row-open:hover{background:#e2f7f5}.dashboard-state-button{min-height:30px!important;padding:5px 8px!important;font-size:.7rem!important}.dashboard-state-note{font-size:.68rem!important}
.dashboard-followup-panel{padding-bottom:10px}.dashboard-followup-list{display:grid;padding:0 14px 7px}.dashboard-followup-item{display:grid;grid-template-columns:36px minmax(0,1fr) 30px 18px;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #e4eeee;color:inherit!important;text-decoration:none!important}.dashboard-followup-item:first-child{border-top:0}.dashboard-followup-item>span:nth-child(2){display:grid;gap:2px}.dashboard-followup-item strong{font-size:.82rem;color:#173c56}.dashboard-followup-item small{font-size:.7rem;color:#718696;line-height:1.3}.dashboard-followup-item>b{width:28px;height:24px;border-radius:999px;display:grid;place-items:center;background:#e6f4fb;color:#167aad;font-size:.74rem}.dashboard-followup-item>em{font-style:normal;color:#078d98;font-weight:900}.followup-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:900;border:1px solid}.followup-teal{background:#e7f8f5;border-color:#c2e6df;color:#12806f}.followup-amber{background:#fff4d9;border-color:#edd69d;color:#9c6d06}.followup-blue{background:#e9f4fb;border-color:#c7e0f0;color:#237cb1}.followup-gold{background:#fff0c8;border-color:#ebd085;color:#936000}
.dashboard-bottom-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,1fr);gap:14px}.dashboard-tools-panel,.dashboard-access-panel{padding-bottom:12px}.dashboard-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 14px}.dashboard-tool-card{display:grid;grid-template-columns:38px 1fr;gap:4px 9px;align-items:start;min-height:140px;padding:12px;border:1px solid #d7e6e8;border-radius:10px;background:linear-gradient(180deg,#fff,#f7fbfb);color:inherit!important;text-decoration:none!important}.dashboard-tool-card:hover{border-color:#8accca;background:#effafa;transform:translateY(-1px)}.dashboard-tool-icon{grid-row:1/4;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#0baaa7,#078d98);color:#fff;font-weight:900}.dashboard-tool-card strong{font-size:.8rem;line-height:1.25;color:#173c56}.dashboard-tool-card small{font-size:.7rem;line-height:1.35;color:#718696}.dashboard-tool-card em{align-self:end;font-style:normal;font-size:.72rem;font-weight:850;color:#087f88}.dashboard-tool-card-label{background:linear-gradient(180deg,#fffdf8,#fffaf0);border-color:#eadab3}.dashboard-tool-card-label .dashboard-tool-icon{background:linear-gradient(135deg,#d59a18,#e6b447)}
.dashboard-access-card{display:flex;gap:12px;align-items:flex-start;margin:0 14px 10px;padding:13px;border:1px solid #d7e6e8;border-radius:10px;background:#f6fbfb}.dashboard-access-icon{width:42px;height:42px;flex:0 0 42px;border-radius:11px;display:grid;place-items:center;background:#e0f5f3;color:#087f88;font-size:.65rem;font-weight:900;letter-spacing:-.1em}.dashboard-access-card div{display:grid;gap:4px}.dashboard-access-card strong{color:#173c56}.dashboard-access-card small{color:#708596;font-size:.72rem;line-height:1.35}.dashboard-access-action{margin:0 14px;width:calc(100% - 28px)}
@media(max-width:1350px){.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.dashboard-main-grid,.dashboard-bottom-grid{grid-template-columns:1fr}.dashboard-quick-panel{align-items:stretch;flex-direction:column;padding-bottom:14px}.dashboard-quick-buttons{justify-content:flex-start}.dashboard-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-heading-v2{align-items:flex-start}.dashboard-greeting{text-align:left}.dashboard-kpi-grid{grid-template-columns:1fr}.dashboard-quick-buttons{display:grid;grid-template-columns:1fr;width:100%}.dashboard-quick-buttons .project-action-button{width:100%}.dashboard-panel-heading-inline{align-items:flex-start;flex-direction:column}.dashboard-tool-grid{grid-template-columns:1fr}.dashboard-project-table{min-width:760px}}
@media print{.dashboard-quick-panel,.dashboard-followup-panel,.dashboard-access-panel{display:none!important}}

/* RC101 HOTFIX14 — Nyeste oppdrag: robust, balansert prosjektliste med synlig ekstern referanse */
.dashboard-main-grid{grid-template-columns:minmax(0,1fr) minmax(320px,360px)}
.dashboard-recent-panel{min-width:0}
.dashboard-project-list{margin:0 14px 4px;border:1px solid #d6e5e9;border-radius:11px;overflow:hidden;background:#fff}
.dashboard-project-list-head,.dashboard-project-row{display:grid;grid-template-columns:minmax(118px,.82fr) minmax(190px,1.35fr) minmax(205px,1.45fr) minmax(98px,.72fr) minmax(142px,.95fr) minmax(108px,.72fr);align-items:stretch}
.dashboard-project-list-head{min-height:48px;background:#edf5f8;color:#47677d;border-bottom:1px solid #d6e5e9}
.dashboard-project-list-head>span{display:flex;align-items:center;min-width:0;padding:9px 11px;border-left:1px solid #dce9ed;font-size:.64rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase;line-height:1.22}
.dashboard-project-list-head>span:first-child{border-left:0}
.dashboard-ref-head{display:grid!important;align-content:center!important;gap:2px}
.dashboard-ref-head strong{font:inherit;color:#31576f}
.dashboard-ref-head small{font-size:.57rem;font-weight:750;letter-spacing:.025em;text-transform:none;color:#728796;white-space:normal}
.dashboard-action-head{justify-content:flex-end}
.dashboard-project-row{min-height:78px;border-top:1px solid #e0eaed;background:#fff;transition:background .12s ease,box-shadow .12s ease}
.dashboard-project-row:first-of-type{border-top:0}
.dashboard-project-row:hover{background:#fbfefe;box-shadow:inset 3px 0 0 #0baaa7}
.dashboard-project-row>div{min-width:0;display:flex;align-items:center;padding:11px;border-left:1px solid #e2ecef}
.dashboard-project-row>div:first-child{border-left:0}
.dashboard-project-id .project-link{font-weight:900;color:#123f59!important;white-space:nowrap;text-decoration:none!important}
.dashboard-project-id .project-link:hover{color:#078d98!important}
.dashboard-project-customer{gap:9px;color:#173c56}
.dashboard-customer-icon{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border:1px solid #c9e1ed;border-radius:8px;background:#eef8fd;color:#247fae;font-size:.78rem;font-weight:900}
.dashboard-project-customer strong{min-width:0;font-size:.78rem;line-height:1.32;font-weight:820;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:normal;word-break:normal}
.dashboard-project-reference{align-items:center!important;color:#244f69}
.dashboard-project-reference strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:850;font-variant-numeric:tabular-nums}
.dashboard-project-date{color:#385a70;font-size:.76rem;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}
.dashboard-project-statuses{align-items:flex-start!important;justify-content:center;flex-direction:column;gap:6px}
.dashboard-project-statuses .status-badge{max-width:100%;white-space:nowrap;font-size:.66rem}
.dashboard-project-actions{padding-left:8px!important;padding-right:8px!important;justify-content:flex-end!important;gap:7px;white-space:nowrap}
.dashboard-project-actions .dashboard-row-open{flex:0 0 32px;width:32px;height:32px}
.dashboard-project-actions .dashboard-state-button{max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboard-project-actions .dashboard-state-note{white-space:normal;text-align:right;line-height:1.2}
@media(max-width:1180px){.dashboard-main-grid,.dashboard-bottom-grid{grid-template-columns:1fr}.dashboard-followup-panel{min-width:0}}
@media(max-width:900px){
 .dashboard-project-list{overflow:visible;border:0;background:transparent}
 .dashboard-project-list-head{display:none}
 .dashboard-project-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"id actions" "customer actions" "reference actions" "date status";gap:6px 12px;margin-bottom:10px;padding:12px 13px;border:1px solid #d7e6e9!important;border-radius:10px;box-shadow:0 3px 10px rgba(17,70,83,.04)}
 .dashboard-project-row>div{padding:0!important;border:0!important}
 .dashboard-project-id{grid-area:id}.dashboard-project-customer{grid-area:customer}.dashboard-project-reference{grid-area:reference}.dashboard-project-date{grid-area:date}.dashboard-project-statuses{grid-area:status}.dashboard-project-actions{grid-area:actions;align-self:center}
 .dashboard-project-reference{display:grid!important;gap:2px}.dashboard-project-reference::before{content:"Ekstern referanse";font-size:.58rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:#78909d}
 .dashboard-project-statuses{align-items:flex-end!important}
 .dashboard-project-date::before{content:"Mottatt: ";color:#78909d;font-weight:700}
}
@media(max-width:620px){
 .dashboard-project-row{grid-template-columns:1fr;grid-template-areas:"id" "customer" "reference" "date" "status" "actions"}
 .dashboard-project-actions{justify-content:flex-start!important;margin-top:4px}.dashboard-project-statuses{align-items:flex-start!important}
}

/* RC101 HOTFIX15 — Kostnadsestimat: kundevennlig A4-portrett i samme visuelle språk som Service Management */
.estimate-print-brand{display:none}
@page estimate-portrait{size:A4 portrait;margin:10mm 11mm 10mm 11mm}
@media print{
 .estimate-print-sheet{page:estimate-portrait!important;width:100%!important;max-width:none!important;color:#071f38!important}
 .estimate-print-brand{display:flex!important;align-items:center;gap:10px;margin:0 0 17px;padding:0 0 13px;border-bottom:0;color:#071f38}
 .estimate-print-brand-mark{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;background:#08a3a2!important;color:#fff!important;font-size:17pt;font-weight:900;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .estimate-print-brand-name{font-size:11pt;font-weight:900;letter-spacing:.01em}
 .estimate-print-brand-divider{height:22px;width:1px;background:#d6e4e9!important;margin-left:7px;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .estimate-print-brand-product{font-size:7pt;font-weight:850;letter-spacing:.12em;color:#506c83}
 .estimate-heading{display:block!important;position:relative;margin:0 0 13px!important;padding-top:9px!important}
 .estimate-heading:before{content:"";display:block;width:30px;height:3px;margin-bottom:10px;border-radius:4px;background:#08a3a2!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .estimate-heading h1{font-size:23pt!important;line-height:1.05!important;margin:0 0 4px!important;color:#071f38!important}
 .estimate-heading .eyebrow{display:none!important}
 .estimate-heading-meta{display:block!important;margin:0!important;font-size:7.8pt!important;color:#4e687e!important;font-weight:400!important}
 .estimate-heading-meta strong{font-weight:400!important}
 .estimate-heading-meta:before{content:"KOSTNADSESTIMAT - IKKE EN FAKTURA";display:block;margin:0 0 4px;font-size:9.5pt;font-weight:500;letter-spacing:.02em;color:#071f38}
 .estimate-badge{display:none!important}
 .estimate-intro-note{display:none!important}
 .estimate-public-section{display:block!important;margin:0 0 12px!important;border:1px solid #72cdcf!important;border-radius:9px!important;background:#fff!important;overflow:hidden!important;break-inside:avoid!important;page-break-inside:avoid!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .estimate-public-section-header{display:flex!important;align-items:center!important;gap:10px!important;min-height:38px!important;padding:7px 11px!important;background:#ecfafa!important;color:#071f38!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .estimate-public-section-header strong{font-size:12pt!important}
 .estimate-public-section-header small{margin-left:auto!important;color:#526f84!important;font-size:6.5pt!important}
 .estimate-public-section-number{display:flex!important;align-items:center!important;justify-content:center!important;width:25px!important;height:25px!important;border-radius:999px!important;background:#c8f0f0!important;color:#071f38!important;font-size:9pt!important;font-weight:900!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .estimate-public-info{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 18px!important;margin:0!important;padding:9px 13px 10px!important}
 .estimate-public-info>div{display:grid!important;grid-template-columns:42% 58%!important;align-items:baseline!important;gap:6px!important;padding:5px 0!important;border:0!important;border-bottom:1px solid #dbe7ec!important;border-radius:0!important;background:#fff!important}
 .estimate-public-info span{font-size:7.2pt!important;text-transform:none!important;letter-spacing:0!important;color:#657c8f!important}
 .estimate-public-info strong{margin:0!important;font-size:8.2pt!important;color:#071f38!important;font-weight:500!important;overflow-wrap:anywhere}
 .estimate-summary{display:block!important;margin:0 0 12px!important;padding:45px 12px 7px!important;border:1px solid #72cdcf!important;border-radius:9px!important;background:linear-gradient(#ecfafa 0 38px,#fff 38px)!important;position:relative!important;overflow:hidden!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .estimate-summary:before{content:"2   Kostnadssammendrag";position:absolute;left:12px;top:10px;font-size:12pt;font-weight:900;color:#071f38}
 .estimate-summary article{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;margin:0!important;padding:4px 7px!important;border:0!important;border-bottom:1px solid #dbe7ec!important;border-radius:0!important;background:#fff!important;min-height:0!important;break-inside:avoid!important}
 .estimate-summary article:nth-last-child(2){background:#f7fbfc!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .estimate-summary .estimate-summary-total{border-top:0!important;background:#f7fbfc!important}
 .estimate-summary .estimate-summary-grand{grid-column:auto!important;margin-top:0!important;background:#e8f8f7!important;border-bottom:0!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .estimate-summary span{font-size:7.6pt!important;color:#172d43!important}
 .estimate-summary strong{margin:0!important;font-size:8.2pt!important;color:#071f38!important}
 .estimate-summary-grand span{font-size:8.8pt!important;font-weight:900!important;color:#087c79!important}
 .estimate-summary-grand strong{font-size:12pt!important;color:#087c79!important}
 .estimate-public-assumptions{display:none!important}
 .estimate-disclaimer{position:relative!important;margin:0 0 8px!important;padding:43px 13px 9px 28px!important;border:1px solid #72cdcf!important;border-left:1px solid #72cdcf!important;border-radius:9px!important;background:linear-gradient(#ecfafa 0 38px,#fff 38px)!important;color:#516b80!important;font-size:7pt!important;line-height:1.4!important;break-inside:avoid!important;page-break-inside:avoid!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .estimate-disclaimer:before{content:"ⓘ   Viktig informasjon";position:absolute;left:13px;top:10px;color:#071f38;font-size:11.5pt;font-weight:900}
 .estimate-disclaimer strong{display:none!important}
 .estimate-disclaimer p{margin:0!important}
 .estimate-disclaimer p:before{content:"•  ";color:#08a3a2;font-weight:900}
 .estimate-updated{display:none!important}
 .estimate-actions,.no-print{display:none!important}
}

/* RC101 HOTFIX16 — Oppdragsrapport / fakturagrunnlag: premium partner-facing A4 design */
.partner-report-hf16{max-width:1080px;padding:38px 42px 32px;border-radius:4px;color:#163149;overflow:hidden}
.partner-hf16-brand{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;position:relative}
.partner-hf16-brand:after{content:"";position:absolute;right:-50px;top:-65px;width:250px;height:140px;border-radius:50%;border:19px solid rgba(0,167,165,.055);transform:rotate(24deg);pointer-events:none}
.partner-hf16-brand-lockup{display:flex;align-items:center;gap:14px;position:relative;z-index:1}.partner-hf16-logo{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(135deg,#00a7a5,#087f98);color:#fff;font-size:1.35rem;font-weight:900}.partner-hf16-brand-lockup>div{display:grid;gap:3px}.partner-hf16-brand-lockup strong{font-size:1.35rem;letter-spacing:.015em;color:#0c2944}.partner-hf16-brand-lockup small{font-size:.63rem;letter-spacing:.21em;color:#6b8091;font-weight:850}.partner-hf16-tagline{display:grid;text-align:right;gap:2px;margin-top:2px;font-size:.64rem;letter-spacing:.12em;color:#647e90;font-weight:800;position:relative;z-index:1}.partner-hf16-tagline:after{content:"";display:block;width:34px;height:2px;margin:7px 0 0 auto;background:#149ba1}
.partner-hf16-title{margin:0 0 24px}.partner-hf16-title h1{margin:0 0 5px;font-size:2.15rem;line-height:1.08;color:#071d35}.partner-hf16-title p{margin:0;color:#577087;font-size:1rem}
.partner-hf16-party-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:26px}.partner-hf16-party-card{border:1px solid #9cdadd;border-radius:11px;overflow:hidden;background:#fff;break-inside:avoid;page-break-inside:avoid}.partner-hf16-party-card>header{display:flex;align-items:center;gap:11px;padding:11px 14px;background:linear-gradient(90deg,#eafafa,#f8fdfd)}.partner-hf16-party-card h2{margin:0;font-size:1.12rem}.partner-hf16-step{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#087d91;color:#fff;font-weight:900}.partner-hf16-party-card dl{display:grid;gap:0;margin:0;padding:11px 15px 13px}.partner-hf16-party-card dl>div{display:grid;grid-template-columns:minmax(135px,44%) 1fr;gap:10px;padding:4px 0}.partner-hf16-party-card dt{color:#5d7182;font-size:.84rem}.partner-hf16-party-card dd{margin:0;color:#132b43;font-weight:650;overflow-wrap:anywhere}
.partner-hf16-section-title{display:flex;align-items:center;gap:11px;margin:16px 0 12px}.partner-hf16-section-title h2{margin:0;font-size:1.36rem;white-space:nowrap}.partner-hf16-section-title i{height:1px;flex:1;background:#85c9ce}.partner-hf16-section-title small{font-size:.66rem;letter-spacing:.09em;color:#248b9b;font-weight:800;white-space:nowrap}.partner-hf16-section-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;background:#087d91;color:#fff;font-weight:900;font-size:1rem}
.partner-hf16-device{margin:0 0 15px;border:1px solid #89c8d2;border-radius:10px;overflow:hidden;background:#fff;break-inside:avoid;page-break-inside:avoid}.partner-hf16-device.is-danger{border-color:#d79292}.partner-hf16-device-head{min-height:49px;padding:9px 14px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(95deg,#063e5b,#087487);color:#fff}.partner-hf16-device-title{display:flex;align-items:center;min-width:0;gap:10px}.partner-hf16-device-title strong{font-size:1.02rem;overflow-wrap:anywhere}.partner-hf16-device-icon{width:29px;height:29px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.72);border-radius:6px;flex:0 0 29px}
.partner-hf16-status{display:inline-flex;align-items:center;gap:7px;max-width:235px;padding:6px 11px;border-radius:999px;font-size:.75rem;font-weight:800;line-height:1.1;white-space:normal}.partner-hf16-status i{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 7px}.partner-hf16-status.status-warning{background:#ffe6ac;color:#6f4a00}.partner-hf16-status.status-ok{background:#dff5e9;color:#146b45}.partner-hf16-status.status-danger{background:#ffe1e1;color:#9c2d2d}.partner-hf16-status.compact{padding:5px 9px;font-size:.7rem;max-width:210px}
.partner-hf16-device-body{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:0;padding:14px}.partner-hf16-device-info{padding-right:18px;border-right:1px solid #d6e6ec}.partner-hf16-cost-info{padding-left:20px}.partner-hf16-device-body h3{margin:0 0 9px;font-size:.96rem}.partner-hf16-device-info dl{margin:0}.partner-hf16-device-info dl>div{display:grid;grid-template-columns:42% 58%;gap:8px;align-items:center;padding:5px 0}.partner-hf16-device-info dt{color:#576d80}.partner-hf16-device-info dd{margin:0;font-weight:650;color:#142d45;overflow-wrap:anywhere}.partner-hf16-device-info .partner-hf16-hours{margin-top:7px;padding-top:10px;border-top:1px solid #dce8ed}
.partner-hf16-cost-row{display:flex;justify-content:space-between;gap:16px;padding:5px 2px;border-bottom:1px solid #dde9ee}.partner-hf16-cost-row strong{color:#142d45}.partner-hf16-unit-total{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:4px 0 12px;padding:8px 10px;border-radius:7px;background:#e5f5f7;color:#102f48}.partner-hf16-unit-total span,.partner-hf16-unit-total strong{font-weight:900}.partner-hf16-unit-total strong{font-size:1.02rem}.partner-hf16-parts-title{font-weight:850;color:#143650;margin:3px 0 6px}.partner-hf16-parts-table{width:100%;border-collapse:collapse;font-size:.78rem}.partner-hf16-parts-table th{padding:6px 7px;text-align:left;background:#eff6f8;color:#4b6477}.partner-hf16-parts-table td{padding:6px 7px;border-bottom:1px solid #e2ebef;color:#17334b}.partner-hf16-parts-table th:nth-child(n+2),.partner-hf16-parts-table td:nth-child(n+2){text-align:right;white-space:nowrap}
.partner-hf16-visits-title{margin-top:25px}.partner-hf16-visits{border:1px solid #a4d8dc;border-radius:10px;overflow:hidden;margin-bottom:17px;break-inside:avoid}.partner-hf16-visits>table{width:100%;border-collapse:collapse;font-size:.77rem}.partner-hf16-visits th{padding:8px 7px;background:#eff8f9;text-align:left;color:#456173}.partner-hf16-visits td{padding:8px 7px;border-top:1px solid #e0eaef;vertical-align:top;color:#163149}.partner-hf16-visits small{color:#718797}.partner-hf16-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px;background:#f8fbfc}.partner-hf16-metrics>div{display:grid;gap:3px;padding:8px 9px;border:1px solid #dbe8ed;border-radius:7px;background:#fff}.partner-hf16-metrics span{font-size:.67rem;letter-spacing:.04em;text-transform:uppercase;color:#718797;font-weight:800}.partner-hf16-metrics strong{color:#173b55}
.partner-hf16-project-total{margin-top:18px;border:1px solid #7fc6cd;border-radius:10px;overflow:hidden;background:#fff;break-inside:avoid;page-break-inside:avoid}.partner-hf16-project-total>header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 14px;background:linear-gradient(95deg,#06435f,#087487);color:#fff}.partner-hf16-project-total>header>div{display:flex;align-items:center;gap:9px}.partner-hf16-project-total h2{margin:0;color:#fff;font-size:1.22rem}.partner-hf16-project-total header small{font-size:.64rem;letter-spacing:.08em;color:#d5f3f3;font-weight:800;text-align:right}.partner-hf16-project-total-body{display:grid;grid-template-columns:.92fr 1.08fr;gap:0;padding:13px 15px 14px}.partner-hf16-project-total-left{padding-right:20px;border-right:1px solid #9fd3d7}.partner-hf16-project-total-right{padding-left:20px}.partner-hf16-project-total-left>div,.partner-hf16-project-total-right>div:not(.partner-hf16-grand-total){display:flex;justify-content:space-between;gap:15px;padding:6px 1px;border-bottom:1px solid #e1eaee}.partner-hf16-project-total-left span,.partner-hf16-project-total-right span{color:#18354c}.partner-hf16-project-total-left strong,.partner-hf16-project-total-right strong{color:#102a42}.partner-hf16-grand-total{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:7px;padding:10px 12px;border-radius:8px;background:linear-gradient(90deg,#e3f5f6,#d5eff1)}.partner-hf16-grand-total span{font-size:1.02rem;font-weight:900}.partner-hf16-grand-total strong{font-size:1.55rem;line-height:1;color:#08233d!important}
.partner-hf16-note{margin:14px 0 17px;color:#657b8d;font-size:.82rem}.partner-hf16-footer{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding-top:12px;border-top:1px solid #7ebdca}.partner-hf16-footer>div{display:grid}.partner-hf16-footer strong{color:#102a42;font-size:.88rem}.partner-hf16-footer small{font-size:.53rem;letter-spacing:.17em;color:#788d9d}.partner-hf16-footer p{margin:0;text-align:center;color:#667e90;font-size:.73rem}.partner-hf16-footer>span{font-size:.72rem;color:#667e90}
@media(max-width:800px){.partner-hf16-party-grid,.partner-hf16-device-body,.partner-hf16-project-total-body{grid-template-columns:1fr}.partner-hf16-device-info,.partner-hf16-project-total-left{border-right:0;border-bottom:1px solid #d9e7ec;padding:0 0 14px;margin-bottom:14px}.partner-hf16-cost-info,.partner-hf16-project-total-right{padding-left:0}.partner-hf16-section-title small{display:none}.partner-hf16-device-head{align-items:flex-start;flex-direction:column}.partner-hf16-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

@page partner-report-a4{size:A4 portrait;margin:9mm 9mm 9mm 9mm}
@media print{
 .partner-report-hf16{page:partner-report-a4!important;width:100%!important;max-width:none!important;padding:0!important;color:#102d44!important;font-size:8.2pt!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .partner-hf16-brand{margin-bottom:7mm!important}.partner-hf16-logo{width:9mm!important;height:9mm!important;border-radius:2mm!important;font-size:13pt!important;background:#079b9d!important}.partner-hf16-brand-lockup{gap:3mm!important}.partner-hf16-brand-lockup strong{font-size:12.5pt!important}.partner-hf16-brand-lockup small{font-size:5.5pt!important}.partner-hf16-tagline{font-size:5.5pt!important}.partner-hf16-brand:after{display:none!important}
 .partner-hf16-title{margin-bottom:5mm!important}.partner-hf16-title h1{font-size:22pt!important}.partner-hf16-title p{font-size:8.2pt!important}
 .partner-hf16-party-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3mm!important;margin-bottom:5mm!important}.partner-hf16-party-card{border-width:.75pt!important;border-radius:2.2mm!important}.partner-hf16-party-card>header{padding:2.2mm 2.8mm!important;background:#ecf9f9!important}.partner-hf16-step{width:7mm!important;height:7mm!important;font-size:7pt!important;background:#087d91!important}.partner-hf16-party-card h2{font-size:10.2pt!important}.partner-hf16-party-card dl{padding:2.3mm 3mm 2.7mm!important}.partner-hf16-party-card dl>div{grid-template-columns:47% 53%!important;padding:.8mm 0!important;gap:1mm!important}.partner-hf16-party-card dt,.partner-hf16-party-card dd{font-size:7.1pt!important}
 .partner-hf16-section-title{margin:4mm 0 2.5mm!important;gap:2.5mm!important}.partner-hf16-section-icon{width:7mm!important;height:7mm!important;font-size:8pt!important;background:#087d91!important}.partner-hf16-section-title h2{font-size:12.5pt!important}.partner-hf16-section-title small{font-size:5.3pt!important}
 .partner-hf16-device{margin-bottom:3.2mm!important;border-width:.75pt!important;border-radius:2mm!important;break-inside:avoid!important;page-break-inside:avoid!important}.partner-hf16-device-head{min-height:9mm!important;padding:1.8mm 3mm!important;background:#07506a!important;flex-direction:row!important;align-items:center!important}.partner-hf16-device-title{gap:2mm!important}.partner-hf16-device-title strong{font-size:8.8pt!important}.partner-hf16-device-icon{width:6mm!important;height:6mm!important;flex-basis:6mm!important;font-size:7pt!important}.partner-hf16-status{padding:1.3mm 2.2mm!important;font-size:6.2pt!important;max-width:45mm!important}.partner-hf16-status.compact{padding:1.1mm 1.8mm!important;font-size:5.8pt!important}.partner-hf16-status.status-warning{background:#ffe9b8!important}.partner-hf16-status.status-ok{background:#def5e9!important}.partner-hf16-status.status-danger{background:#ffe0e0!important}
 .partner-hf16-device-body{grid-template-columns:.92fr 1.08fr!important;padding:2.5mm 3mm!important}.partner-hf16-device-info{padding-right:3mm!important;border-right:.65pt solid #d3e3e9!important;border-bottom:0!important;margin-bottom:0!important}.partner-hf16-cost-info{padding-left:3.5mm!important}.partner-hf16-device-body h3{font-size:8.2pt!important;margin-bottom:1.5mm!important}.partner-hf16-device-info dl>div{padding:.8mm 0!important}.partner-hf16-device-info dt,.partner-hf16-device-info dd,.partner-hf16-cost-row,.partner-hf16-unit-total{font-size:6.8pt!important}.partner-hf16-device-info .partner-hf16-hours{margin-top:1mm!important;padding-top:1.5mm!important}.partner-hf16-cost-row{padding:.8mm .3mm!important}.partner-hf16-unit-total{margin:1mm 0 1.7mm!important;padding:1.4mm 1.8mm!important;background:#e5f5f7!important}.partner-hf16-unit-total strong{font-size:7.8pt!important}.partner-hf16-parts-title{font-size:7pt!important;margin-bottom:1mm!important}.partner-hf16-parts-table{font-size:6.2pt!important}.partner-hf16-parts-table th,.partner-hf16-parts-table td{padding:1mm 1.2mm!important}.partner-hf16-parts-table th{background:#eff6f8!important}
 .partner-hf16-visits{border-width:.75pt!important}.partner-hf16-visits>table{font-size:6pt!important}.partner-hf16-visits th,.partner-hf16-visits td{padding:1.2mm!important}.partner-hf16-visits th{background:#eff8f9!important}.partner-hf16-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1.2mm!important;padding:1.7mm!important}.partner-hf16-metrics>div{padding:1.3mm!important}.partner-hf16-metrics span{font-size:5.3pt!important}.partner-hf16-metrics strong{font-size:6.8pt!important}
 .partner-hf16-project-total{margin-top:3.5mm!important;border-width:.8pt!important;border-radius:2mm!important;break-inside:avoid!important;page-break-inside:avoid!important}.partner-hf16-project-total>header{padding:1.8mm 3mm!important;background:#07506a!important}.partner-hf16-project-total h2{font-size:10.5pt!important}.partner-hf16-project-total header small{font-size:5.2pt!important}.partner-hf16-project-total-body{grid-template-columns:.92fr 1.08fr!important;padding:2.3mm 3mm!important}.partner-hf16-project-total-left{padding-right:3.5mm!important;border-right:.75pt solid #9fd3d7!important;border-bottom:0!important;margin-bottom:0!important}.partner-hf16-project-total-right{padding-left:3.5mm!important}.partner-hf16-project-total-left>div,.partner-hf16-project-total-right>div:not(.partner-hf16-grand-total){padding:1mm .3mm!important;font-size:7.2pt!important}.partner-hf16-grand-total{margin-top:1.4mm!important;padding:2mm 2.2mm!important;background:#dff3f4!important}.partner-hf16-grand-total span{font-size:9pt!important}.partner-hf16-grand-total strong{font-size:14pt!important}
 .partner-hf16-note{font-size:6.3pt!important;margin:2.5mm 0 3mm!important}.partner-hf16-footer{padding-top:2.2mm!important;gap:4mm!important}.partner-hf16-footer strong{font-size:7pt!important}.partner-hf16-footer small{font-size:4.5pt!important}.partner-hf16-footer p,.partner-hf16-footer>span{font-size:5.6pt!important}
}

/* RC101 HOTFIX18 — Dashboard visual refresh: modern Scandinavian service-management style */
.app-shell{grid-template-columns:246px minmax(0,1fr)}
.sidebar{padding:22px 14px 18px;background:linear-gradient(180deg,#082e4b 0%,#0b3656 58%,#082a45 100%);box-shadow:10px 0 32px rgba(9,45,72,.10)}
.brand-lockup{padding:7px 10px 23px;margin-bottom:16px}.brand-mark{width:40px;height:40px}.brand-mark svg{width:40px;height:40px}.brand-copy strong{font-size:1.07rem}.brand-copy small{font-size:.57rem;letter-spacing:.17em}
.primary-nav{gap:5px}.nav-group-label{padding:11px 12px 6px;color:#91aec2;font-size:.66rem;letter-spacing:.15em}.primary-nav a{min-height:43px;padding:10px 12px;border-radius:10px;color:#d8e6ef!important;font-weight:600}.primary-nav a:hover{background:rgba(255,255,255,.075)}.primary-nav a.active{background:linear-gradient(100deg,#0d759f 0%,#08a5b0 100%);box-shadow:0 8px 22px rgba(0,157,169,.22)}
.sidebar-footer{padding:15px 10px 4px;font-size:.72rem;color:#9bb4c4}
.topbar{height:76px;padding:0 34px;background:rgba(255,255,255,.97);box-shadow:0 1px 0 rgba(26,66,91,.04)}
.top-search{width:min(680px,55vw);height:44px;padding:0 16px;border-color:#d5e2e9;border-radius:11px;background:#fbfdff;box-shadow:0 2px 7px rgba(23,55,78,.025)}.top-search:hover{border-color:#acd4df}.top-search span{font-size:.85rem;color:#7b8fa1}
.topbar-actions{gap:15px}.system-online{font-size:.76rem}.user-pill-hf18{gap:10px;padding:4px 12px 4px 4px;border:0;background:transparent}.user-pill-hf18>b{width:38px;height:38px;background:#092f4c;font-size:.72rem}.user-pill-copy{display:grid;gap:1px;line-height:1.18}.user-pill-copy strong{font-size:.83rem;color:#17364e}.user-pill-copy small{font-size:.69rem;color:#7890a1}.logout-button{border-color:#dbe6ec!important;border-radius:9px!important;color:#526b7f!important;padding:7px 10px!important;font-weight:650!important}
.content{max-width:1700px;padding:30px 34px 54px;background:radial-gradient(circle at 80% 8%,rgba(29,157,181,.035),transparent 24%)}
.dashboard-heading-v2{margin:0 0 24px;align-items:flex-start}.dashboard-heading-v2 .eyebrow{font-size:.68rem;letter-spacing:.14em;margin-bottom:5px}.dashboard-heading-v2 h1{font-size:2.35rem;line-height:1.03;margin:0 0 6px;letter-spacing:-.045em}.dashboard-heading-v2 p{font-size:.92rem;color:#647a8d}.dashboard-greeting{gap:4px;margin-top:7px;font-size:.78rem}.dashboard-greeting strong{font-size:.78rem}.dashboard-greeting span{color:#647b8f}
.dashboard-kpi-grid{gap:16px;margin-bottom:24px}.dashboard-kpi-card{grid-template-columns:54px minmax(0,1fr) 18px;gap:14px;min-height:124px;padding:18px 16px;border-radius:15px;border-color:#d7e4ea;background:#fff;box-shadow:0 8px 24px rgba(23,55,78,.055);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.dashboard-kpi-card::before{display:none}.dashboard-kpi-card:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(23,55,78,.09)}
.dashboard-kpi-icon{width:52px;height:52px;border:0;border-radius:50%;background:#e9f4ff;color:#247fbe}.dashboard-kpi-icon svg{width:25px;height:25px;fill:currentColor}.dashboard-kpi-icon-text{font-size:1.02rem;text-transform:lowercase}.dashboard-kpi-copy small{font-size:.65rem;letter-spacing:.065em;color:#173d58;line-height:1.2}.dashboard-kpi-copy strong{font-size:1.9rem;margin:4px 0 3px;color:#0e3150}.dashboard-kpi-copy em{font-size:.75rem;color:#74899a}.dashboard-kpi-card>b{font-size:1.15rem;color:#0a9aa3}.dashboard-kpi-card.kpi-blue{border-color:#c8e2f5}.dashboard-kpi-card.kpi-blue .dashboard-kpi-icon{background:#dcefff;color:#2285c2}.dashboard-kpi-card.kpi-teal{border-color:#c8e8e3}.dashboard-kpi-card.kpi-teal .dashboard-kpi-icon{background:#dbf5f0;color:#138c7b}.dashboard-kpi-card.kpi-amber{background:#fffefb;border-color:#f0dfb6}.dashboard-kpi-card.kpi-amber .dashboard-kpi-icon{background:#fff1ce;color:#d88700}.dashboard-kpi-card.kpi-green{border-color:#caead8}.dashboard-kpi-card.kpi-green .dashboard-kpi-icon{background:#dcf5e7;color:#19895b}.dashboard-kpi-card.kpi-cyan{border-color:#cedef6}.dashboard-kpi-card.kpi-cyan .dashboard-kpi-icon{background:#e2ebff;color:#3b63c8}
.dashboard-main-grid{grid-template-columns:minmax(0,2.65fr) minmax(335px,.9fr);gap:18px;margin-bottom:18px;align-items:start}.dashboard-panel{border:1px solid #d7e4e9;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(23,55,78,.055)}.dashboard-panel::before{height:3px;background:linear-gradient(90deg,#0baaa7,#1594a5)}.dashboard-panel-heading{padding:19px 20px 13px}.dashboard-panel-heading .project-card-kicker{font-size:.64rem;letter-spacing:.13em;color:#07939a}.dashboard-panel-heading h2{margin:3px 0 2px!important;font-size:1.32rem!important;letter-spacing:-.03em}.dashboard-panel-heading p{font-size:.79rem;color:#758999}.dashboard-panel-heading-inline{align-items:flex-start}.dashboard-small-action{min-height:38px;padding:8px 13px;border-radius:9px;font-size:.75rem}
.dashboard-project-list{margin:2px 18px 18px;border-color:#dce7ec;border-radius:12px}.dashboard-project-list-head,.dashboard-project-row{grid-template-columns:minmax(126px,.82fr) minmax(205px,1.35fr) minmax(190px,1.15fr) minmax(106px,.72fr) minmax(132px,.82fr) minmax(116px,.72fr)}.dashboard-project-list-head{min-height:54px;background:#f1f6f9;color:#4d6b80}.dashboard-project-list-head>span{padding:10px 12px;border-left-color:#e1eaee;font-size:.61rem;letter-spacing:.065em}.dashboard-ref-head small{font-size:.55rem}.dashboard-project-row{min-height:86px}.dashboard-project-row:hover{background:#fbfefe;box-shadow:inset 3px 0 0 #0aa7a7}.dashboard-project-row>div{padding:13px 12px;border-left-color:#e7eef2}.dashboard-project-id .project-link{font-size:.86rem;color:#0e3854!important}.dashboard-customer-icon{width:34px;height:34px;flex-basis:34px;border:0;border-radius:10px;background:#e6f4fd;color:#1880ba;font-size:.82rem}.dashboard-project-customer strong{font-size:.79rem;line-height:1.35}.dashboard-project-reference strong{font-size:.8rem;color:#184867}.dashboard-project-date{font-size:.75rem}.dashboard-project-statuses{gap:7px}.dashboard-project-statuses .status-badge{padding:4px 8px;font-size:.64rem}.dashboard-row-open{width:34px;height:34px;border-radius:9px;background:#f5fbfc;border-color:#c6e4e5}.dashboard-state-button{min-height:34px!important;padding:6px 10px!important;border-radius:9px!important;box-shadow:0 5px 14px rgba(0,145,150,.14)!important}
.dashboard-followup-panel{padding-bottom:9px}.dashboard-followup-list{padding:0 18px 12px}.dashboard-followup-item{grid-template-columns:46px minmax(0,1fr) 34px 16px;gap:11px;min-height:78px;padding:13px 0;border-top-color:#e8eef1}.dashboard-followup-item:hover>span:nth-child(2) strong{color:#087f88}.dashboard-followup-item strong{font-size:.8rem}.dashboard-followup-item small{font-size:.7rem;line-height:1.4}.dashboard-followup-item>b{width:32px;height:28px;background:#eef7fb;font-size:.72rem}.followup-icon{width:44px;height:44px;border:0;border-radius:50%}.followup-icon svg{width:22px;height:22px;fill:currentColor}.followup-icon-text{font-size:.9rem}.followup-teal{background:#daf4ed;color:#148774}.followup-amber{background:#fff0ce;color:#c07b00}.followup-blue{background:#e1effc;color:#2c83bd}.followup-gold{background:#ffe6ec;color:#cf4260}
@media(max-width:1350px){.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-main-grid{grid-template-columns:minmax(0,1fr) minmax(315px,350px)}}
@media(max-width:1120px){.dashboard-main-grid{grid-template-columns:1fr}.dashboard-followup-panel{min-width:0}.top-search{width:min(560px,50vw)}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.topbar{padding:0 18px}.content{padding:22px 18px 42px}.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-heading-v2 h1{font-size:2rem}}
@media(max-width:620px){.dashboard-kpi-grid{grid-template-columns:1fr}.dashboard-greeting{display:none}.system-online{display:none}.user-pill-copy{display:none}.logout-button{padding:7px 8px!important}}
.dashboard-customer-icon svg{width:18px;height:18px;fill:currentColor}

/* RC101 HOTFIX19 — Brukere og tilgang: modernisert kontoadministrasjon */
.user-hf19-page{max-width:1540px;margin:0 auto;padding-bottom:32px}.user-hf19-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:6px 0 22px}.user-hf19-heading h1{margin:3px 0 4px;font-size:2.05rem;line-height:1.05;letter-spacing:-.035em;color:#102f48}.user-hf19-heading p{margin:0;color:#6d8294;font-size:.93rem}.user-hf19-new-button{min-width:140px;min-height:44px;border-radius:10px!important;font-size:.88rem}.user-hf19-message{margin:-5px 0 16px}
.user-hf19-editor-card{margin:0 0 18px!important;padding:19px 21px;border-color:#d8e5eb;box-shadow:0 12px 30px rgba(19,63,84,.06)}.user-hf19-editor-heading{display:flex;align-items:center;gap:13px;padding-bottom:15px;border-bottom:1px solid #e4edf1;position:relative}.user-hf19-editor-heading h2{margin:1px 0 3px;font-size:1.14rem;color:#14364f}.user-hf19-editor-heading p{margin:0;color:#738898;font-size:.79rem}.user-hf19-editor-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#e0f7f5,#c7efeb);color:#078c92;font-size:1.3rem;font-weight:800;flex:0 0 auto}.user-hf19-create-grid{grid-template-columns:1.1fr .8fr .8fr 1.2fr;margin-bottom:12px}.user-hf19-editor-actions{display:flex;justify-content:flex-end;gap:9px}.user-hf19-editor-actions .button,.user-hf19-edit-block .button{min-height:38px;padding:8px 13px}.user-hf19-editor-note{margin:10px 0 0;font-size:.75rem}.user-hf19-selected-copy{min-width:0}.user-hf19-close{position:absolute;right:0;top:0;width:34px;height:34px;padding:0;border-radius:9px;background:#f4f8fa!important;color:#607789!important;border:1px solid #dbe6eb!important;box-shadow:none!important;font-size:1.2rem;line-height:1}.user-hf19-edit-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:18px;margin-top:16px}.user-hf19-edit-block{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px}.user-hf19-edit-block label{min-width:0}.user-hf19-edit-block .button{white-space:nowrap;margin-bottom:0}
.user-hf19-table-card{overflow:visible;border-color:#d8e5eb;box-shadow:0 14px 34px rgba(17,56,77,.07);border-radius:15px}.user-hf19-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;border-bottom:1px solid #e4edf1;background:linear-gradient(180deg,#fff,#fbfdfe);border-radius:15px 15px 0 0}.user-hf19-search{position:relative;display:flex;align-items:center;width:min(440px,48%);font-weight:400}.user-hf19-search>span{position:absolute;left:13px;top:50%;transform:translateY(-50%);z-index:1;color:#52728a;font-size:1.18rem;pointer-events:none}.user-hf19-search input{height:42px;padding-left:39px;border-color:#cddde6;border-radius:9px;background:#fff;font-size:.84rem}.user-hf19-toolbar-right{display:flex;align-items:center;gap:16px}.user-hf19-count{font-size:.77rem;color:#6f8596;white-space:nowrap}.user-hf19-sort{display:flex;align-items:center;gap:8px;font-size:.72rem;color:#718696;font-weight:700}.user-hf19-sort>span{display:none}.user-hf19-sort select{width:172px;height:40px;padding:7px 28px 7px 11px;margin:0;border-radius:9px;font-size:.78rem;font-weight:700;color:#274c66;background:#fff}
.user-hf19-table-scroll{overflow-x:auto;border-radius:0 0 12px 12px}.user-hf19-table{min-width:1080px;table-layout:fixed}.user-hf19-table th{height:50px;padding:10px 14px;background:#f2f7f9;color:#4f6e83;font-size:.65rem;letter-spacing:.06em;text-align:left}.user-hf19-table td{height:72px;padding:11px 14px;border-bottom:1px solid #e4edf1;color:#28485f}.user-hf19-table tbody tr:last-child td{border-bottom:0}.user-hf19-table tbody tr{transition:background .15s,box-shadow .15s}.user-hf19-table tbody tr:hover{background:#fbfefe;box-shadow:inset 3px 0 0 #0aa7a7}.user-hf19-current-row{background:#fcfefe}.user-hf19-table th:nth-child(1){width:21%}.user-hf19-table th:nth-child(2){width:11%}.user-hf19-table th:nth-child(3){width:14%}.user-hf19-table th:nth-child(4){width:16%}.user-hf19-table th:nth-child(5){width:15%}.user-hf19-table th:nth-child(6){width:23%}.user-hf19-person{display:flex;align-items:center;gap:11px;min-width:0}.user-hf19-person>div{min-width:0}.user-hf19-person strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#173b55;font-size:.84rem}.user-hf19-person small{display:block;margin-top:2px;color:#7b909f;font-size:.63rem}.user-hf19-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:0 0 38px;font-size:.74rem;font-weight:900;letter-spacing:.02em}.user-hf19-avatar-tone-0{background:#dfeffd;color:#1976b5}.user-hf19-avatar-tone-1{background:#daf6ed;color:#088166}.user-hf19-avatar-tone-2{background:#eee5ff;color:#7151c7}.user-hf19-avatar-tone-3{background:#ffe9d8;color:#a15b1b}.user-hf19-avatar-tone-4{background:#e8eef3;color:#324f65}.user-hf19-username{font-size:.79rem;color:#35566d}.user-hf19-role{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:7px;font-size:.7rem;font-weight:800;white-space:nowrap}.user-hf19-role-admin{background:#e7f0ff;color:#2369c7}.user-hf19-role-tech{background:#e2f7ef;color:#077b64}.user-hf19-role-finance{background:#fff0dc;color:#a4630c}.user-hf19-role-read{background:#efe8ff;color:#7152c1}.user-hf19-role-project{background:#e1f4fb;color:#187a9c}.user-hf19-role-office{background:#edf2f5;color:#526c7d}.user-hf19-role-default{background:#eef3f6;color:#546d7f}.user-hf19-status-stack{display:flex;align-items:flex-start;gap:5px;flex-wrap:wrap}.user-hf19-status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:.67rem;font-weight:780;white-space:nowrap}.user-hf19-status i{width:7px;height:7px;border-radius:50%;display:block}.user-hf19-status-active{background:#e4f7f0;color:#087b61}.user-hf19-status-active i{background:#0aa47f}.user-hf19-status-off{background:#e9eef2;color:#5c7181}.user-hf19-status-off i{background:#708799}.user-hf19-status-warning{background:#fff2d9;color:#9b6611}.user-hf19-status-warning i{background:#d99016}.user-hf19-login{font-size:.76rem;color:#385c73;white-space:nowrap}.user-hf19-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;position:relative}.user-hf19-action{min-height:34px!important;padding:7px 9px!important;border-radius:8px!important;font-size:.68rem!important;font-weight:800!important;white-space:nowrap;background:#fff!important;color:#214d69!important;border:1px solid #d3e1e8!important;box-shadow:none!important}.user-hf19-action:hover{background:#f4fbfb!important;border-color:#b9dcd9!important;transform:none!important}.user-hf19-more{position:relative}.user-hf19-more summary{list-style:none;width:34px;height:34px;border:1px solid #d3e1e8;border-radius:8px;display:grid;place-items:center;background:#fff;color:#31546c;font-size:1.1rem;cursor:pointer;font-weight:900;user-select:none}.user-hf19-more summary::-webkit-details-marker{display:none}.user-hf19-more[open] summary{background:#eef8f8;border-color:#b9dcd9}.user-hf19-more-menu{position:absolute;right:0;top:40px;z-index:30;min-width:152px;padding:6px;background:#fff;border:1px solid #dce6eb;border-radius:10px;box-shadow:0 14px 35px rgba(15,48,67,.16);display:grid;gap:3px}.user-hf19-more-menu button{justify-content:flex-start;padding:8px 10px;border-radius:7px;background:#fff!important;color:#31536b!important;box-shadow:none!important;font-size:.72rem}.user-hf19-more-menu button:hover{background:#f2f8fa!important;transform:none!important}.user-hf19-more-menu .user-hf19-delete{color:#b22f36!important}.user-hf19-more-menu .user-hf19-delete:hover{background:#fff1f1!important}.user-hf19-self{font-size:.64rem;color:#7a8f9e;background:#f0f4f6;padding:5px 7px;border-radius:999px;white-space:nowrap}.user-hf19-empty{padding:34px;text-align:center;color:#738999}.user-hf19-table-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-top:1px solid #e4edf1;color:#728696;font-size:.7rem;background:#fbfdfe;border-radius:0 0 15px 15px}.user-hf19-audit-hint{color:#8a9aa6}
.user-hf19-permission-wrap{margin-top:18px;border:1px solid #d8e5eb;border-radius:15px;background:#fff;box-shadow:0 12px 30px rgba(19,63,84,.06);overflow:hidden}.user-hf19-permission-heading{position:relative;padding:18px 20px 14px;border-bottom:1px solid #e4edf1}.user-hf19-permission-heading h2{margin:2px 0 3px;color:#173b55;font-size:1.08rem}.user-hf19-permission-heading p{margin:0;color:#738898;font-size:.77rem}.user-hf19-permission-heading .user-hf19-close{right:16px;top:16px}.user-hf19-permission-wrap>.form-card,.user-hf19-permission-wrap>.table-card{margin:0;border:0;border-radius:0;box-shadow:none}.user-hf19-security-note{margin-top:16px;border-radius:11px}
@media(max-width:1180px){.user-hf19-create-grid{grid-template-columns:1fr 1fr}.user-hf19-edit-grid{grid-template-columns:1fr}.user-hf19-table th:nth-child(6){width:26%}.user-hf19-table th:nth-child(1){width:19%}.user-hf19-table th:nth-child(4){width:15%}}
@media(max-width:760px){.user-hf19-heading{align-items:flex-start;flex-direction:column}.user-hf19-new-button{width:100%}.user-hf19-create-grid{grid-template-columns:1fr}.user-hf19-edit-block{grid-template-columns:1fr}.user-hf19-toolbar{align-items:stretch;flex-direction:column}.user-hf19-search{width:100%}.user-hf19-toolbar-right{justify-content:space-between}.user-hf19-table-footer{align-items:flex-start;flex-direction:column}.user-hf19-audit-hint{display:none}}


/* RC101 HOTFIX20 — Nyeste oppdrag: fast dashboardhøyde med intern vertikal rulling */
.dashboard-recent-panel{min-height:0}
.dashboard-project-list{max-height:486px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#9bcfd2 #f2f7f9}
.dashboard-project-list-head{position:sticky;top:0;z-index:8;box-shadow:0 1px 0 #dce7ec}
.dashboard-project-list::-webkit-scrollbar{width:9px}
.dashboard-project-list::-webkit-scrollbar-track{background:#f2f7f9;border-radius:0 10px 10px 0}
.dashboard-project-list::-webkit-scrollbar-thumb{background:#9bcfd2;border:2px solid #f2f7f9;border-radius:999px}
.dashboard-project-list::-webkit-scrollbar-thumb:hover{background:#72b7bc}
@media(max-width:760px){.dashboard-project-list{max-height:none;overflow:visible;scrollbar-gutter:auto}.dashboard-project-list-head{position:static;box-shadow:none}}


/* RC101 HOTFIX22 — Søk prosjekt / Se alle prosjekter: intern rulling i komplett prosjektliste */
.project-search-results-scroll{max-height:calc(100vh - 385px);min-height:260px;overflow-y:auto;overflow-x:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#8bc7ca #f2f7f9}
.project-search-results-scroll::-webkit-scrollbar{width:10px;height:10px}
.project-search-results-scroll::-webkit-scrollbar-track{background:#f2f7f9;border-radius:999px}
.project-search-results-scroll::-webkit-scrollbar-thumb{background:#8bc7ca;border:2px solid #f2f7f9;border-radius:999px}
.project-search-results-scroll::-webkit-scrollbar-thumb:hover{background:#5eb3b7}
.project-search-results-table thead th{position:sticky;top:0;z-index:4;background:#f3f8fb;box-shadow:0 1px 0 var(--line)}
@media(max-width:900px){.project-search-results-scroll{max-height:none;min-height:0;overflow-y:visible;scrollbar-gutter:auto}.project-search-results-table thead th{position:static;box-shadow:none}}


/* RC101 HOTFIX22 — Dashboard låst til ett desktop-vindu med adaptivt antall synlige prosjekt-rader */
.dashboard-screen-v22{min-height:0}
@media(min-width:1360px) and (min-height:820px){
 .dashboard-screen-v22{height:calc(100vh - 144px);min-height:0;overflow:hidden;display:flex;flex-direction:column}
 .dashboard-screen-v22>.dashboard-heading-v2{flex:0 0 auto;margin-bottom:14px}
 .dashboard-screen-v22>.dashboard-kpi-grid{flex:0 0 auto;margin-bottom:16px}
 .dashboard-screen-v22>.dashboard-main-grid{flex:0 0 auto;min-height:0;margin-bottom:0;align-items:stretch}
 .dashboard-screen-v22 .dashboard-project-list{max-height:312px;overflow-y:auto;overflow-x:hidden}
 .dashboard-screen-v22 .dashboard-project-list-head{position:sticky;top:0;z-index:8}
 .dashboard-screen-v22 .dashboard-recent-panel,.dashboard-screen-v22 .dashboard-followup-panel{min-height:0}
}
@media(min-width:1360px) and (min-height:1050px){
 .dashboard-screen-v22 .dashboard-project-list{max-height:398px}
}
@media(min-width:1360px) and (min-height:1200px){
 .dashboard-screen-v22 .dashboard-project-list{max-height:484px}
}
@media(max-width:1359px), (max-height:819px){
 .dashboard-screen-v22{height:auto;overflow:visible}
}

/* RC101 HOTFIX23 — Søk prosjekt låst til ett desktop-vindu; bare resultatlisten ruller */
.project-search-screen-v23{min-height:0}
.project-search-result-region{min-height:0}
@media(min-width:901px) and (min-height:720px){
 .project-search-screen-v23{
  height:calc(100dvh - 160px);
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
 }
 .project-search-screen-v23>.page-heading{
  flex:0 0 auto;
  margin-top:0;
  margin-bottom:14px;
 }
 .project-search-screen-v23>.search-card{
  flex:0 0 auto;
  margin-bottom:14px;
 }
 .project-search-result-region{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  display:flex;
 }
 .project-search-result-region>.project-search-table-card-v23{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  display:flex;
 }
 .project-search-result-region>.loading-card,
 .project-search-result-region>.empty-state{
  flex:1 1 auto;
  width:100%;
  min-height:0;
 }
 .project-search-table-card-v23>.project-search-results-scroll{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  overflow-y:auto;
  overflow-x:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
 }
 .project-search-table-card-v23 .project-search-results-table thead th{
  position:sticky;
  top:0;
  z-index:6;
 }
}
@media(max-width:900px), (max-height:719px){
 .project-search-screen-v23{height:auto;overflow:visible;display:block}
 .project-search-result-region{display:block;overflow:visible}
 .project-search-result-region>.project-search-table-card-v23{display:block;overflow:hidden}
}


/* RC101 HOTFIX24 — Dashboard: reell viewport-lås. Body/app-shell kan ikke rulle på desktop; bare Nyeste oppdrag ruller. */
@media(min-width:901px) and (min-height:720px){
 html:has(.dashboard-screen-v24),
 body:has(.dashboard-screen-v24){height:100%;overflow:hidden}
 body:has(.dashboard-screen-v24) .app-shell{
  height:100dvh;
  min-height:0;
  overflow:hidden;
 }
 body:has(.dashboard-screen-v24) .sidebar{
  height:100dvh;
  min-height:0;
  overflow:hidden;
 }
 body:has(.dashboard-screen-v24) .app-main{
  height:100dvh;
  min-height:0;
  overflow:hidden;
  display:grid;
  grid-template-rows:68px minmax(0,1fr);
 }
 body:has(.dashboard-screen-v24) .topbar{
  position:relative;
  top:auto;
  height:68px;
  min-height:68px;
 }
 body:has(.dashboard-screen-v24) .content{
  height:100%;
  min-height:0;
  overflow:hidden;
  padding:14px 32px 16px;
  display:flex;
  flex-direction:column;
 }
 .dashboard-screen-v24{
  flex:1 1 auto;
  height:auto!important;
  min-height:0;
  overflow:hidden!important;
  display:flex;
  flex-direction:column;
 }
 .dashboard-screen-v24>.message-box{
  flex:0 0 auto;
  margin:0 0 10px;
 }
 .dashboard-screen-v24>.dashboard-heading-v2{
  flex:0 0 auto;
  margin:0 0 12px;
 }
 .dashboard-screen-v24>.dashboard-kpi-grid{
  flex:0 0 auto;
  margin-bottom:14px;
 }
 .dashboard-screen-v24>.dashboard-main-grid{
  flex:1 1 auto!important;
  min-height:0;
  overflow:hidden;
  margin-bottom:0!important;
  align-items:stretch;
 }
 .dashboard-screen-v24 .dashboard-recent-panel{
  min-height:0;
  height:100%;
  overflow:hidden;
  display:flex;
  flex-direction:column;
 }
 .dashboard-screen-v24 .dashboard-panel-heading{
  flex:0 0 auto;
 }
 .dashboard-screen-v24 .dashboard-project-list{
  flex:1 1 auto;
  min-height:0;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
 }
 .dashboard-screen-v24 .dashboard-followup-panel{
  min-height:0;
  height:100%;
  overflow:hidden;
 }
 .dashboard-screen-v24 .dashboard-project-list-head{
  position:sticky;
  top:0;
  z-index:9;
 }
}
@media(max-width:900px), (max-height:719px){
 html:has(.dashboard-screen-v24),body:has(.dashboard-screen-v24){height:auto;overflow:auto}
 .dashboard-screen-v24{height:auto!important;overflow:visible!important}
}

/* RC101 HOTFIX25 — Prosjektarbeidsflate: ekstern referanse/sluttkunde flyttet til høyre sidepanel */
.project-primary-layout-v25{
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(360px,420px);
 gap:16px;
 align-items:start;
 margin-bottom:16px;
}
.project-primary-main-v25{min-width:0}
.project-primary-main-v25 .project-heading{margin-bottom:10px}
.project-primary-main-v25 .project-action-overview{
 grid-template-columns:repeat(3,minmax(0,1fr));
 margin:10px 0 0;
}
.project-reference-side-v25{
 margin:0;
 min-width:0;
 padding:16px;
 border-color:#d8e7eb;
 box-shadow:0 10px 26px rgba(17,58,77,.07);
}
.project-reference-side-v25 .reference-card-header{
 gap:10px 12px;
 margin-bottom:12px;
 padding-bottom:10px;
 flex-wrap:wrap;
}
.project-reference-side-v25 .reference-card-header>div:first-child{min-width:0;flex:1 1 210px}
.project-reference-side-v25 .reference-card-header h2{font-size:1.08rem!important;line-height:1.2}
.project-reference-side-v25 .reference-card-header p{font-size:.74rem;line-height:1.35}
.project-reference-side-v25 .reference-card-header .project-action-button{
 flex:0 0 auto;
 min-height:34px;
 padding:7px 10px;
 font-size:.69rem;
 border-radius:9px;
}
.project-reference-side-v25 .reference-grid{
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:9px;
}
.project-reference-side-v25 .reference-grid div{
 min-height:62px;
 padding:9px 10px;
 align-content:center;
 background:#f7fbfc;
 border-color:#dfecef;
 border-radius:9px;
}
.project-reference-side-v25 .reference-grid span{
 font-size:.62rem;
 line-height:1.25;
 letter-spacing:.045em;
}
.project-reference-side-v25 .reference-grid strong{
 font-size:.78rem;
 line-height:1.35;
 color:#173b55;
}
.project-reference-side-v25 .project-reference-form{
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:9px;
}
.project-reference-side-v25 .project-reference-form label{font-size:.69rem}
.project-reference-side-v25 .project-reference-form input{padding:8px 9px;font-size:.76rem}
.project-reference-side-v25 .project-reference-actions{margin-top:11px;gap:7px}
.project-reference-side-v25 .project-reference-actions .button{padding:8px 10px;font-size:.71rem}
.project-reference-side-v25 .audit-help{font-size:.66rem;line-height:1.35}
.project-reference-side-v25 .locked-edit-note{font-size:.67rem;padding:7px 8px}
.project-reference-side-v25 .project-reference-message{font-size:.72rem}
@media(max-width:1500px){
 .project-primary-layout-v25{grid-template-columns:1fr}
 .project-primary-main-v25 .project-action-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
 .project-reference-side-v25{margin-top:0}
 .project-reference-side-v25 .reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .project-reference-side-v25 .project-reference-form{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
 .project-primary-layout-v25{display:block;margin-bottom:14px}
 .project-primary-main-v25 .project-action-overview{grid-template-columns:1fr}
 .project-reference-side-v25{margin-top:14px}
 .project-reference-side-v25 .reference-grid,.project-reference-side-v25 .project-reference-form{grid-template-columns:1fr}
}

/* RC101 HOTFIX26 — Prosjekt Workspace Redesign: samlet hero, integrert ekstern referanse og balanserte modulkort */
.project-workspace-v26{
 display:grid;
 gap:14px;
 margin-bottom:16px;
}
.project-hero-v26{
 display:grid;
 grid-template-columns:minmax(360px,.9fr) minmax(620px,1.55fr);
 gap:0;
 min-width:0;
 border:1px solid #d7e6ea;
 border-radius:16px;
 background:linear-gradient(135deg,#ffffff 0%,#fbfefe 58%,#f4fbfb 100%);
 box-shadow:0 10px 28px rgba(18,61,80,.075);
 overflow:hidden;
}
.project-hero-main-v26{
 min-width:0;
 display:flex;
 align-items:center;
 gap:18px;
 padding:22px 24px;
 border-right:1px solid #dce9ed;
}
.project-hero-icon-v26{
 width:62px;
 height:62px;
 flex:0 0 62px;
 display:grid;
 place-items:center;
 border-radius:18px;
 background:linear-gradient(135deg,#e1f7f4,#c9efec);
 border:1px solid #bfe3df;
 color:#078a91;
 font-size:1.45rem;
 font-weight:900;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.project-hero-copy-v26{min-width:0}
.project-hero-title-row-v26{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:2px}
.project-hero-title-row-v26 h1{
 margin:0;
 color:#102f49;
 font-size:2rem;
 line-height:1.06;
 letter-spacing:-.025em;
}
.project-status-pill-v26{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:30px;
 padding:6px 13px;
 border-radius:999px;
 border:1px solid #b9e6df;
 background:#e4f8f3;
 color:#08796f;
 font-size:.76rem;
 font-weight:850;
 white-space:nowrap;
}
.project-hero-meta-v26{
 display:flex;
 align-items:center;
 gap:8px;
 flex-wrap:wrap;
 margin:10px 0 0;
 color:#718598;
 font-size:.82rem;
}
.project-hero-meta-v26 strong{color:#5d7487}
.project-hero-meta-v26 a{font-weight:800;color:#087f93}
.project-hero-divider-v26{width:1px;height:15px;background:#cadbe2;margin:0 4px}

.project-reference-hero-v26{
 min-width:0;
 padding:16px 18px 17px;
 background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(249,253,253,.96));
}
.project-reference-hero-heading-v26{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:14px;
 margin-bottom:9px;
 padding-bottom:9px;
 border-bottom:1px solid #e1ecef;
}
.project-reference-hero-title-v26{display:flex;align-items:center;gap:10px;min-width:0}
.project-reference-hero-title-v26 h2{margin:1px 0 0!important;font-size:1rem;color:#173c56;line-height:1.18}
.project-reference-hero-icon-v26{
 width:34px;
 height:34px;
 flex:0 0 34px;
 display:grid;
 place-items:center;
 border-radius:10px;
 background:#ddf5f2;
 border:1px solid #c1e7e3;
 color:#078b92;
 font-weight:900;
}
.project-reference-edit-v26{min-height:34px!important;padding:7px 10px!important;font-size:.69rem!important;white-space:nowrap}
.project-reference-summary-v26{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:0 20px;
}
.project-reference-summary-v26>div{
 min-width:0;
 display:grid;
 grid-template-columns:minmax(135px,.88fr) minmax(0,1.12fr);
 align-items:baseline;
 gap:10px;
 padding:6px 0;
 border-bottom:1px solid #edf3f5;
}
.project-reference-summary-v26>div:nth-last-child(-n+2){border-bottom:0}
.project-reference-summary-v26 span{
 color:#718697;
 font-size:.67rem;
 font-weight:700;
 line-height:1.3;
}
.project-reference-summary-v26 strong{
 min-width:0;
 color:#173c56;
 font-size:.76rem;
 font-weight:800;
 line-height:1.35;
 overflow-wrap:anywhere;
}
.project-reference-form-v26{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px}
.project-reference-form-v26 label{font-size:.67rem}
.project-reference-form-v26 input{padding:8px 9px;font-size:.76rem}
.project-reference-actions-v26{margin-top:10px}
.project-reference-hero-v26 .audit-help{font-size:.66rem;margin-top:8px}
.project-reference-hero-v26 .project-reference-message{margin:0 0 9px;font-size:.71rem}

.project-module-grid-v26{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:12px;
 align-items:stretch;
}
.project-module-card-v26{
 min-height:182px!important;
 padding:15px 16px!important;
 gap:10px!important;
 border-radius:14px!important;
 border-color:#d6e7ea!important;
 background:linear-gradient(180deg,#ffffff,#f9fcfd)!important;
 box-shadow:0 7px 20px rgba(18,61,80,.055)!important;
}
.project-module-card-v26::before{height:0!important}
.project-module-card-v26 .project-card-heading{
 align-items:flex-start;
 gap:11px;
 padding-bottom:0;
 border-bottom:0;
}
.project-module-card-v26 .project-card-heading>div{min-width:0}
.project-module-card-v26 .project-card-heading h2{font-size:1rem!important;margin:0!important}
.project-module-card-v26 .project-card-heading small{
 display:block;
 margin-top:3px;
 color:#718598;
 font-size:.71rem;
 line-height:1.34;
 font-weight:500;
}
.project-module-icon-v26{
 width:40px;
 height:40px;
 flex:0 0 40px;
 border-radius:12px;
 font-size:.9rem;
}
.project-module-card-v26 .project-info-list{margin-top:3px}
.project-module-card-v26 .project-info-list p{padding:6px 0}
.project-module-card-v26 .project-card-summary{margin-top:2px!important;font-size:.82rem}
.project-module-card-v26 .project-card-actions{gap:8px;padding-top:5px}
.project-module-card-v26 .project-action-button{min-height:37px;padding:8px 11px;font-size:.76rem}
.project-module-card-v26.project-info-card{background:linear-gradient(180deg,#ffffff,#f4fbfa)!important}
.project-module-card-v26.project-estimate-card{border-top:3px solid #e1b42b!important}
.project-module-card-v26.project-admin-control-card{border-top:3px solid #0c9ca1!important}
.project-module-card-v26.project-labels-card{border-top:3px solid #dfaf2d!important}

.project-reports-v26{
 margin:0!important;
 padding:14px 16px!important;
 border-radius:14px!important;
 box-shadow:0 7px 20px rgba(18,61,80,.05)!important;
}
.project-reports-v26 .project-reports-heading{margin-bottom:10px;padding-bottom:9px;align-items:center}
.project-reports-title-v26{display:flex;align-items:center;gap:11px}
.project-reports-title-v26 h2{margin:0!important;font-size:1rem!important}
.project-reports-title-v26 small{display:block;margin-top:3px;color:#74889a;font-size:.7rem}
.project-reports-icon-v26{
 width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:11px;
 background:#ddf5f2;border:1px solid #c1e7e3;color:#078b92;font-weight:900
}
.project-report-action-v26{min-height:74px!important;padding:11px 12px!important}
.project-report-action-v26 .project-report-open{background:#f8fdfd}

@media(max-width:1450px){
 .project-hero-v26{grid-template-columns:minmax(330px,.85fr) minmax(540px,1.4fr)}
 .project-reference-summary-v26>div{grid-template-columns:minmax(120px,.82fr) minmax(0,1.18fr)}
 .project-module-grid-v26{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1180px){
 .project-hero-v26{grid-template-columns:1fr}
 .project-hero-main-v26{border-right:0;border-bottom:1px solid #dce9ed}
 .project-reference-summary-v26{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}
 .project-reference-summary-v26>div{display:grid;grid-template-columns:1fr;gap:2px;padding:7px 0}
 .project-reference-summary-v26>div:nth-last-child(-n+3){border-bottom:0}
 .project-reference-form-v26{grid-template-columns:repeat(3,minmax(0,1fr))}
 .project-module-grid-v26{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .project-workspace-v26{gap:11px}
 .project-hero-main-v26{padding:16px;align-items:flex-start}
 .project-hero-icon-v26{width:48px;height:48px;flex-basis:48px;border-radius:14px}
 .project-hero-title-row-v26 h1{font-size:1.55rem}
 .project-hero-meta-v26{font-size:.76rem}
 .project-reference-hero-v26{padding:14px}
 .project-reference-hero-heading-v26{align-items:flex-start;flex-direction:column}
 .project-reference-edit-v26{width:auto!important}
 .project-reference-summary-v26{grid-template-columns:1fr}
 .project-reference-summary-v26>div,.project-reference-summary-v26>div:nth-last-child(-n+3){grid-template-columns:minmax(115px,.8fr) minmax(0,1.2fr);border-bottom:1px solid #edf3f5}
 .project-reference-summary-v26>div:last-child{border-bottom:0}
 .project-reference-form-v26{grid-template-columns:1fr}
 .project-module-grid-v26{grid-template-columns:1fr}
 .project-module-card-v26{min-height:0!important}
 .project-reports-v26 .report-purpose-grid{grid-template-columns:1fr}
}

/* RC101 HOTFIX27 — Prosjekt Workspace Final Layout (LOCKED)
   Prioriterer Enheter / utstyr direkte under prosjektidentiteten, samler operativ kontroll
   i ett visuelt hierarki og beholder all eksisterende backend-/audit-/permissionlogikk. */
.project-workspace-v27{
 display:grid;
 gap:13px;
 margin-bottom:14px;
}
.project-hero-v27{
 display:grid;
 grid-template-columns:minmax(360px,.9fr) minmax(620px,1.55fr);
 min-width:0;
 overflow:hidden;
 border:1px solid #d6e6ea;
 border-radius:15px;
 background:linear-gradient(135deg,#fff 0%,#fcfefe 58%,#f4fbfb 100%);
 box-shadow:0 9px 25px rgba(18,61,80,.07);
}
.project-hero-main-v27{
 min-width:0;
 display:flex;
 align-items:center;
 gap:17px;
 padding:20px 22px;
 border-right:1px solid #dce9ed;
}
.project-hero-icon-v27{
 width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;
 border-radius:17px;background:linear-gradient(135deg,#e1f7f4,#caefec);
 border:1px solid #bfe3df;color:#078b92;font-size:1.35rem;font-weight:900;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.9)
}
.project-hero-copy-v27{min-width:0}
.project-hero-title-row-v27{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:2px}
.project-hero-title-row-v27 h1{margin:0;color:#102f49;font-size:1.9rem;line-height:1.06;letter-spacing:-.025em}
.project-status-pill-v27{display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:6px 13px;border-radius:999px;border:1px solid #b9e6df;background:#e4f8f3;color:#08796f;font-size:.74rem;font-weight:850;white-space:nowrap}
.project-hero-meta-v27{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:9px 0 0;color:#718598;font-size:.8rem}
.project-hero-meta-v27 strong{color:#5d7487}.project-hero-meta-v27 a{font-weight:800;color:#087f93}.project-hero-divider-v27{width:1px;height:15px;background:#cadbe2;margin:0 4px}

.project-reference-hero-v27{min-width:0;padding:14px 17px 15px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(249,253,253,.96))}
.project-reference-hero-heading-v27{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #e1ecef}
.project-reference-hero-title-v27{display:flex;align-items:center;gap:10px;min-width:0}.project-reference-hero-title-v27 h2{margin:1px 0 0!important;font-size:.98rem;color:#173c56;line-height:1.18}
.project-reference-hero-icon-v27{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:10px;background:#ddf5f2;border:1px solid #c1e7e3;color:#078b92;font-weight:900}
.project-reference-edit-v27{min-height:33px!important;padding:7px 10px!important;font-size:.68rem!important;white-space:nowrap}
.project-reference-summary-v27{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.project-reference-summary-v27>div{min-width:0;display:grid;grid-template-columns:minmax(135px,.88fr) minmax(0,1.12fr);align-items:baseline;gap:10px;padding:5px 0;border-bottom:1px solid #edf3f5}
.project-reference-summary-v27>div:nth-last-child(-n+2){border-bottom:0}.project-reference-summary-v27 span{color:#718697;font-size:.65rem;font-weight:700;line-height:1.3}.project-reference-summary-v27 strong{min-width:0;color:#173c56;font-size:.74rem;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.project-reference-form-v27{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px}.project-reference-form-v27 label{font-size:.66rem}.project-reference-form-v27 input{padding:8px 9px;font-size:.75rem}.project-reference-actions-v27{margin-top:9px}.project-reference-hero-v27 .audit-help{font-size:.65rem;margin-top:7px}

.project-devices-panel-v27{
 min-width:0;
 padding:11px 12px 10px;
 border:1px solid #d3e6e8;
 border-radius:15px;
 background:linear-gradient(180deg,#fff,#fbfefe);
 box-shadow:0 8px 22px rgba(18,61,80,.06);
}
.project-devices-heading-v27{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:9px}
.project-devices-title-v27{display:flex;align-items:center;gap:11px;min-width:0}.project-devices-title-v27>div{min-width:0}.project-devices-title-v27 h2{margin:0!important;color:#153b56;font-size:1rem!important;line-height:1.18}.project-devices-title-v27 p{margin:3px 0 0;color:#708698;font-size:.71rem;line-height:1.35}.project-devices-title-v27 p strong{color:#173c56}
.project-devices-icon-v27{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:11px;background:#ddf5f2;border:1px solid #bee6e2;color:#078b92;font-weight:900}
.project-devices-actions-v27{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.project-devices-actions-v27 .project-action-button{min-height:35px;padding:7px 10px;font-size:.71rem}
.project-devices-note-v27,.project-devices-empty-v27{margin:7px 0 9px;padding:9px 11px;border-radius:9px;background:#f7fafb;border:1px solid #dce9ec;color:#687f8f;font-size:.72rem}.project-devices-empty-v27{display:flex;gap:5px 12px;align-items:baseline;flex-wrap:wrap}.project-devices-empty-v27 strong{color:#173c56}
.project-device-search-v27{display:flex;align-items:flex-end;gap:12px;margin:7px 0 9px}.project-device-search-v27 label{flex:1;margin:0;color:#587185;font-size:.68rem;font-weight:700}.project-device-search-v27 label span{display:block;margin-bottom:4px}.project-device-search-v27 input{width:100%;min-height:35px;padding:7px 10px;font-size:.74rem}.project-device-search-v27>span{padding-bottom:9px;color:#6f8493;font-size:.7rem;white-space:nowrap}.project-device-message-v27{margin:7px 0 9px}
.project-device-table-scroll-v27{max-height:275px;overflow:auto;border:1px solid #d7e5e9;border-radius:10px;background:#fff;scrollbar-width:thin;scrollbar-color:#83c9c7 #edf6f6}
.project-device-table-scroll-v27::-webkit-scrollbar{width:8px;height:8px}.project-device-table-scroll-v27::-webkit-scrollbar-track{background:#edf6f6}.project-device-table-scroll-v27::-webkit-scrollbar-thumb{background:#83c9c7;border-radius:10px;border:2px solid #edf6f6}
.project-device-table-v27{margin:0!important;min-width:1000px;border:0!important;border-radius:0!important}.project-device-table-v27 thead th{position:sticky;top:0;z-index:2;background:#edf5f8!important;color:#45657a!important;font-size:.63rem!important;letter-spacing:.045em}.project-device-table-v27 td{padding-top:9px!important;padding-bottom:9px!important;font-size:.75rem;vertical-align:middle}.project-device-table-v27 tbody tr:hover{background:#fbfefe}.project-device-table-v27 .device-id-cell a{font-weight:900}.project-device-table-v27 .device-name-cell strong{font-size:.82rem}.project-device-table-v27 .device-name-cell small{font-size:.66rem}.project-device-table-v27 .device-status-cell{white-space:nowrap}.device-status-dot-v27{display:inline-block;width:9px;height:9px;vertical-align:middle;margin-right:8px;border-radius:50%;background:#78a4b8;box-shadow:0 0 0 3px rgba(120,164,184,.12)}.device-status-dot-v27.is-ok{background:#15b879;box-shadow:0 0 0 3px rgba(21,184,121,.12)}.device-status-dot-v27.is-repair{background:#1598c5;box-shadow:0 0 0 3px rgba(21,152,197,.12)}.device-status-dot-v27.is-no-repair{background:#e0a01f;box-shadow:0 0 0 3px rgba(224,160,31,.13)}.device-status-dot-v27.is-wait{background:#e0a01f;box-shadow:0 0 0 3px rgba(224,160,31,.13)}.device-status-dot-v27.is-condemned{background:#d94a4a;box-shadow:0 0 0 3px rgba(217,74,74,.12)}.device-status-dot-v27.is-control{background:#7899aa}
.project-device-table-v27 .device-row-actions{gap:6px}.project-device-table-v27 .device-row-link,.project-device-table-v27 .table-delete-button{min-height:30px;padding:5px 8px;font-size:.68rem}
.project-merged-history-v27{margin-top:9px;border-top:1px solid #e3ecef;padding-top:8px;color:#6c8291}.project-merged-history-v27 summary{cursor:pointer;color:#2c536a;font-size:.72rem;font-weight:800}.project-merged-history-v27 p{font-size:.69rem}

.project-ops-grid-v27{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;align-items:stretch}
.project-module-card-v27{min-height:146px!important;padding:13px 14px!important;gap:8px!important;border-radius:13px!important;border-color:#d6e7ea!important;background:linear-gradient(180deg,#fff,#f9fcfd)!important;box-shadow:0 6px 17px rgba(18,61,80,.05)!important}
.project-module-card-v27::before{height:0!important}.project-module-card-v27 .project-card-heading{align-items:flex-start;gap:10px;padding-bottom:0;border-bottom:0}.project-module-card-v27 .project-card-heading>div{min-width:0}.project-module-card-v27 .project-card-heading h2{font-size:.94rem!important;margin:0!important}.project-module-card-v27 .project-card-heading small{display:block;margin-top:2px;color:#718598;font-size:.68rem;line-height:1.31;font-weight:500}.project-module-icon-v27{width:37px;height:37px;flex:0 0 37px;border-radius:11px;font-size:.84rem}.project-module-card-v27 .project-info-list{margin-top:2px}.project-module-card-v27 .project-info-list p{padding:5px 0}.project-module-card-v27 .project-card-summary{margin-top:1px!important;font-size:.78rem}.project-module-card-v27 .project-card-actions{gap:7px;padding-top:4px}.project-module-card-v27 .project-action-button{min-height:34px;padding:7px 10px;font-size:.71rem}.project-module-card-v27.project-estimate-card{border-top:2px solid #e1b42b!important}.project-module-card-v27.project-admin-control-card{border-top:2px solid #0c9ca1!important}.project-module-card-v27.project-labels-card{border-top:2px solid #dfaf2d!important}
.project-info-list-v27{margin-top:auto!important}
.project-reports-v27{grid-column:span 2;margin:0!important;padding:12px 13px!important;border-radius:13px!important;box-shadow:0 6px 17px rgba(18,61,80,.05)!important;min-height:146px}.project-reports-heading-v27{margin-bottom:8px!important;padding-bottom:7px!important}.project-reports-title-v27{display:flex;align-items:center;gap:10px}.project-reports-title-v27 h2{margin:0!important;font-size:.94rem!important}.project-reports-title-v27 small{display:block;margin-top:2px;color:#74889a;font-size:.67rem}.project-reports-icon-v27{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:10px;background:#ddf5f2;border:1px solid #c1e7e3;color:#078b92;font-weight:900}.project-report-grid-v27{gap:9px!important}.project-report-action-v27{min-height:60px!important;padding:8px 9px!important}.project-report-action-v27 .project-report-icon{width:32px;height:32px;flex-basis:32px}.project-report-action-v27 .project-report-copy strong{font-size:.76rem}.project-report-action-v27 .project-report-copy small{font-size:.64rem}.project-report-action-v27 .project-report-open{font-size:.65rem;padding:6px 8px;background:#f8fdfd}
.project-secondary-actions-v27{margin-top:-3px!important}

@media(max-width:1450px){
 .project-hero-v27{grid-template-columns:minmax(330px,.85fr) minmax(540px,1.4fr)}
 .project-reference-summary-v27>div{grid-template-columns:minmax(120px,.82fr) minmax(0,1.18fr)}
 .project-ops-grid-v27{grid-template-columns:repeat(3,minmax(0,1fr))}
 .project-device-table-v27{min-width:940px}
}
@media(max-width:1180px){
 .project-hero-v27{grid-template-columns:1fr}.project-hero-main-v27{border-right:0;border-bottom:1px solid #dce9ed}
 .project-reference-summary-v27{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}.project-reference-summary-v27>div{display:grid;grid-template-columns:1fr;gap:2px;padding:7px 0}.project-reference-summary-v27>div:nth-last-child(-n+3){border-bottom:0}.project-reference-form-v27{grid-template-columns:repeat(3,minmax(0,1fr))}
 .project-devices-heading-v27{align-items:flex-start}.project-ops-grid-v27{grid-template-columns:repeat(2,minmax(0,1fr))}.project-reports-v27{grid-column:span 2}
}
@media(max-width:760px){
 .project-workspace-v27{gap:10px}.project-hero-main-v27{padding:15px;align-items:flex-start}.project-hero-icon-v27{width:47px;height:47px;flex-basis:47px;border-radius:13px}.project-hero-title-row-v27 h1{font-size:1.5rem}.project-hero-meta-v27{font-size:.75rem}.project-reference-hero-v27{padding:13px}.project-reference-hero-heading-v27{align-items:flex-start;flex-direction:column}.project-reference-edit-v27{width:auto!important}.project-reference-summary-v27{grid-template-columns:1fr}.project-reference-summary-v27>div,.project-reference-summary-v27>div:nth-last-child(-n+3){grid-template-columns:minmax(115px,.8fr) minmax(0,1.2fr);border-bottom:1px solid #edf3f5}.project-reference-summary-v27>div:last-child{border-bottom:0}.project-reference-form-v27{grid-template-columns:1fr}
 .project-devices-heading-v27{flex-direction:column}.project-devices-actions-v27{justify-content:flex-start;width:100%}.project-devices-actions-v27 .project-action-button{flex:1}.project-device-search-v27{align-items:stretch;flex-direction:column}.project-device-search-v27>span{padding:0}.project-device-table-scroll-v27{max-height:none}.project-device-table-v27{min-width:900px}
 .project-ops-grid-v27{grid-template-columns:1fr}.project-module-card-v27{min-height:0!important}.project-reports-v27{grid-column:auto}.project-report-grid-v27{grid-template-columns:1fr!important}.project-secondary-actions-v27{align-items:flex-start}
}


/* RC101 HOTFIX28 — Dashboard Final Polish + tydelig «Åpne prosjekt»-handling
   Visuell finpuss av HOTFIX27-dashboardet. Ingen data- eller backendendring. */
.dashboard-screen-v28{
 position:relative;
 isolation:isolate;
}
.dashboard-screen-v28::before{
 content:"";
 position:absolute;
 z-index:-1;
 top:-42px;
 right:22px;
 width:390px;
 height:190px;
 pointer-events:none;
 opacity:.52;
 background:
  radial-gradient(circle at 70% 30%,rgba(43,151,188,.10),transparent 38%),
  linear-gradient(140deg,transparent 36%,rgba(32,156,176,.045) 36% 48%,transparent 48% 61%,rgba(48,104,191,.035) 61% 70%,transparent 70%);
 filter:blur(.1px);
}
.dashboard-screen-v28 .dashboard-heading-v2{
 margin-bottom:20px;
}
.dashboard-screen-v28 .dashboard-heading-v2 h1{
 font-size:2.5rem;
 letter-spacing:-.052em;
 color:#0b2f4d;
}
.dashboard-screen-v28 .dashboard-heading-v2 p{
 color:#60778b;
}
.dashboard-screen-v28 .dashboard-kpi-grid{
 gap:15px;
 margin-bottom:20px;
}
.dashboard-screen-v28 .dashboard-kpi-card{
 min-height:118px;
 border-radius:17px;
 padding:17px 16px;
 box-shadow:0 9px 26px rgba(23,55,78,.06);
}
.dashboard-screen-v28 .dashboard-kpi-card.kpi-blue{background:linear-gradient(135deg,#ffffff 0%,#fbfdff 63%,#f3f9ff 100%)}
.dashboard-screen-v28 .dashboard-kpi-card.kpi-teal{background:linear-gradient(135deg,#ffffff 0%,#fbfffe 63%,#f2fbf9 100%)}
.dashboard-screen-v28 .dashboard-kpi-card.kpi-amber{background:linear-gradient(135deg,#fffefb 0%,#fffdf8 63%,#fff8e8 100%)}
.dashboard-screen-v28 .dashboard-kpi-card.kpi-green{background:linear-gradient(135deg,#ffffff 0%,#fbfffc 63%,#f2fbf6 100%)}
.dashboard-screen-v28 .dashboard-kpi-card.kpi-cyan{background:linear-gradient(135deg,#ffffff 0%,#fbfcff 63%,#f3f6ff 100%)}
.dashboard-screen-v28 .dashboard-kpi-icon{
 width:50px;
 height:50px;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.dashboard-screen-v28 .dashboard-kpi-copy strong{
 font-size:1.95rem;
 letter-spacing:-.035em;
}
.dashboard-screen-v28 .dashboard-main-grid{
 grid-template-columns:minmax(0,2.85fr) minmax(310px,.92fr);
 gap:18px;
}
.dashboard-screen-v28 .dashboard-panel{
 border-radius:18px;
 border-color:#d5e3e9;
 box-shadow:0 12px 30px rgba(18,55,78,.06);
 overflow:hidden;
}
.dashboard-screen-v28 .dashboard-panel::before{
 height:3px;
 background:linear-gradient(90deg,#0aaca7 0%,#0b9ca8 65%,#3a92be 100%);
}
.dashboard-screen-v28 .dashboard-panel-heading{
 padding:18px 20px 12px;
}
.dashboard-screen-v28 .dashboard-panel-heading h2{
 font-size:1.42rem!important;
 color:#0d3150;
}
.dashboard-screen-v28 .dashboard-project-list{
 margin:2px 16px 16px;
 border-radius:13px;
 border-color:#d9e6eb;
 background:#fff;
 box-shadow:0 1px 0 rgba(18,55,78,.02);
}
.dashboard-screen-v28 .dashboard-project-list-head{
 min-height:52px;
 background:linear-gradient(180deg,#f4f8fa 0%,#eef5f8 100%);
 color:#48677d;
}
.dashboard-screen-v28 .dashboard-project-list-head>span{
 border-left-color:#dfe9ee;
}
.dashboard-screen-v28 .dashboard-project-row{
 min-height:78px;
 transition:background .14s ease,box-shadow .14s ease;
}
.dashboard-screen-v28 .dashboard-project-row:hover{
 background:#fbfefe;
 box-shadow:inset 3px 0 0 #0aa8a5;
}
.dashboard-screen-v28 .dashboard-project-row>div{
 padding-top:11px;
 padding-bottom:11px;
}
.dashboard-screen-v28 .dashboard-customer-icon{
 width:32px;
 height:32px;
 flex-basis:32px;
 border-radius:9px;
 background:#e8f5fc;
}
.dashboard-screen-v28 .dashboard-project-id .project-link{
 font-weight:850;
 color:#0b456c!important;
}
.dashboard-screen-v28 .dashboard-row-open{
 position:relative;
 width:36px;
 height:36px;
 border-radius:10px;
 background:linear-gradient(180deg,#fbffff 0%,#f0fafb 100%);
 border-color:#bfe1e4;
 color:#078e99;
 font-size:1rem;
 box-shadow:0 3px 10px rgba(8,143,151,.06);
 transition:transform .14s ease,background .14s ease,box-shadow .14s ease,border-color .14s ease;
}
.dashboard-screen-v28 .dashboard-row-open:hover,
.dashboard-screen-v28 .dashboard-row-open:focus-visible{
 transform:translateX(2px);
 background:#e8f8f8;
 border-color:#8fd1d5;
 box-shadow:0 5px 14px rgba(8,143,151,.14);
 outline:none;
}
.dashboard-screen-v28 .dashboard-followup-list{
 padding:0 18px 14px;
}
.dashboard-screen-v28 .dashboard-followup-item{
 min-height:76px;
}
.dashboard-screen-v28 .dashboard-followup-item>b{
 border:1px solid #e0eef3;
 background:#f2f9fc;
 color:#1475a2;
}
.dashboard-screen-v28 .followup-icon{
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.52);
}
.dashboard-screen-v28 .dashboard-small-action{
 background:#f8fdfd;
 border-color:#b9dfe1;
 color:#087c84;
 box-shadow:0 3px 10px rgba(8,126,133,.045);
}
.dashboard-screen-v28 .dashboard-small-action:hover{
 background:#ecf9f9;
 border-color:#91cfd2;
}
@media(max-width:1350px){
 .dashboard-screen-v28 .dashboard-main-grid{grid-template-columns:minmax(0,1fr) minmax(300px,340px)}
}
@media(max-width:1120px){
 .dashboard-screen-v28 .dashboard-main-grid{grid-template-columns:1fr}
}

/* RC101 HOTFIX29 — Prosjektrapport visual redesign */
.project-report-v29{max-width:1050px;padding:34px 38px 26px;border-radius:8px;color:#0b2b46;background:#fff}
.pr29-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:34px}
.pr29-brand-left{display:flex;align-items:center;gap:14px}.pr29-brand-mark{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#0c9ea0,#087f91);color:#fff;font-size:1.5rem;font-weight:900;box-shadow:0 8px 18px rgba(0,145,150,.16)}
.pr29-brand-left>div{display:grid}.pr29-brand-left strong{font-size:1.55rem;letter-spacing:.025em;color:#082746}.pr29-brand-left small{font-size:.68rem;letter-spacing:.23em;color:#71869a;font-weight:800;margin-top:1px}
.pr29-brand-right{display:grid;justify-items:end;gap:1px;color:#637a8e;font-size:.66rem;font-weight:850;letter-spacing:.18em}.pr29-brand-right:after{content:"";display:block;width:45px;height:3px;border-radius:4px;background:#0d9da1;margin-top:8px}
.pr29-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.pr29-title-row h1{font-size:2.45rem;margin:0 0 6px;color:#082746;letter-spacing:-.035em}.pr29-title-row p{margin:0;font-size:1.05rem;color:#587087}.pr29-title-row p span{padding:0 5px}.pr29-issued{display:grid;justify-items:end;gap:3px;padding-bottom:2px}.pr29-issued small{font-size:.68rem;letter-spacing:.14em;color:#7b8d9d;font-weight:800}.pr29-issued strong{font-size:.86rem;color:#5a7185}.pr29-issued:after{content:"";width:45px;height:2px;background:#0e9ba1;margin-top:7px}
.pr29-party-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:32px}.pr29-party-card{border:1px solid #cfe0e8;border-radius:11px;padding:18px 20px;background:linear-gradient(180deg,#fff,#fbfdfe);box-shadow:0 4px 14px rgba(21,58,82,.045);break-inside:avoid}.pr29-card-title{display:flex;align-items:center;gap:12px;padding-bottom:13px;border-bottom:1px solid #dce8ee;margin-bottom:13px}.pr29-round-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0aa2a1,#087f91);color:#fff;font-size:1.15rem;font-weight:900}.pr29-card-title h2{margin:0;font-size:1.18rem;color:#0b2b46}.pr29-card-title p{margin:2px 0 0;font-size:.76rem;color:#74889a}.pr29-party-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 22px;margin:0}.pr29-party-card dt{font-size:.69rem;color:#718597}.pr29-party-card dd{margin:3px 0 0;font-size:.9rem;font-weight:800;color:#0b2b46;overflow-wrap:anywhere}
.pr29-section{margin-top:28px}.pr29-section-heading{margin-bottom:13px}.pr29-section-heading h2{margin:0;color:#082746;font-size:1.45rem}.pr29-section-heading p{margin:2px 0 0;color:#70869a;font-size:.84rem}
.pr29-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.pr29-metrics>div{min-height:92px;border:1px solid #d1e2ea;border-radius:9px;padding:13px 12px;background:linear-gradient(180deg,#fff,#f8fcfd);display:grid;align-content:center;grid-template-columns:34px 1fr;column-gap:8px}.pr29-metric-icon,.pr29-sum-icon,.pr29-status-icon{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e8f8f7;color:#0c8d92;font-weight:900}.pr29-metrics small,.pr29-sums small,.pr29-status-bar small{font-size:.72rem;color:#647b8f}.pr29-metrics strong{font-size:1.45rem;line-height:1.1;color:#082746}
.pr29-empty-state{min-height:145px;border:1px solid #d1e2ea;border-radius:10px;background:linear-gradient(180deg,#fbfdfe,#f5fafc);display:grid;place-items:center;align-content:center;text-align:center;padding:22px}.pr29-empty-state>span{font-size:2.2rem;color:#8ba2b5}.pr29-empty-state strong{font-size:1.05rem;margin-top:6px}.pr29-empty-state p{margin:6px 0 0;color:#6e8496;font-size:.82rem}
.pr29-device-list{display:grid;gap:10px}.pr29-device-card{display:grid;grid-template-columns:38px minmax(170px,1.4fr) repeat(2,minmax(140px,1fr));gap:12px;align-items:center;border:1px solid #d1e2ea;border-radius:10px;padding:13px 14px;background:#fff;break-inside:avoid}.pr29-device-card.danger{border-color:#e9b6b6;background:#fffafa}.pr29-device-index{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7f8f7;color:#0b8e92;font-weight:900}.pr29-device-main small,.pr29-device-detail small{display:block;font-size:.65rem;letter-spacing:.08em;color:#7890a1;font-weight:800}.pr29-device-main h3{margin:2px 0;font-size:.94rem;color:#0a2a45}.pr29-device-main>strong{font-size:.78rem;color:#22708e}.pr29-device-detail{display:grid;gap:3px}.pr29-device-detail strong{font-size:.81rem;color:#183a54}.pr29-device-recommendation{grid-column:2/-1;padding-top:8px;border-top:1px solid #e4edf1}
.pr29-sums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pr29-sums>div{min-height:86px;border:1px solid #d1e2ea;border-radius:9px;padding:13px;background:linear-gradient(180deg,#fff,#f8fcfd);display:grid;grid-template-columns:38px 1fr;column-gap:9px;align-content:center}.pr29-sums strong{font-size:1.05rem;color:#082746}.pr29-status-bar{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:10px;background:linear-gradient(90deg,#effaf9,#f7fbfd);border:1px solid #d2e6e7;overflow:hidden}.pr29-status-bar>div{display:flex;align-items:center;gap:12px;padding:16px 22px}.pr29-status-bar>div+div{border-left:1px solid #cbe2e3}.pr29-status-bar strong{font-size:1rem;color:#082746}.pr29-footer{margin-top:28px;padding-top:14px;border-top:1px solid #cddde5;display:flex;justify-content:space-between;gap:20px;color:#6a8194;font-size:.72rem}.pr29-footer>div{display:grid}.pr29-footer strong{color:#193a54}.pr29-footer span{margin-top:2px}
@media(max-width:900px){.pr29-metrics{grid-template-columns:repeat(3,1fr)}.pr29-party-grid{grid-template-columns:1fr}.pr29-device-card{grid-template-columns:38px 1fr 1fr}.pr29-device-recommendation{grid-column:2/-1}.pr29-sums{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.project-report-v29{padding:22px 18px}.pr29-title-row,.pr29-brand{align-items:flex-start;flex-direction:column}.pr29-brand-right,.pr29-issued{justify-items:start}.pr29-party-card dl{grid-template-columns:1fr}.pr29-metrics,.pr29-sums,.pr29-status-bar{grid-template-columns:1fr}.pr29-status-bar>div+div{border-left:0;border-top:1px solid #cbe2e3}.pr29-device-card{grid-template-columns:38px 1fr}.pr29-device-detail,.pr29-device-recommendation{grid-column:2}.pr29-footer{flex-direction:column}}
@media print{.project-report-v29{max-width:none!important;width:auto!important;padding:10mm 8mm 8mm!important;border:0!important;box-shadow:none!important}.pr29-brand{margin-bottom:8mm}.pr29-party-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4mm}.pr29-party-card,.pr29-metrics>div,.pr29-sums>div,.pr29-empty-state,.pr29-device-card,.pr29-status-bar{box-shadow:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.pr29-metrics{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:2mm}.pr29-metrics>div{min-height:22mm;padding:3mm}.pr29-sums{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:2mm}.pr29-status-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pr29-section{margin-top:7mm}.pr29-device-card{page-break-inside:avoid;break-inside:avoid}.pr29-footer{margin-top:7mm}.pr29-title-row h1{font-size:26pt}.pr29-brand-right{display:grid!important}}

/* RC101 HOTFIX31 — Sluttkunderapport redesign + final summary/follow-up */
.customer-report-v3{max-width:1120px;margin:0 auto 34px;padding:34px 38px 28px;background:#fff;border:1px solid #d8e5ec;border-radius:16px;box-shadow:0 12px 34px rgba(28,63,87,.08)}
.customer-report-brand{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:14px;border-bottom:2px solid #10a2a3}
.customer-report-brand-name{display:grid;gap:2px}.customer-report-brand-name strong{font-size:1.42rem;letter-spacing:.01em;color:#12364f}.customer-report-brand-name small,.customer-report-type span{font-size:.64rem;font-weight:900;letter-spacing:.14em;color:#6f8595}.customer-report-type{display:grid;justify-items:end;gap:4px}.customer-report-type small{font-weight:800;color:#2e5b73}
.customer-report-title{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;padding:22px 0 18px}.customer-report-title h1{margin:4px 0 4px;font-size:2rem;line-height:1.06;color:#15364f}.customer-report-title p{margin:0;color:#62798b;font-size:.96rem}.customer-report-generated{display:grid;justify-items:end;gap:3px;padding-bottom:4px}.customer-report-generated small{font-size:.64rem;font-weight:850;letter-spacing:.12em;color:#758b9a}.customer-report-generated strong{color:#204d67}
.customer-party-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 24px}.customer-party-card{padding:18px 20px;border:1.5px solid #cfe0e9;border-radius:14px;background:linear-gradient(145deg,#ffffff,#f8fcfe);break-inside:avoid;page-break-inside:avoid}.customer-party-card-endcustomer{border-color:#bce5dc;background:linear-gradient(145deg,#ffffff,#f7fdfa)}
.customer-party-heading{display:flex;align-items:center;gap:12px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid #dce8ee}.customer-party-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0b8db9,#0aa6a1);color:#fff;font-weight:900;box-shadow:0 4px 11px rgba(0,140,160,.16)}.customer-party-card-endcustomer .customer-party-icon{background:linear-gradient(135deg,#0b9b86,#22b99e)}.customer-party-heading h2{margin:0;font-size:1.12rem}.customer-party-heading small{color:#728797;font-size:.76rem}.customer-party-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 22px;margin:0}.customer-party-details dt{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#7b8e9c;font-weight:850}.customer-party-details dd{margin:3px 0 0;font-weight:800;color:#1d415a;overflow-wrap:anywhere}
.customer-report-section{margin:22px 0;padding:0;break-inside:avoid}.customer-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:13px}.customer-section-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#e5f7f6;color:#078c94;font-weight:900;font-size:1.05rem}.customer-section-heading h2{margin:0;font-size:1.28rem;color:#173b54}.customer-section-heading p{margin:2px 0 0;color:#718595;font-size:.82rem}
.customer-device-list{display:grid;gap:11px}.customer-device-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:center;padding:14px 16px;border:1px solid #d5e3eb;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(25,63,86,.035);break-inside:avoid;page-break-inside:avoid}.customer-device-primary{display:grid;grid-template-columns:34px 44px minmax(0,1fr);gap:12px;align-items:center}.customer-device-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#0b9da0;color:#fff;font-weight:900}.customer-device-symbol{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#edf7fb;color:#17648b;font-size:1.3rem}.customer-device-name{display:grid;gap:2px}.customer-device-name>strong{font-size:.98rem;color:#173d57}.customer-device-name>small{color:#31617d;font-weight:750}.customer-device-name>span,.customer-device-result>span{margin-top:4px;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#7a8e9d;font-weight:850}.customer-device-name>b,.customer-device-result>b{color:#203f55;font-size:.84rem}.customer-device-result{display:grid;gap:4px;justify-items:start}.customer-status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:.78rem!important;font-weight:850!important;background:#eef3f6;color:#516879!important}.customer-status-pill.status-ok{background:#e4f7ef;color:#087b5c!important}.customer-status-pill.status-danger{background:#ffeded;color:#a52727!important}.customer-status-pill.status-wait{background:#fff3d9;color:#966600!important}.customer-status-pill.status-warning{background:#fff0dd;color:#a45a12!important}.customer-status-pill.status-info{background:#e8f3ff;color:#2868a7!important}.customer-status-pill.status-neutral{background:#edf2f5;color:#5d6f7c!important}.customer-device-row-danger{border-color:#e9bbbb;background:#fffafa}.customer-device-danger-message{grid-column:1/-1;padding:9px 12px;border:1px solid #d76868;border-radius:8px;background:#fff0f0;color:#9a2020;font-weight:900;text-align:center;letter-spacing:.04em}
.customer-empty-state{display:grid;justify-items:center;gap:6px;padding:34px 20px;border:1px dashed #c7d9e4;border-radius:12px;background:#fbfdfe;color:#728898}.customer-empty-state>span{font-size:2rem;color:#9bb3c3}.customer-empty-state strong{color:#264f68}.customer-empty-state p{margin:0}
.customer-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.customer-summary-grid>div{padding:13px 12px;border:1px solid #d9e6ed;border-radius:11px;background:linear-gradient(180deg,#fff,#f8fcfd);display:grid;gap:5px}.customer-summary-grid span{font-size:.66rem;line-height:1.25;color:#6e8392;font-weight:750}.customer-summary-grid strong{font-size:1.3rem;color:#173e57}.customer-summary-danger{border-color:#e6b6b6!important;background:#fff8f8!important}.customer-summary-danger strong{color:#a32b2b!important}
.customer-followup-section{padding:16px 18px;border:1px solid #d7e6ed;border-radius:13px;background:#f9fcfd}.customer-followup-empty{padding:11px 13px;border-radius:8px;background:#fff;color:#62798b}.customer-followup-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.customer-followup-list li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;padding:10px 12px;border-radius:8px;background:#fff;border:1px solid #e1e9ee}.customer-followup-list li strong{color:#17617f}.customer-followup-list li span{color:#3c586a}.customer-followup-list li.danger{border-color:#e5b0b0;background:#fff8f8}.customer-followup-list li.danger strong,.customer-followup-list li.danger span{color:#982b2b}.customer-critical-warning{display:grid;gap:3px;margin-top:10px;padding:12px 14px;border:1.5px solid #d55e5e;border-radius:9px;background:#fff0f0;color:#922323}.customer-critical-warning strong{font-size:1rem;letter-spacing:.05em}
.customer-report-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:24px 0 10px;border:1px solid #d6e5ec;border-radius:12px;overflow:hidden;background:#d6e5ec}.customer-report-info>div{padding:13px 15px;background:#f5fbfb;display:grid;gap:3px}.customer-report-info span{font-size:.64rem;letter-spacing:.07em;text-transform:uppercase;color:#728797;font-weight:850}.customer-report-info strong{color:#173e56}.customer-report-note{margin:10px 0 18px;padding:10px 12px;border-radius:8px;background:#f4f8fa;color:#607789;font-size:.79rem}.customer-report-footer{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding-top:13px;border-top:1px solid #cbdce5;color:#637a8a}.customer-report-footer>div{display:grid;gap:2px}.customer-report-footer>div:last-child{justify-items:end}.customer-report-footer strong{color:#264c64}.customer-report-footer span{font-size:.72rem}
@media(max-width:900px){.customer-report-v3{padding:24px 20px}.customer-party-grid{grid-template-columns:1fr}.customer-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-device-row{grid-template-columns:1fr}.customer-report-info{grid-template-columns:1fr}.customer-followup-list li{grid-template-columns:1fr}.customer-report-title{align-items:flex-start;flex-direction:column}.customer-report-generated{justify-items:start}.customer-report-footer{align-items:flex-start;flex-direction:column}.customer-report-footer>div:last-child{justify-items:start}}
@media(max-width:560px){.customer-party-details{grid-template-columns:1fr}.customer-summary-grid{grid-template-columns:1fr}.customer-device-primary{grid-template-columns:34px minmax(0,1fr)}.customer-device-symbol{display:none}}
@media print{
 .customer-report-v3{max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
 .customer-report-brand{padding-bottom:10px!important}.customer-report-title{padding:14px 0 12px!important}.customer-report-title h1{font-size:20pt!important}
 .customer-party-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-bottom:15px!important}.customer-party-card{padding:13px 14px!important;background:#fff!important;box-shadow:none!important;border:1px solid #b8cbd6!important}.customer-party-details{gap:8px 12px!important}
 .customer-report-section{margin:14px 0!important}.customer-section-heading{margin-bottom:8px!important}.customer-section-mark{background:#eef8f8!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.customer-device-list{gap:7px!important}.customer-device-row{padding:10px 12px!important;box-shadow:none!important;border:1px solid #bcced8!important}.customer-device-number{background:#0b9699!important;color:#fff!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.customer-status-pill{print-color-adjust:exact;-webkit-print-color-adjust:exact}.customer-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important}.customer-summary-grid>div{padding:8px!important;background:#fff!important}.customer-followup-section{padding:12px 13px!important;background:#fff!important}.customer-report-info{margin-top:14px!important}.customer-report-note{background:#fff!important;border:1px solid #d8e3e9!important}.customer-report-footer{margin-top:10px!important}
}

/* RC101 HOTFIX31 — merge Økonomi and Oppdragsrapport/Fakturagrunnlag into one project entry point */
.project-finance-basis-card-v31{border-top:2px solid #0a9fa3!important;background:linear-gradient(180deg,#fff,#f7fcfc)!important}
.project-finance-actions-v31{display:flex;flex-wrap:wrap;gap:8px}
.project-final-report-v31{grid-column:span 2}
.project-report-grid-single-v31{grid-template-columns:1fr!important}
.project-report-grid-single-v31 .project-report-action-v27{min-height:66px!important}
@media(max-width:1100px){.project-final-report-v31{grid-column:span 2}}
@media(max-width:720px){.project-final-report-v31{grid-column:auto}.project-finance-actions-v31{align-items:stretch}.project-finance-actions-v31 .project-action-button{width:100%;justify-content:center}}
