:root{--ui-radius:8px}
@font-face{font-family:Public Sans;src:url('fonts/public-sans-latin-300-normal.woff2') format('woff2');font-weight:300;font-display:swap}@font-face{font-family:Public Sans;src:url('fonts/public-sans-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Public Sans;src:url('fonts/public-sans-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Public Sans;src:url('fonts/public-sans-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
:root{font-family:'Public Sans',Helvetica,Arial,sans-serif;font-size:16px;color:#333;background:#f5f5f3;--ink:#333;--muted:#70706c;--line:#deded9;--paper:#fff;--accent:#595955}*{box-sizing:border-box}body{margin:0}a{color:var(--ink);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.button{background:var(--ink);color:white;border:1px solid var(--ink);border-radius:var(--ui-radius);min-height:44px;padding:11px 18px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:14px;font-weight:400;letter-spacing:.15px;transition:background .15s}button:hover,.button:hover{background:#555}.button.secondary,button.secondary{background:white;color:var(--ink);border-color:#c8c8c3}.button.secondary:hover{background:#efefeb}button:disabled{opacity:.5;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #9f998c;outline-offset:3px}.topbar{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line);min-height:88px;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;display:flex;align-items:center;gap:28px}.wordmark{display:flex;flex-direction:column;align-items:center;color:#333;line-height:1.08}.wordmark strong{font-size:30px;letter-spacing:4px;font-weight:300}.wordmark span{font-size:10px;letter-spacing:4.3px;padding-left:3px;margin-top:4px}.brand-divider{height:34px;width:1px;background:#d5d5d0}.brand-context{font-size:12px;letter-spacing:1.7px;text-transform:uppercase;color:#73736d}.topbar-account{display:flex;align-items:center;gap:14px;text-decoration:none}.account-text{display:flex;flex-direction:column;gap:5px;text-align:right}.account-text strong{font-size:14px;font-weight:500}.account-text small{font-size:12px;color:var(--muted)}.avatar{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#e9e9e3;color:#555;font-weight:500;flex-shrink:0;object-fit:cover;border:1px solid #dbdbd3}.menu-toggle{display:none;background:white;color:#333;border-color:var(--line);padding:8px 12px}.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 88px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;gap:24px;position:sticky;top:88px;height:calc(100vh - 88px);overflow:auto}.nav-label{font-size:12px;letter-spacing:1.5px;color:#85857e;text-transform:uppercase;margin:0 12px 12px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-link{display:flex;align-items:center;gap:12px;min-height:46px;padding:11px 12px;text-decoration:none;color:#65655f;font-size:14px;border-left:2px solid transparent;border-radius:var(--ui-radius)}.nav-link:hover{background:#f5f5f1;color:#333}.nav-link.active{background:#eeeeea;color:#222;border-left-color:#333;font-weight:500}.nav-link svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.nav-count{margin-left:auto;min-width:22px;text-align:center;border-radius:var(--ui-radius);padding:2px 5px;background:#333;color:white;font-size:12px}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:20px 12px 0}.sidebar-bottom small{font-size:12px;color:#878780;display:block;margin-bottom:14px}.logout{padding:9px 0;background:none;border:0;color:#6d6d67;font-size:14px;justify-content:flex-start}.logout:hover{background:none;color:#222}.content{padding:36px 40px 65px;min-width:0;max-width:1800px;width:100%;margin:0 auto}.anonymous .app-shell{grid-template-columns:1fr}.anonymous .content{max-width:1250px}.eyebrow{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#77776f;margin-bottom:12px}h1{font-weight:300;font-size:34px;letter-spacing:-.8px;margin:0 0 26px;line-height:1.3}h2{font-size:19px;font-weight:500;letter-spacing:-.2px;margin:0 0 19px}h3{font-size:16px;font-weight:500;margin:22px 0 12px}.panel{background:white;border:1px solid var(--line);border-radius:var(--ui-radius);padding:26px;margin-bottom:22px;box-shadow:0 1px 2px #00000003}.top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:25px;flex-wrap:wrap}.top h1{margin:0}.columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:24px}.formpanel{max-width:850px}.formpanel h1{font-size:29px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}label{font-weight:500;font-size:14px}input,select,textarea{border:1px solid #cfcfc8;background:#fff;border-radius:var(--ui-radius);padding:12px;color:#333;max-width:100%;width:100%;font-size:16px}input[type=checkbox]{width:18px;height:18px;accent-color:#444;vertical-align:middle}input[type=file]{padding:10px;font-size:14px;background:#fafaf8}textarea{resize:vertical}select[multiple]{min-height:125px}form p{margin:0 0 20px}form p label{display:block;margin-bottom:8px}.helptext{display:block;font-size:13px;line-height:1.5;color:#77776f;margin-top:7px}.errorlist,.error{color:#a33e36;font-size:14px}.errorlist{padding-left:20px}.notice{padding:15px 18px;background:#eeeee8;border:1px solid #d9d9d0;border-radius:var(--ui-radius);margin-bottom:20px;font-size:14px}.muted,small{color:#75756f}p{line-height:1.7}.badge{display:inline-block;padding:6px 9px;border:1px solid #d5d5cc;background:#f3f3ed;color:#595950;font-size:13px;border-radius:var(--ui-radius);white-space:nowrap}.badge[data-status=review],.badge[data-status=quality]{background:#f5f0e5;border-color:#e5d9c1;color:#756042}.badge[data-status=closed]{background:#edf2eb;border-color:#d3dfce;color:#52654c}.badge[data-status=active]{background:#ebeff1;border-color:#d1dade;color:#465f69}.filters{display:flex;align-items:end;gap:13px;flex-wrap:wrap;margin-bottom:23px}.filters label{display:block;margin-bottom:6px}.filters select{min-width:180px;font-size:14px}.filters button{height:44px}.scroll{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:16px 13px;border-bottom:1px solid #e8e8e2;font-size:14px;vertical-align:middle}th{font-weight:500;font-size:12px;letter-spacing:.75px;text-transform:uppercase;color:#85857d;background:#fafaf7}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafaf8}td a{font-weight:500}td small{font-size:12px}.table-panel{padding:0}.table-panel table{min-width:650px}.note{background:#f6f6f2;padding:18px;border-left:2px solid #d6d6cd;border-radius:var(--ui-radius);margin:13px 0;white-space:pre-wrap;font-size:14px}.note small{display:block;margin-bottom:8px;font-size:12px}.file{padding:17px 0;border-bottom:1px solid #e8e8e2;font-size:14px}.file form{display:inline}.file button{font-size:12px;min-height:36px;padding:8px 11px;background:white;color:#777;border-color:#d8d8d0}.file small{font-size:12px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.weekday{text-align:center;font-size:13px;font-weight:500;padding:14px;background:#f0f0ea;color:#66665f}.day{min-height:150px;padding:12px;background:white;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.day strong{font-weight:400;font-size:14px}.day.outside{background:#f4f4ef;color:#a2a297}.event{display:block;margin-top:10px;padding:9px;background:#edeee7;border-left:2px solid #a7aa9b;border-radius:var(--ui-radius);overflow-wrap:anywhere;font-size:12px;text-decoration:none;line-height:1.5}.login{max-width:480px;margin:50px auto 0;padding:36px}.login h1{margin-bottom:12px}.login p{color:#74746c;font-size:14px}.login button{width:100%;margin-top:8px}.inline{display:inline}.checks label{display:block;padding:10px 0;line-height:1.6}.contact a{margin-right:8px}.profile-grid{display:grid;grid-template-columns:290px minmax(0,760px);gap:24px;align-items:start}.profile-summary{text-align:center;padding:32px 22px}.profile-avatar{width:128px;height:128px;border-radius:50%;object-fit:cover;margin:0 auto 22px;background:#e7e7df;border:1px solid #d3d3c9;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:300;color:#6f6f65}.profile-summary h2{margin-bottom:8px;font-weight:400}.profile-summary .role-label{font-size:13px;color:#85857c;line-height:1.5}.profile-summary dl{text-align:left;border-top:1px solid #e5e5dc;padding-top:20px;margin-top:23px}.profile-summary dt{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:#93938a;margin-top:16px}.profile-summary dd{font-size:14px;line-height:1.7;margin:6px 0;overflow-wrap:anywhere}.form-section{margin:0 0 27px;border-bottom:1px solid #e9e9e1;padding-bottom:7px}.form-section:last-of-type{border-bottom:0}.form-section-title{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#939389;margin-bottom:20px}.profile-form .fields-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.profile-form .fields-two p{margin-bottom:20px}.photo-controls{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.photo-controls label{display:flex;align-items:center;gap:9px;font-weight:400;font-size:14px}.photo-preview{width:80px;height:80px;object-fit:cover;border:1px solid #d9d9d0;border-radius:50%}.profile-form .form-actions{display:flex;justify-content:flex-end;border-top:1px solid #e5e5dc;padding-top:24px}.directory-person{display:flex;gap:12px;align-items:center}.directory-person .avatar{width:34px;height:34px;font-size:13px}hr{border:0;border-top:1px solid #e5e5dd;margin:23px 0}details{font-size:14px;padding:16px 0}summary{cursor:pointer;color:#6c6c61}.page-description{font-size:14px;color:#85857b;margin:-10px 0 25px}
@media(min-width:1550px){.content{padding:42px 54px}}@media(max-width:1150px){.topbar{padding:16px 24px}.app-shell{grid-template-columns:205px minmax(0,1fr)}.content{padding:30px 26px 55px}.sidebar{padding:26px 12px}.columns{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr)}.profile-grid{grid-template-columns:240px minmax(0,1fr)}.profile-form .fields-two{grid-template-columns:1fr;gap:0}}@media(max-width:900px){.columns{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}.profile-summary{display:grid;grid-template-columns:100px 1fr;align-items:center;text-align:left;padding:24px;gap:20px}.profile-summary .profile-avatar{width:92px;height:92px;margin:0}.profile-summary dl{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:15px 0 0}.profile-summary dt{margin-top:0}.profile-summary dd{margin-bottom:0}.calendar{min-width:740px}.day{min-height:130px}}@media(max-width:700px){.topbar{padding:16px 18px;min-height:78px;gap:12px}.wordmark strong{font-size:25px}.wordmark span{font-size:9px;letter-spacing:3.5px}.brand-context,.brand-divider,.account-text{display:none}.topbar-account{gap:0;margin-left:auto}.topbar .avatar{width:36px;height:36px}.menu-toggle{display:flex}.app-shell{display:block;min-height:calc(100vh - 78px)}.sidebar{display:none;position:fixed;top:78px;left:0;bottom:0;width:min(310px,85vw);height:auto;z-index:19;box-shadow:12px 0 35px #00000018}.sidebar.open{display:flex}.content{padding:26px 18px 50px}.top{align-items:flex-start;margin-bottom:24px}.top h1{font-size:28px}.panel{padding:21px;margin-bottom:18px}.table-panel{padding:0}.top .row{gap:8px}.top .row .button{font-size:13px;padding:10px 12px}.filters{gap:10px}.filters>div{flex:1;min-width:130px}.filters select{min-width:0;width:100%}.filters button{width:100%}h1{font-size:28px}h2{font-size:18px}.profile-summary{grid-template-columns:80px 1fr;gap:17px}.profile-summary .profile-avatar{width:76px;height:76px}.profile-summary h2{font-size:18px}.profile-summary dl{grid-template-columns:1fr}.profile-form .form-actions button{width:100%}.login{margin:20px auto 0;padding:26px}.anonymous .content{padding-top:25px}.columns{gap:0}th,td{padding:14px 11px}.profile-grid{gap:0}}
@media(max-width:700px){body.menu-open{overflow:hidden}}
.nav-label{color:#707068;line-height:1.3;margin-bottom:8px}.sidebar{padding-top:24px;padding-bottom:20px;gap:20px;scrollbar-width:thin;scrollbar-color:#d5d5cd transparent}.nav-link{min-height:44px;white-space:nowrap}.app-shell{grid-template-columns:250px minmax(0,1fr)}.sidebar-bottom{padding-top:16px}.page-description,.profile-summary .role-label,.profile-summary dt,.nav-label,.form-section-title{color:#707068}th{color:#6c6c65}.helptext,.muted,small{color:#6d6d65}@media(max-width:1150px){.app-shell{grid-template-columns:225px minmax(0,1fr)}}@media(max-width:700px){.app-shell{display:block}}
[hidden]{display:none!important}.photo-change{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:13px;font-weight:400;cursor:pointer;color:#555;border:1px solid #d7d7cc;padding:8px 12px;border-radius:var(--ui-radius);margin-bottom:4px}.photo-change:hover{background:#f4f4ee}.photo-change:focus-visible{outline:3px solid #9f998c;outline-offset:3px}.profile-summary .profile-avatar{margin-bottom:16px}@media(max-width:900px){.profile-summary .photo-change{margin-top:10px;font-size:12px;padding:7px 8px}.profile-summary>div:first-child{align-self:start}}
@media(max-width:700px){.role-installer .table-panel{background:none;border:0}.role-installer .table-panel table{min-width:0;display:block}.role-installer .table-panel thead{display:none}.role-installer .table-panel tbody{display:grid;gap:14px}.role-installer .table-panel tr{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#fff;border:1px solid var(--line);padding:18px;border-radius:var(--ui-radius)}.role-installer .table-panel td{border:0;padding:0}.role-installer .table-panel td:first-child{grid-column:1/-1;font-size:17px;line-height:1.6}.role-installer .table-panel td:nth-child(3){grid-column:1/-1;grid-row:3}.role-installer .table-panel td:nth-child(4){display:none}.role-installer .table-panel td[data-label]:before{content:attr(data-label);display:block;font-size:12px;color:#707068;margin-bottom:5px}.role-installer .columns>aside{grid-row:1}}
.calendar-view-switch{display:inline-flex;border:1px solid #d5d5cc;background:white;margin-bottom:14px}.calendar-view-switch a{padding:12px 22px;min-height:44px;text-decoration:none;font-size:14px}.calendar-view-switch a.selected{background:#333;color:white}@media(max-width:700px){.agenda{min-width:0!important}.agenda,.agenda tbody{display:block}.agenda thead{display:none}.agenda tr{display:grid;grid-template-columns:1fr 1fr;padding:18px;gap:14px;border-bottom:1px solid var(--line)}.agenda td{padding:0;border:0}.agenda td:nth-child(1),.agenda td:nth-child(2){grid-column:1/-1}.agenda td[data-label]:before{content:attr(data-label);display:block;font-size:12px;color:#707068;margin-bottom:5px}}
@media(max-width:700px){.case-overview{background:none;border:0;overflow:visible}.case-overview table{min-width:0;display:block;width:100%}.case-overview thead{display:none}.case-overview tbody{display:grid;gap:14px}.case-overview tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px;background:#fff;border:1px solid var(--line);padding:18px;border-radius:var(--ui-radius)}.case-overview td{padding:0;border:0;min-width:0;overflow-wrap:anywhere}.case-overview td:first-child{grid-column:1/-1;font-size:17px;line-height:1.6}.case-overview td:first-child a{display:flex;align-items:center;min-height:44px}.case-overview td:nth-child(3){grid-column:1/-1;grid-row:3}.case-overview td:nth-child(4){grid-column:1/-1;grid-row:4}.case-overview td[data-label]:before{content:attr(data-label);display:block;font-size:12px;color:#707068;margin-bottom:5px}.case-overview .badge{white-space:normal;line-height:1.5}.top:has(+.filters)>.button{width:100%}}

.people-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0;align-items:center}.people-tabs a{padding:12px 18px;border:1px solid #ddd;border-radius:var(--ui-radius);text-decoration:none}.people-tabs a[aria-current="page"]{background:#242424;color:white;border-color:#242424}

.calendar{grid-template-columns:52px repeat(7,minmax(0,1fr))}.week-number{background:#efefea;text-align:center;padding:14px 4px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;font-weight:500}.weekday.weekend{background:#d5d5ce;color:#333}.weekday.weekend small{display:block;font-size:10px;margin-top:4px;color:#555}.day.weekend{background:#e5e5df}.day.outside.weekend{background:#dadad3;color:#75756f}

.mobile-date,.mobile-week-label{display:none}
@media(max-width:700px){
.calendar-page .top{display:block}.calendar-page .top h1{font-size:25px;overflow-wrap:anywhere;margin-bottom:18px}.calendar-page .top .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.calendar-page .top .button{width:100%;padding:11px 8px;min-height:46px}
.calendar-page .calendar-view-switch{display:flex;width:100%}.calendar-page .calendar-view-switch a{flex:1;text-align:center;min-height:46px}
.calendar-page .filters{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.calendar-page .filters>div{min-width:0}.calendar-page .filters input[type=hidden]{display:none}.calendar-page .filters select{font-size:16px;min-height:46px}
.calendar-page .calendar{display:block;min-width:0;border:1px solid var(--line);border-bottom:0}.calendar-page .weekday{display:none}.calendar-page .week-number{text-align:left;padding:12px 16px;background:#333;color:white;border-right:0;position:relative}.mobile-week-label,.mobile-date{display:inline}.calendar-page .desktop-date{display:none}.calendar-page .day{min-height:66px;padding:14px 16px;border-right:0}.calendar-page .day.outside{display:none}.calendar-page .day strong{font-weight:500;font-size:14px}.calendar-page .event{min-height:44px;font-size:14px;padding:12px;line-height:1.6}.calendar-page .event small{font-size:13px}
.calendar-page .agenda tr{grid-template-columns:minmax(0,1fr);gap:14px}.calendar-page .agenda td{grid-column:1;overflow-wrap:anywhere}.calendar-page .agenda td a{display:block;min-height:44px;padding:10px 0;font-size:16px}.calendar-page .agenda .badge{white-space:normal}.calendar-page .muted{font-size:13px}
}

.contact-icon-button{min-width:76px;min-height:48px}.contact-icon-button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:#fff}

button,.button,.calendar-view-switch,.calendar-view-switch a,.people-tabs a{border-radius:var(--ui-radius)}.calendar-view-switch{overflow:hidden}

/* Statusfarver: mærker og kalenderkort */
.badge[data-status=draft]{background:#ececea;color:#53534f;border-color:#ececea}.event[data-status=draft]{background:#ececea;color:#53534f;border-left-color:#8d8d85}
.badge[data-status=review]{background:#fff3cb;color:#725400;border-color:#fff3cb}.event[data-status=review]{background:#fff3cb;color:#725400;border-left-color:#c49c21}
.badge[data-status=released]{background:#e6f3f9;color:#276079;border-color:#e6f3f9}.event[data-status=released]{background:#e6f3f9;color:#276079;border-left-color:#6ba7c2}
.badge[data-status=assigned]{background:#e4edfc;color:#28569b;border-color:#e4edfc}.event[data-status=assigned]{background:#e4edfc;color:#28569b;border-left-color:#4779bf}
.badge[data-status=active]{background:#eee6f8;color:#6b4197;border-color:#eee6f8}.event[data-status=active]{background:#eee6f8;color:#6b4197;border-left-color:#9462bc}
.badge[data-status=quality]{background:#fcebd9;color:#925015;border-color:#fcebd9}.event[data-status=quality]{background:#fcebd9;color:#925015;border-left-color:#cf863f}
.badge[data-status=closed]{background:#e4f1e5;color:#386b3d;border-color:#e4f1e5}.event[data-status=closed]{background:#e4f1e5;color:#386b3d;border-left-color:#609765}
.badge[data-status=declined]{background:#fbe5e3;color:#9a3d36;border-color:#fbe5e3}.event[data-status=declined]{background:#fbe5e3;color:#9a3d36;border-left-color:#c9665e}
.badge + .badge{margin-left:6px}.event small{color:inherit}

.case-person{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.case-person:last-child{border-bottom:0}.case-person .avatar{width:60px;height:60px}.case-person-info{min-width:0;overflow-wrap:anywhere;line-height:1.7;font-size:14px}.case-person-info strong{display:block;font-size:16px;font-weight:500}.case-person-info .row{margin-top:10px}.remove-avatar{display:flex;gap:8px;align-items:center;justify-content:center;font-size:14px}

button.photo-change{background:transparent;color:#555;border-color:#d7d7cc;border-radius:var(--ui-radius)}button.photo-change:hover{background:#f4f4ee;color:#555}

.quality-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}.quality-progress>div{padding:14px;background:#f1f1ed;border-radius:var(--ui-radius);border:1px solid var(--line)}.quality-progress>div.current{background:#e4edfc;border-color:#4779bf}.quality-progress strong,.quality-progress span{display:block;font-size:14px}.quality-progress span{margin-top:7px;line-height:1.5}@media(max-width:700px){.quality-progress{grid-template-columns:1fr}.quality-panel button{width:100%}}

.case-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}.gallery-photo{min-width:0;border:1px solid var(--line);border-radius:var(--ui-radius);overflow:hidden;background:#fafaf7}.gallery-image{display:block;background:#eeeee8}.gallery-image img{display:block;width:100%;height:130px;object-fit:contain}.gallery-caption{padding:12px;font-size:13px;overflow-wrap:anywhere}.gallery-caption small{display:block;margin:8px 0;font-size:12px;line-height:1.5}.gallery-caption .row{gap:8px}.gallery-caption button{font-size:12px;padding:7px 9px;min-height:36px}@media(max-width:1100px){.case-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:400px){.gallery-image img{height:100px}.gallery-caption{padding:9px}}

.file-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}.file .file-actions form{display:block;margin:0}.file-actions .button,.file .file-actions button{min-height:44px;padding:11px 18px;font-size:14px;border-radius:var(--ui-radius);background:#fff;color:var(--ink);border:1px solid #c8c8c3}.file-actions .button:hover,.file .file-actions button:hover{background:#efefeb}.file>small{display:block;margin-top:9px;line-height:1.6}

.price-summary>div{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:9px 0;font-size:14px}.price-summary span{color:var(--muted)}.price-summary strong{font-weight:500;text-align:right}.price-summary .price-total{border-top:1px solid var(--line);margin-top:8px;padding-top:16px}.price-total strong{font-size:18px}.hours-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 26px}.hours-summary>div{padding:14px;background:#f6f6f3;border:1px solid var(--line);border-radius:var(--ui-radius)}.hours-summary span{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}.hours-summary strong{font-size:22px;font-weight:500}.hours-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hours-fields>p{min-width:0}.hours-fields label{display:block;font-size:13px;margin-bottom:7px}.hours-fields input{min-width:0}#hours form{margin-bottom:24px}#hours .scroll{margin-top:20px}#hours table{min-width:550px}#hours th,#hours td{font-size:12px;vertical-align:top}#hours td:last-child{overflow-wrap:anywhere}@media(max-width:650px){.hours-fields{grid-template-columns:1fr;gap:0}.hours-summary{gap:7px}.hours-summary>div{padding:10px}.hours-summary span{font-size:11px;min-height:28px}.hours-summary strong{font-size:19px}.price-summary>div{gap:10px}}

.case-layout>div,.case-layout>aside{min-width:0}.case-layout .scroll{max-width:100%;overflow-x:auto}

.extra-hours{color:#b42318!important;font-weight:500}

.weekly-controls input[type=week]{min-width:0;width:100%}@media(max-width:650px){.weekly-controls>div{flex-basis:100%;width:100%}}

.agreement-field{margin-bottom:20px}.agreement-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-bottom:8px}.agreement-heading>label{margin:0}.agreement-heading .agreement-toggle{display:inline-flex;align-items:center;gap:7px;cursor:pointer}.agreement-toggle input[type=checkbox]{margin:0;flex-shrink:0}

.case-folders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.case-folder{padding:0;border:1px solid var(--line);border-radius:var(--ui-radius);min-width:0;background:#fff}.case-folder>summary{list-style:none;display:grid;grid-template-columns:32px minmax(0,1fr);gap:3px 10px;padding:18px;color:var(--ink)}.case-folder>summary::-webkit-details-marker{display:none}.case-folder>summary:hover{background:#f5f5f1;border-radius:var(--ui-radius)}.case-folder>summary>span:last-child{grid-column:2;color:var(--muted);font-size:13px}.folder-icon{grid-row:1/3;font-size:30px;line-height:1.3}.case-folder[open]{grid-column:1/-1}.case-folder>.file,.case-folder>.muted,.case-folder>.photo-subfolder{margin:0 18px}.case-folder>.file:last-child{border:0}.case-folder .file strong{overflow-wrap:anywhere}.photo-subfolder .case-gallery{margin-top:12px}.case-folder .row{flex-wrap:wrap}#case-file-upload{margin-top:16px}@media(max-width:600px){.case-folders{grid-template-columns:1fr}}

.folder-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}

.quality-checklist-title{font-size:14px;margin:20px 0 10px}.quality-checklist label,.quality-readonly label{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.5;padding:7px 0;margin:0;font-weight:400}.quality-checklist input[type=checkbox],.quality-readonly input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin:1px 0 0;accent-color:var(--ink)}.quality-checklist-actions{margin-top:14px;flex-wrap:wrap}.quality-checklist .helptext{font-size:12px;margin-bottom:0}.quality-readonly input:disabled{opacity:1}

.case-folder-browser{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}.case-folder-card{display:flex;align-items:flex-start;gap:14px;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--ui-radius);text-decoration:none;min-width:0}.case-folder-card:hover{border-color:#888;background:#fafaf8}.case-folder-card>div{min-width:0;overflow-wrap:anywhere}.case-folder-card h2{font-size:18px;line-height:1.4;margin:7px 0}.case-folder-card p{font-size:14px;margin:0 0 12px}.folder-card-action{display:block;margin-top:16px;font-size:13px;text-decoration:underline}.folder-pagination{margin-top:24px;flex-wrap:wrap}

/* Unified people directory */
.people-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:30px}.people-heading h1{margin:0 0 10px;font-size:30px}.eyebrow{font-size:11px;letter-spacing:1.7px;text-transform:uppercase;color:#777;margin:0 0 12px}.muted{color:#777}.people-heading p:last-child{margin-bottom:0}.people-create{position:relative;flex-shrink:0}.people-create summary{list-style:none;cursor:pointer;display:flex;gap:28px;align-items:center}.people-create summary::-webkit-details-marker{display:none}.people-create-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:5;width:220px;padding:8px;background:white;border:1px solid #ddd;border-radius:var(--ui-radius);box-shadow:0 8px 24px #0001}.people-create-menu a{display:block;padding:12px;text-decoration:none;border-radius:var(--ui-radius)}.people-create-menu a:hover{background:#f3f3f0}.people-overview{padding:0;overflow:visible}.people-filters{display:flex;align-items:end;flex-wrap:wrap;gap:16px;padding:24px;border-bottom:1px solid #e7e7e3}.people-filters>div:first-child{flex:1;min-width:220px}.people-filters input,.people-filters select{width:100%;margin:0;height:44px}.people-filters label{display:block;margin-bottom:8px;font-size:13px}.people-filters button{height:44px}.people-filters>a{margin-bottom:12px}.people-count{display:flex;gap:16px;padding:22px 24px 12px;font-size:13px}.people-table{width:100%;margin:0}.people-table th{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#777;background:#fafaf8}.people-table td,.people-table th{padding:20px 24px;vertical-align:top}.people-table td small{display:block;font-size:12px;color:#777;margin-top:6px;line-height:1.5}.people-table td>a{font-size:13px;overflow-wrap:anywhere}.people-table td strong{font-weight:500}.people-departments{display:flex;flex-wrap:wrap;gap:6px;max-width:240px}.people-departments span,.people-status{display:inline-block;padding:5px 9px;border-radius:var(--ui-radius);background:#f1f1ee;font-size:12px;white-space:nowrap}.people-status.enabled{background:#edf2ec;color:#3c583c}.people-actions{min-width:120px}.people-actions summary{cursor:pointer;font-size:13px;white-space:nowrap}.people-actions>div{display:grid;gap:12px;padding-top:16px;font-size:13px}.people-actions a{white-space:nowrap}.people-empty{text-align:center;padding:36px;color:#777}.people-pagination{display:flex;justify-content:center;gap:24px;padding:24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:750px){.people-heading{align-items:start;gap:12px}.people-heading h1{font-size:25px}.people-heading .muted{font-size:13px}.people-create summary{gap:10px;padding:12px}.people-filters{padding:18px;gap:12px}.people-filters>div{flex:1;min-width:150px}.people-count{padding:20px 18px 10px;flex-wrap:wrap;gap:8px}.people-table td,.people-table th{padding:16px}.people-overview{min-width:0}.people-overview>.scroll{max-width:100%;overflow-x:auto}.people-pagination{font-size:13px;gap:16px}}

.people-overview>.scroll{position:relative}.people-actions summary:focus-visible,.people-create summary:focus-visible{outline:3px solid #9f998c;outline-offset:3px}
@media(max-width:700px){.people-table,.people-table tbody{display:block;min-width:0!important}.people-table thead{display:none}.people-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:22px 18px;border-top:1px solid var(--line)}.people-table td{padding:0;border:0;min-width:0;overflow-wrap:anywhere}.people-table td:first-child{grid-column:1/-1;font-size:16px}.people-table td[data-label]:not(:first-child):before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:#777;margin-bottom:8px}.people-table td:last-child{align-self:center}.people-table .people-actions{min-width:0}.people-actions a{white-space:normal}.people-table td small{overflow-wrap:anywhere}.people-empty{text-align:left;padding:12px}.people-table tr:has(.people-empty){grid-template-columns:1fr}}

/* Compact mailbox */
.mailbox{padding:0;min-width:0}.mailbox-toolbar{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.mailbox-search{display:flex;align-items:center;gap:10px;flex:1;max-width:620px}.mailbox-search input{margin:0;min-width:0;width:100%;height:44px}.mailbox-search button{flex-shrink:0}.mailbox-toolbar form{margin:0}.mailbox-meta{display:flex;justify-content:space-between;gap:16px;padding:14px 24px;background:#fafaf8;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.message-row{border-top:1px solid var(--line);min-width:0;padding:0}.message-row>summary{display:grid;grid-template-columns:8px minmax(110px,170px) minmax(0,1fr) 115px 14px;gap:16px;align-items:center;padding:16px 24px;cursor:pointer;list-style:none;min-height:72px;color:var(--ink)}.message-row>summary::-webkit-details-marker{display:none}.message-row>summary:hover{background:#fafaf8}.message-row>summary:focus-visible{outline:3px solid #9f998c;outline-offset:-3px}.message-indicator{width:7px;height:7px;border-radius:50%;background:transparent}.is-unread .message-indicator{background:#333}.is-unread .message-person,.is-unread .message-subject{font-weight:600}.message-person{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-overview{display:grid;gap:7px;min-width:0}.message-subject{font-size:14px;overflow-wrap:anywhere}.message-preview{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-new{display:inline-block;font-size:10px;background:#eeeae1;padding:3px 6px;margin-left:8px;border-radius:var(--ui-radius);font-weight:500}.message-row time{font-size:11px;color:var(--muted);white-space:nowrap;text-align:right}.message-chevron{font-size:18px;color:var(--muted)}.message-row[open] .message-chevron{transform:rotate(180deg)}.message-row[open]>summary{background:#f8f8f5}.message-body{padding:8px 48px 26px;line-height:1.7;overflow-wrap:anywhere}.message-text{max-width:900px;font-size:14px}.message-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:22px}.message-actions p,.message-actions form{margin:0}.mailbox-empty{padding:45px 24px;text-align:center}.mailbox-empty h2{font-size:18px}.mailbox-empty p{color:var(--muted)}
@media(max-width:700px){.mailbox-toolbar{padding:16px;align-items:stretch}.mailbox-search{max-width:none;flex-basis:100%;flex-wrap:wrap}.mailbox-search input{flex:1;min-width:160px}.mailbox-toolbar>form:last-child button{font-size:12px}.mailbox-meta{padding:14px 16px}.message-row>summary{grid-template-columns:7px minmax(0,1fr) auto 10px;gap:10px;padding:18px 16px}.message-person{grid-column:2;grid-row:1}.message-row time{grid-column:3;grid-row:1;font-size:10px}.message-overview{grid-column:2/4;grid-row:2}.message-indicator{grid-column:1;grid-row:1}.message-chevron{grid-column:4;grid-row:1/3}.message-body{padding:6px 22px 24px}.message-actions{gap:10px}.message-actions .button,.message-actions button{font-size:12px}.mailbox .people-pagination{gap:16px;font-size:13px}}

/* Date shortcuts in the desktop calendar list. */
.calendar-list-main{min-width:0}.mini-calendar-sidebar{display:none}.calendar-selected-date{font-size:13px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.calendar-selected-date a{color:var(--muted)}.agenda tr[id],#agenda-end{scroll-margin-top:110px}.agenda tr.agenda-selected{background:#f0f0e9}
@media(min-width:1200px){.calendar-list-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px;align-items:start}.mini-calendar-sidebar{display:grid;gap:12px;position:sticky;top:108px;max-height:calc(100vh - 128px);overflow-y:auto;scrollbar-width:thin;padding-right:2px}.mini-calendar-help{font-size:12px;color:var(--muted);margin:0 0 2px}.mini-calendar{background:white;border:1px solid var(--line);border-radius:var(--ui-radius);padding:12px}.mini-calendar h2{font-size:13px;font-weight:500;margin:0 0 10px;text-transform:capitalize}.mini-month-grid{display:grid;grid-template-columns:26px repeat(7,minmax(0,1fr));gap:1px;align-items:center}.mini-month-grid>span,.mini-month-grid>a{display:flex;align-items:center;justify-content:center;min-height:22px;min-width:0;font-size:11px}.mini-week-heading,.mini-weekday{color:var(--muted);font-weight:500}.mini-week-heading{font-size:9px!important}.mini-week-number{color:#777;background:#f6f6f3;border-radius:4px}.mini-day{border:1px solid transparent;border-radius:var(--ui-radius);text-decoration:none;color:var(--ink)}.mini-day:hover{background:#eeeee8;border-color:#d8d8ce}.mini-day.outside{color:#c5c5bd}.mini-day.is-today{border-color:#898978;font-weight:600}.mini-day.is-selected{background:#333;border-color:#333;color:white}.mini-day:focus-visible{outline:2px solid #9f998c;outline-offset:1px}}
.people-actions .text-action{background:none;border:0;border-radius:0;padding:0;min-height:24px;justify-content:start;font-size:13px;color:var(--ink);text-decoration:underline;text-underline-offset:4px;letter-spacing:normal;text-align:left}.people-actions .text-action:hover{color:#666}.people-actions form{margin:0}

/* Keep the agreed installer and dates together in the case status colour. */
.case-agreement{padding:16px 18px;margin:16px 0 24px;border-radius:var(--ui-radius);border-left:4px solid;max-width:480px;box-sizing:border-box}.case-agreement h3{margin:0 0 10px;font-size:16px;color:inherit}.case-agreement p{margin:0;line-height:1.6;color:inherit}
.case-agreement[data-status=assigned]{background:#e4edfc;color:#28569b;border-left-color:#4779bf}
.case-agreement[data-status=active]{background:#eee6f8;color:#6b4197;border-left-color:#9462bc}
.case-agreement[data-status=quality]{background:#fcebd9;color:#925015;border-left-color:#cf863f}
.case-agreement[data-status=closed]{background:#e4f1e5;color:#386b3d;border-left-color:#609765}

.role-permissions label{display:block;padding:7px 10px;border-radius:var(--ui-radius)}.role-permissions .role-unsupported{color:#777;background:#f0f0ed}.role-permission-hint{display:block;font-size:12px;margin-left:26px;font-weight:normal}.role-permissions input[type=checkbox]{vertical-align:middle}

.message-contact{display:inline-flex;flex-direction:column;vertical-align:top;gap:3px}.message-role{display:block;font-size:12px;font-weight:400;color:#74746e;line-height:1.35}

.case-workflow>form+form,.case-workflow>.case-control-visit+form{margin-top:16px}

.mini-weekday.weekend{background:#d5d5ce;color:#333}.mini-day.weekend:not(.is-selected){background:#e5e5df}.mini-day.outside.weekend{background:#dadad3;color:#75756f}

/* Keep the seven-day grid fluid until the mobile layout takes over. */
@media(min-width:701px){
.content:has(>.calendar-mode-calendar){max-width:none}
.calendar-mode-calendar .calendar{width:100%;min-width:0;grid-template-columns:clamp(28px,3vw,52px) repeat(7,minmax(0,1fr))}
.calendar-mode-calendar .weekday{min-width:0;padding:12px 2px;font-size:clamp(10px,.95vw,13px);overflow-wrap:anywhere}
.calendar-mode-calendar .day{padding:clamp(4px,.7vw,12px);min-height:clamp(110px,10vw,160px)}
.calendar-mode-calendar .week-number{padding:12px 2px;font-size:clamp(10px,.95vw,13px)}
.calendar-mode-calendar .event{padding:clamp(4px,.6vw,9px);font-size:clamp(10px,.85vw,12px);min-width:0}
}

@media(min-width:701px){
.calendar-mode-calendar .calendar{height:max(300px,var(--calendar-height,600px));min-height:0;grid-template-rows:auto repeat(var(--calendar-weeks,5),minmax(0,1fr))}
.calendar-mode-calendar .day{min-height:0;overflow-y:auto;scrollbar-width:thin}
}
