:root{--normal-padding:.5rem;--half-padding:.25rem;--quarter-padding:.125rem;--double-padding:1rem}.navbar{background-color:var(--navbar-background) !important;min-height:var(--navbar-height)}.navbar #navbarSupportedContent{flex:1 1 calc(50% + 10.45rem);max-width:calc(50% + 10.45rem);gap:var(--normal-padding);margin:0}.navbar .navbar-brand{--logo-color:#fff;display:flex;flex-flow:row nowrap;align-items:center;justify-content:center;padding:0;margin:0 var(--normal-padding) 0 0}.navbar .navbar-brand>svg{margin:-.75rem}@media(min-width:0){.navbar .navbar-brand>svg{width:12rem}}@media(min-width:768px){.navbar .navbar-brand>svg{width:14rem}}@media(min-width:992px){.navbar .navbar-brand>svg{width:22rem}}.navbar .nav-main{display:flex;flex-flow:row nowrap;gap:var(--normal-padding)}.navbar .nav-main .sava-menu-dashboard,.navbar .nav-main .sava-menu-planning,.navbar .nav-main .sava-menu-retrofit{padding:var(--quarter-padding) var(--double-padding);border-radius:4px;white-space:nowrap;font-size:1.5rem;transition:border-color var(--transition-time),color var(--transition-time);-webkit-transition:border-color var(--transition-time),color var(--transition-time);cursor:default;display:flex;flex-flow:row nowrap;gap:var(--normal-padding);justify-content:space-between;align-items:center;border:1.5px solid #666;font-weight:100;color:#d3d3d3}.navbar .nav-main .sava-menu-dashboard i,.navbar .nav-main .sava-menu-planning i,.navbar .nav-main .sava-menu-retrofit i{width:1.25rem;font-size:1rem}.navbar .nav-main .sava-menu-dashboard:hover:not(.navbar .nav-main .sava-menu-dashboard.menu-disabled,.navbar .nav-main .sava-menu-planning.menu-disabled,.navbar .nav-main .sava-menu-retrofit.menu-disabled),.navbar .nav-main .sava-menu-planning:hover:not(.navbar .nav-main .sava-menu-dashboard.menu-disabled,.navbar .nav-main .sava-menu-planning.menu-disabled,.navbar .nav-main .sava-menu-retrofit.menu-disabled),.navbar .nav-main .sava-menu-retrofit:hover:not(.navbar .nav-main .sava-menu-dashboard.menu-disabled,.navbar .nav-main .sava-menu-planning.menu-disabled,.navbar .nav-main .sava-menu-retrofit.menu-disabled){color:var(--icon-button-hover);border-color:var(--icon-button-hover)}.navbar .nav-main .sava-menu-dashboard:active:not(.navbar .nav-main .sava-menu-dashboard.menu-disabled,.navbar .nav-main .sava-menu-planning.menu-disabled,.navbar .nav-main .sava-menu-retrofit.menu-disabled),.navbar .nav-main .sava-menu-planning:active:not(.navbar .nav-main .sava-menu-dashboard.menu-disabled,.navbar .nav-main .sava-menu-planning.menu-disabled,.navbar .nav-main .sava-menu-retrofit.menu-disabled),.navbar .nav-main .sava-menu-retrofit:active:not(.navbar .nav-main .sava-menu-dashboard.menu-disabled,.navbar .nav-main .sava-menu-planning.menu-disabled,.navbar .nav-main .sava-menu-retrofit.menu-disabled){color:var(--icon-button-down);border-color:var(--icon-button-down)}.navbar .nav-main .sava-menu-dashboard.menu-selected,.navbar .nav-main .sava-menu-planning.menu-selected,.navbar .nav-main .sava-menu-retrofit.menu-selected{border:1.5px solid #ffc107;font-weight:400;color:#ffc107}.navbar .nav-main .sava-menu-dashboard.menu-disabled,.navbar .nav-main .sava-menu-planning.menu-disabled,.navbar .nav-main .sava-menu-retrofit.menu-disabled{border:1.5px solid #555;color:#555;font-weight:100;opacity:.7;cursor:default}.navbar .nav-context{display:flex;align-items:end;flex-flow:row nowrap;gap:var(--normal-padding)}.navbar .nav-context .sava-search-bar{flex-wrap:nowrap;flex:1 0 auto;max-width:12rem;min-width:5rem}.sava-wide-popover{max-width:20rem}body{height:100vh;font-size:16px;display:flex;flex-flow:column nowrap;justify-content:space-between}body header{padding:0 calc(var(--half-padding) + var(--normal-padding)) !important;flex:0 0 var(--navbar-height);display:flex;flex-flow:row nowrap;justify-content:flex-start;background-color:#343a40;width:100%}body main{flex:1 1 auto}body main .login-container{width:100%;height:100%;display:flex;justify-content:center;align-items:flex-start}body main .login-container .login-box{margin-top:2rem}@media(min-width:0){body main .login-container .login-box{width:25rem}}@media(min-width:768px){body main .login-container .login-box{width:35rem}}body main .login-container .login-box{padding:calc(2*var(--double-padding));display:flex;flex-flow:column nowrap;gap:var(--double-padding);box-shadow:0 4px 10px 0 rgba(0,0,0,.2),0 4px 20px 0 rgba(0,0,0,.19)}body main .login-container .login-box .logo-container{width:100%;display:flex;justify-content:center;margin-bottom:var(--double-padding)}body main .login-container .login-box .logo-container .sava-login-logo{width:290px;height:158px;padding-left:36px}body main .login-container .login-box .instructions{color:#696969}body main .login-container .login-box form{display:contents}body main .login-container .login-box form .input-group>input{height:auto;padding:var(--normal-padding)}body main .login-container .login-box form .reset-password-actions{display:flex;flex-flow:row nowrap;gap:var(--double-padding)}body main .login-container .login-box form .reset-password-actions .cancel-action{flex:0 0 auto}body main .login-container .login-box form .reset-password-actions .submit-action{flex:1 1 auto}body main .login-container .login-box .forgotten-password{text-align:center;font-size:85%;font-weight:700;text-decoration:none;opacity:50%}body main .login-container .login-box .forgotten-password:hover{text-decoration:underline}body footer{display:flex;flex-flow:row nowrap;justify-content:flex-end;padding:var(--normal-padding);align-items:center;flex:0 0 1.5rem}body footer .copyright{margin:0;color:#444;font-size:14px}.navigator-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.75rem;margin:0;background:linear-gradient(90deg,#020617,#0f172a);border-radius:0;box-shadow:0 .5rem 1.125rem rgba(15,23,42,.35);color:#e5e7eb;width:100%}.navigator-nav{background:linear-gradient(180deg,#1e293b,#0f172a);border-top:.0625rem solid rgba(148,163,184,.2);box-shadow:0 .25rem .75rem rgba(15,23,42,.25);width:100%}.navigator-nav__container{display:flex;gap:0;padding:0 1.75rem}.navigator-nav__link{display:inline-block;padding:.85rem 1.5rem;color:#cbd5e1;text-decoration:none;font-weight:500;font-size:.9rem;letter-spacing:.03em;transition:all .2s ease;border-bottom:.1875rem solid rgba(0,0,0,0);position:relative}.navigator-nav__link:hover{color:#f1f5f9;background:hsla(0,0%,100%,.05)}.navigator-nav__link--active{color:#f9fafb;border-bottom-color:#f97316;background:hsla(0,0%,100%,.08)}.navigator-nav__link--active::before{content:"";position:absolute;top:0;left:0;right:0;height:.0625rem;background:linear-gradient(90deg,transparent,rgba(249,115,22,.4),transparent)}.navigator-header__brand{display:inline-flex;align-items:center;gap:.5rem;letter-spacing:.12em;text-transform:uppercase;font-size:.95rem;font-weight:700}.navigator-header__logo-dot{width:1.25rem;height:1.25rem;border-radius:999px;background:radial-gradient(circle at 30% 30%,#f97316,#b91c1c);box-shadow:0 0 0 .125rem rgba(248,250,252,.1),0 0 1.125rem rgba(248,113,113,.7)}.navigator-header__title{color:#f9fafb;font-size:1.35rem;letter-spacing:.18em}.navigator-header__user-menu{display:flex;align-items:center}.navigator-header__user-dropdown{position:relative}.navigator-header__user-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:rgba(0,0,0,0);border:none;color:#cbd5e1;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border-radius:.25rem}.navigator-header__user-toggle:hover{color:#f1f5f9;background:hsla(0,0%,100%,.05)}.navigator-header__user-toggle:focus{outline:none;box-shadow:0 0 0 .125rem rgba(249,115,22,.4)}.navigator-header__user-toggle i.fa-user-circle{font-size:1.25rem;color:#f9fafb}.navigator-header__user-name{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navigator-header__user-toggle i.fa-chevron-down{font-size:.7rem;transition:transform .2s ease}.navigator-header__user-toggle[aria-expanded=true] i.fa-chevron-down{transform:rotate(180deg)}.navigator-header__user-dropdown .dropdown-menu{background:#0f172a;border:.0625rem solid rgba(148,163,184,.35);border-radius:.375rem;box-shadow:0 .5rem 1rem rgba(15,23,42,.35);padding:.25rem 0;margin-top:.5rem;min-width:12rem}.navigator-header__user-dropdown .dropdown-item{color:#cbd5e1;padding:.625rem 1rem;font-size:.9rem;transition:all .15s ease;display:flex;align-items:center;gap:.5rem}.navigator-header__user-dropdown .dropdown-item:hover{background:hsla(0,0%,100%,.05);color:#f1f5f9}.navigator-header__user-dropdown .dropdown-item i{width:1rem;text-align:center}.navigator-header__logout-form{margin:0;padding:0}.navigator-header__logout-form button{width:100%;text-align:left;background:none;border:none;padding:0}.work-session-slot{margin-bottom:.5rem;min-width:fit-content;max-width:100%;width:100%;display:flex;justify-content:center;align-items:flex-start;height:auto;min-height:fit-content}.work-session-date{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#888;margin-bottom:.15rem}.work-session-card{border:.0625rem solid #c0c0c6;border-radius:.375rem;background:#fff;overflow:visible;padding-bottom:.15rem;width:100%;max-width:13.5rem;height:auto;cursor:pointer;box-sizing:border-box}.work-session-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:.6rem .75rem;border-bottom:.0625rem solid #e4e4e7;background:#fafafa;font-size:.8rem;min-height:3rem;margin-bottom:.2rem;gap:.75rem;width:100%;max-width:100%;flex-shrink:0;border-radius:.375rem .375rem 0 0}.work-session-card-header__left{display:flex;flex-direction:column;gap:.15rem;flex-shrink:0}.work-session-card-header__date{font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:#888;white-space:nowrap;flex-shrink:0;line-height:1.2}.work-session-card-header__cost{font-weight:600;font-size:.75rem;color:#1e293b;white-space:nowrap;flex-shrink:0;line-height:1.2}.work-session-card-header__right{display:flex;align-items:center;gap:.5rem;flex-shrink:0;align-self:flex-start;white-space:nowrap}.work-session-card-header__band-change{display:flex;align-items:center;gap:.25rem;white-space:nowrap}.work-session-card-header__band-box{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;font-weight:700;font-size:.65rem;color:#fff;border-radius:.125rem;line-height:1;padding:0}.work-session-card-header__band-box--A{background-color:#00815a}.work-session-card-header__band-box--B{background-color:#00ac5a}.work-session-card-header__band-box--C{background-color:#8bc240}.work-session-card-header__band-box--D{background-color:#ffca00}.work-session-card-header__band-box--E{background-color:#f9ac64}.work-session-card-header__band-box--F{background-color:#fa871d}.work-session-card-header__band-box--G{background-color:#f23038}.work-session-card-header__band-arrow{color:#888;font-size:.7rem;font-weight:500;margin:0 .125rem}.work-session-card-header__impact{font-weight:700;font-size:.85rem;white-space:nowrap;flex-shrink:0}.work-session-card-header__impact--positive{color:#059669}.work-session-card-header__impact--negative{color:#dc2626}.work-session-card-header__impact--neutral{color:#888}.work-session-card-header__cost--evaluating,.work-session-card-header__band-change--evaluating,.work-session-card-header__impact--evaluating{position:relative}.work-session-card-header__cost--evaluating .work-session-evaluating-slot,.work-session-card-header__band-change--evaluating .work-session-evaluating-slot,.work-session-card-header__impact--evaluating .work-session-evaluating-slot{opacity:0}.work-session-card-header__cost--evaluating .work-session-evaluating-skeleton,.work-session-card-header__band-change--evaluating .work-session-evaluating-skeleton,.work-session-card-header__impact--evaluating .work-session-evaluating-skeleton{position:absolute;inset:0;border-radius:.125rem;background:linear-gradient(90deg,#e4e4e7 0%,#d4d4d8 50%,#e4e4e7 100%);background-size:200% 100%;animation:work-session-skeleton-shimmer 1.2s ease-in-out infinite}@keyframes work-session-skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.work-cards{position:relative;width:100%;max-width:100%;min-height:4.2rem;padding:.2rem .25rem;padding-bottom:.25rem;overflow:visible;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}.work-card{position:relative;display:flex;flex-direction:column;width:calc(100% - .2rem);min-width:0;max-width:100%;box-sizing:border-box;min-height:4.2rem;background:#fff;border-radius:.375rem;border:.0625rem solid #cdd8e3;box-shadow:0 .125rem .25rem rgba(0,0,0,.1),0 .0625rem .125rem rgba(0,0,0,.06);padding:.65rem .75rem;font-size:.85rem;cursor:pointer;transition:box-shadow .15s ease,transform .15s ease;overflow:visible}.work-card:nth-child(1){margin-top:0;z-index:10}.work-card:nth-child(2){margin-top:-2.2rem;z-index:11}.work-card:nth-child(3){margin-top:-2.2rem;z-index:12}.work-card:nth-child(4){margin-top:-2.2rem;z-index:13}.work-card:nth-child(5){margin-top:-2.2rem;z-index:14}.work-card:nth-child(6){margin-top:-2.2rem;z-index:15}.work-card:nth-child(7){margin-top:-2.2rem;z-index:16}.work-card:nth-child(8){margin-top:-2.2rem;z-index:17}.work-card:nth-child(9){margin-top:-2.2rem;z-index:18}.work-card:nth-child(10){margin-top:-2.2rem;z-index:19}.work-card:nth-child(11){margin-top:-2.2rem;z-index:20}.work-card:nth-child(12){margin-top:-2.2rem;z-index:21}.work-card:nth-child(13){margin-top:-2.2rem;z-index:22}.work-card:nth-child(14){margin-top:-2.2rem;z-index:23}.work-card:nth-child(15){margin-top:-2.2rem;z-index:24}.work-card:nth-child(16){margin-top:-2.2rem;z-index:25}.work-card:nth-child(17){margin-top:-2.2rem;z-index:26}.work-card:nth-child(18){margin-top:-2.2rem;z-index:27}.work-card:nth-child(19){margin-top:-2.2rem;z-index:28}.work-card:nth-child(20){margin-top:-2.2rem;z-index:29}.work-card.work-card-reordering{transition:transform .4s cubic-bezier(.25,.1,.25,1);z-index:200;box-shadow:0 .125rem .25rem rgba(0,0,0,.1),0 .0625rem .125rem rgba(0,0,0,.06)}.work-card.work-card-reordering:hover{box-shadow:0 .125rem .25rem rgba(0,0,0,.1),0 .0625rem .125rem rgba(0,0,0,.06);z-index:200}.work-card.work-card-reordering:hover .work-card-reorder-controls{opacity:0;visibility:hidden}.work-card.work-card-reordering:hover .work-card-delete-controls{opacity:0;visibility:hidden}.work-card.work-card-reordering-flip{transition:none}.work-card:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.15),0 .25rem .5rem rgba(0,0,0,.1);z-index:100;opacity:1;transform:translateY(-.125rem)}.work-card:hover .work-card-reorder-controls{opacity:1;visibility:visible}.work-card:hover .work-card-delete-controls{opacity:1;visibility:visible}.work-card-reorder-controls{position:absolute;right:-.5rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.25rem;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;z-index:101}.work-card-delete-controls{position:absolute;left:-.5rem;top:50%;transform:translateY(-50%);opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;z-index:101}.work-card--evaluating .work-card-delete-controls{display:none;pointer-events:none;opacity:.4}.work-card--evaluating .work-card-delete-btn{cursor:not-allowed}.work-card-reorder-btn{width:1.25rem;height:1.25rem;border-radius:50%;background:#fff;border:.0625rem solid #d4d4d8;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 .125rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease,border-color .15s ease,transform .15s ease;padding:0;font-size:.6rem;color:#1e293b}.work-card-reorder-btn:hover{background:#fafafa;border-color:#d4d4d8;transform:scale(1.1)}.work-card-reorder-btn:active{transform:scale(.95)}.work-card-reorder-btn i{line-height:1}.work-card-delete-btn{width:1.25rem;height:1.25rem;border-radius:50%;background:#fff;border:.0625rem solid #d4d4d8;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 .125rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease,border-color .15s ease,transform .15s ease;padding:0;font-size:.6rem;color:#dc2626}.work-card-delete-btn:hover{background:#fafafa;border-color:#d4d4d8;transform:scale(1.1);color:#dc2626}.work-card-delete-btn:active{transform:scale(.95)}.work-card-delete-btn i{line-height:1}.work-card-content{display:flex;flex-direction:column;flex:1;justify-content:space-between;padding:0}.work-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;flex-shrink:0}.work-card-title{font-weight:600;color:#1e293b;line-height:1.3;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-card--capital{border-left:.25rem solid #2563eb}.work-card--capital .work-card-sap-diff{display:none}.work-card--improvement{border-left:.25rem solid #f97316}.work-card-footer{display:flex;justify-content:space-between;align-items:flex-end;flex-shrink:0;gap:.5rem}.work-card-cost{font-weight:600;font-size:.8rem;color:#1e293b;white-space:nowrap;flex-shrink:0}.work-card-sap-diff{font-size:.8rem;flex-shrink:0;white-space:nowrap;color:#888}.work-card-sap-diff__impact{font-weight:700}.work-card-sap-diff__impact--positive{color:#059669}.work-card-sap-diff__impact--negative{color:#dc2626}.work-card-sap-diff__impact--neutral{color:#888}.work-card-dragging{opacity:.6}.work-cards-drag-over{outline:.125rem solid #2563eb;outline-offset:.125rem;border-radius:.375rem}.work-card-footer--evaluating{position:relative}.work-card-footer--evaluating>*:not(.work-card-evaluating-skeleton){opacity:0}.work-card-footer--evaluating .work-card-evaluating-skeleton{position:absolute;inset:0;border-radius:.125rem;background:linear-gradient(90deg,#e4e4e7 0%,#d4d4d8 50%,#e4e4e7 100%);background-size:200% 100%;animation:work-card-skeleton-shimmer 1.2s ease-in-out infinite}@keyframes work-card-skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.work-card--error .work-card-cost{color:#888}.work-card-error-icon{color:#dc2626;font-size:1rem;line-height:1;display:inline-flex;align-items:center}.work-card-error-icon i{pointer-events:none}body.view-calendar main{display:flex;flex-direction:column;min-height:0}.calendar-container{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:1.5rem;overflow-x:hidden;margin-top:0;flex:1;display:flex;flex-direction:column;min-height:0}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.calendar-header-right{display:flex;align-items:center;gap:1rem}.calendar-targets{display:flex;align-items:center;gap:.4rem}.calendar-target-pill{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:1rem;border:.0625rem solid #d4d4d8;background:#f3f4f6}.calendar-target-toggle{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;padding:.125rem 0;cursor:pointer;font-size:.8rem;color:#888;transition:color .15s}.calendar-target-toggle__switch{display:inline-block;width:2rem;height:1.125rem;border-radius:.5625rem;background:#d4d4d8;position:relative;flex-shrink:0;transition:background .2s ease}.calendar-target-toggle__switch::after{content:"";position:absolute;top:.125rem;left:.125rem;width:.875rem;height:.875rem;border-radius:50%;background:#fff;box-shadow:0 .0625rem .125rem rgba(0,0,0,.2);transition:transform .2s ease}.calendar-target-toggle__label{font-weight:500}.calendar-target-toggle:hover{color:#1e293b}.calendar-target-toggle--active{color:#2563eb}.calendar-target-toggle--active .calendar-target-toggle__switch{background:#2563eb}.calendar-target-toggle--active .calendar-target-toggle__switch::after{transform:translateX(.875rem)}.calendar-table--target-highlight .calendar-row-cell--target-overdue:not(.calendar-row-cell--property){background-color:rgba(220,38,38,.2) !important}.calendar-table--target-highlight .calendar-row-cell--target-met:not(.calendar-row-cell--property){background-color:rgba(22,163,74,.2) !important}@keyframes target-icon-in{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.calendar-target-icon{flex-shrink:0;margin-left:auto;margin-right:1.5rem;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;font-size:.95rem;cursor:default;line-height:1;animation:target-icon-in .18s ease-out both}.calendar-target-icon--met{color:#16a34a;background:rgba(22,163,74,.1);box-shadow:0 0 0 .0625rem rgba(22,163,74,.3)}.calendar-target-icon--overdue{color:#dc2626;background:rgba(220,38,38,.1);box-shadow:0 0 0 .0625rem rgba(220,38,38,.3)}.calendar-meta{font-size:.85rem;color:#666;display:flex;gap:1rem;align-items:center}.calendar-fullscreen-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:#f3f4f6;border:.0625rem solid #d4d4d8;border-radius:.375rem;color:#666;cursor:pointer;font-size:.8rem;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.calendar-fullscreen-btn:hover{background:#f9fafb;border-color:#2563eb;color:#2563eb}body.calendar-fullscreen .navbar,body.calendar-fullscreen .navigator-header,body.calendar-fullscreen .navigator-nav,body.calendar-fullscreen footer{display:none !important}body.calendar-fullscreen main{height:100dvh;overflow:hidden}body.calendar-fullscreen .calendar-container{padding:.5rem;height:100%}body.calendar-fullscreen .calendar-panel{border-radius:0;padding:.5rem}.calendar-uprn-search{margin-bottom:.4rem;max-width:20rem}.calendar-uprn-search__label{display:block;font-size:.85rem;font-weight:500;color:#1e293b;margin-bottom:.25rem}.calendar-uprn-search__input{width:100%;padding:.3rem .75rem;font-size:.9rem;border:.0625rem solid #d4d4d8;border-radius:.375rem;background:#f9fafb;color:#1e293b}.calendar-uprn-search__input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 .125rem rgba(37,99,235,.2)}.calendar-uprn-search__input::placeholder{color:#666}.calendar-row-cell--filtered-out{display:none !important}.calendar-panel{background:radial-gradient(circle at top left,#f9fafb 0,#f3f4f6 40%,#e5e7eb 100%);border-radius:.875rem;box-shadow:0 1.125rem 2.8125rem rgba(15,23,42,.15),0 0 0 .0625rem rgba(148,163,184,.35);padding:1.25rem 1rem 1rem;border:.0625rem solid rgba(148,163,184,.5);flex:1;display:flex;flex-direction:column;min-height:0}.calendar-wrapper{overflow:auto;flex:1;min-height:0;border:.0625rem solid rgba(148,163,184,.6);border-radius:.375rem;background:#f9fafb}.calendar-wrapper--empty{overflow:hidden;display:flex;align-items:center;justify-content:center}.calendar-empty-message{margin:0;font-size:.95rem;color:#666;font-style:italic}.calendar-table{display:grid;grid-template-columns:12.5rem repeat(25,minmax(15rem,max-content));grid-auto-rows:min-content;min-width:fit-content;position:relative}.calendar-header-cell{padding:.5rem .75rem;border-right:.0625rem solid #e4e4e7;border-bottom:.0625rem solid #d4d4d8;background:#fafafa;font-weight:600;font-size:.9rem;position:sticky;top:2.5rem;z-index:160;min-height:3.5rem;align-content:center}.calendar-header-cell--corner{background:#f7f9fb;border-right:.0625rem solid #d4d4d8;font-weight:500;position:sticky;left:0;top:2.5rem;z-index:195}.calendar-header-cell--year{text-align:center;border-bottom:.125rem solid #d4d4d8;min-width:15rem}.calendar-header-cell--year-target{font-weight:700}.calendar-header-cell__target-label{display:block;font-size:.68rem;font-weight:600;color:#2563eb;letter-spacing:.03em;margin-top:.15rem}.calendar-budget-cell{background:#eef2fb;border-right:.0625rem solid #e4e4e7;border-bottom:.125rem solid rgba(37,99,235,.18);position:sticky;top:0;z-index:155;padding:.3rem .75rem;min-height:2.5rem;align-content:center}.calendar-budget-cell--label{background:#e5ecf9;position:sticky;left:0;z-index:200;border-right:.0625rem solid rgba(37,99,235,.22);display:flex;align-items:center;box-shadow:.125rem 0 .25rem rgba(0,0,0,.05)}.calendar-budget-cell--value{text-align:center;min-width:15rem}.calendar-budget-cell__label-text{font-size:.75rem;font-weight:600;color:#2563eb;letter-spacing:.04em;text-transform:uppercase}.calendar-budget-cell__amount{font-size:.88rem;font-weight:700;color:#1e293b;letter-spacing:-.01em;display:inline-block}.calendar-budget-cell__amount--empty{color:#666;font-weight:400}@keyframes budget-value-in{from{opacity:0;transform:translateY(-.4rem)}to{opacity:1;transform:translateY(0)}}.calendar-budget-cell--value{animation:budget-value-in .35s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--budget-anim-delay,0ms)}.calendar-row-cell{padding:.5rem .75rem;border-right:.0625rem solid #e4e4e7;border-bottom:.0625rem solid #e4e4e7;min-height:4.5rem;overflow:hidden;position:relative;min-width:0}.calendar-row-cell--property{background:#f7f9fb;border-right:.0625rem solid #d4d4d8;font-weight:500;position:sticky;left:0;z-index:150;box-shadow:.125rem 0 .25rem rgba(0,0,0,.05);display:flex;align-items:center;flex-wrap:nowrap;overflow:visible}.calendar-row-cell__property-info{display:flex;flex-direction:column;min-width:0;flex:1;padding-right:1.5rem}.calendar-row-cell__uprn{min-width:0;font-weight:600}.calendar-row-cell__address{display:flex;flex-direction:column;font-style:normal;font-weight:400;font-size:.75rem;color:#888;margin-top:.125rem;line-height:1.3}.calendar-row-cell__address span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-row-cell__postcode{font-weight:500;text-transform:uppercase}.calendar-row-cell__add-work-btn{position:absolute;right:0;top:50%;transform:translate(50%,-50%);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:50%;background:#e0e7ff;color:#2563eb;font-size:.75rem;text-decoration:none;line-height:1;overflow:hidden;box-shadow:0 .125rem .5rem rgba(15,23,42,.15);transition:transform .2s ease,box-shadow .2s ease}.calendar-row-cell__add-work-btn:hover{transform:translate(50%,-50%) scale(1.1);box-shadow:0 .25rem .75rem rgba(15,23,42,.25)}.calendar-row-cell__add-work-btn:active{transform:translate(50%,-50%) scale(.95)}.calendar-row-cell__add-work-btn i{position:relative;z-index:1;pointer-events:none}.calendar-row-cell--timeline{background:#f9fafb;overflow:visible;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:15rem;min-height:3rem}.calendar-row-cell--timeline.calendar-row-cell--odd{background:#fdfdfd}.calendar-row-cell--timeline.calendar-row-cell--even{background:#f9fafb}.calendar-slot-empty{min-height:100%;width:100%;min-width:13rem;border:.125rem dashed rgba(0,0,0,0);border-radius:.375rem;background:rgba(0,0,0,0);transition:background-color .15s ease,border-color .15s ease}body.work-card-dragging-active .calendar-slot-empty.calendar-slot-empty--droppable{border-color:#d4d4d8;background:#f9fafb}.calendar-slot-empty-drag-over{background:#fafafa;border-color:#2563eb;border-style:solid}@keyframes calendar-shimmer{0%{background-position:-80rem 0}100%{background-position:80rem 0}}.calendar-skeleton-row{grid-column:1/-1;height:3.5rem;background:linear-gradient(90deg,#f3f4f6 0%,#e5e7eb 30%,#f3f4f6 60%);background-size:160rem 100%;animation:calendar-shimmer 1.6s ease-in-out infinite;border-bottom:.0625rem solid #e4e4e7}.calendar-skeleton-row:nth-child(odd){background:linear-gradient(90deg,#fdfdfd 0%,#e4e4e7 30%,#fdfdfd 60%);background-size:160rem 100%;animation:calendar-shimmer 1.6s ease-in-out infinite}.calendar-load-more-sentinel{width:100%;height:1px;display:block;flex-shrink:0}.calendar-load-more-sentinel--end{height:auto;padding:1.75rem 1rem;display:flex;align-items:center;justify-content:center}.calendar-end-indicator{display:flex;align-items:center;gap:.875rem;width:100%;max-width:24rem;margin:0 auto}.calendar-end-indicator__line{flex:1;height:.0625rem;background:rgba(148,163,184,.35)}.calendar-end-indicator__text{font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#888;white-space:nowrap}.dashboard-charts{display:flex;gap:1rem}.dashboard-charts>*{flex-basis:calc(50% - .5rem);min-width:0}#emissionsImpact{border-color:#22c55e !important;background-color:#f0fdf4}#emissionsImpact .chart-title,#emissionsImpact .chart-percentage{color:#1d7578}#emissionsImpact .chart-body{color:#22c55e}#hlpImpact{border-color:#fbbf24 !important;background-color:#fff7ed}#hlpImpact .chart-title,#hlpImpact .chart-initial,#hlpImpact .chart-final,#hlpImpact .chart-percentage{color:#935427}#shdImpact{border-color:#3b82f6 !important;background-color:#eff6ff}#shdImpact .chart-title,#shdImpact .chart-percentage{color:#3441af}#shdImpact .chart-body{color:#3b82f6}.high-cost-property{border-color:#3b82f6 !important;background-color:#eff6ff;color:#3441af;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.high-cost-property .title{display:flex;gap:1rem;font-weight:bold;align-items:center}.high-cost-property .title .index{height:2.5rem;width:2.5rem;display:flex;color:#fff;background-color:#3b82f6;border-radius:.375rem}.high-cost-property .cost{font-weight:bold;color:#1d7578}.high-cost-property .tag{background-color:#fff;padding:.5rem 1rem;border-radius:.375rem}#workSessionModal{scrollbar-gutter:stable}#workSessionModal .modal-dialog{align-items:flex-start}.work-session-modal{border-radius:.5rem;box-shadow:0 .5rem 1rem rgba(0,0,0,.15)}.work-session-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:.0625rem solid #e4e4e7;background:#fff;position:relative}.work-session-modal-header__left{flex:1}.work-session-modal-header__right{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:.25rem;padding-right:2.5rem}.work-session-modal-title{font-weight:600;font-size:1rem;color:#1e293b;margin:0}.work-session-modal-date{font-weight:500;font-size:.9rem;color:#888}.work-session-modal-date-edit{background:none;border:none;padding:.125rem .25rem;color:#888;cursor:pointer;font-size:.75rem;line-height:1;opacity:.7}.work-session-modal-date-edit:hover{opacity:1;color:#2563eb}.work-session-modal-body{padding:1.5rem;background:#fff;overflow-y:scroll;scrollbar-gutter:stable;max-height:calc(100vh - 9rem)}.work-session-metrics-panel{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1rem;padding:1.25rem;background:#fafafa;border-radius:.5rem;margin-bottom:1.5rem}.work-session-metric{display:flex;flex-direction:column;gap:.5rem}.work-session-metric__label{font-size:.75rem;font-weight:500;color:#888;text-transform:uppercase;letter-spacing:.05em}.work-session-metric__value{font-size:1.25rem;font-weight:700;color:#1e293b;line-height:1.2}.work-session-metric__value .work-session-card-header__band-box{width:1.5rem;height:1.5rem;font-size:.875rem;vertical-align:text-bottom}.work-session-metric__value--impact{color:#2563eb}.work-session-works-panel{margin-top:1.5rem}.work-session-works-panel__header{margin-bottom:1rem}.work-session-works-panel__title{font-weight:700;font-size:.9rem;color:#1e293b;margin:0;text-transform:uppercase;letter-spacing:.05em}.work-session-works-list{display:flex;flex-direction:column;gap:.75rem}.work-session-work-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#fafafa;border-radius:.5rem;border:.0625rem solid #e4e4e7;min-height:4rem;position:relative;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease}.work-session-work-item--reordering{transition:none}.work-session-work-item__number{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:#fff;border:.125rem solid #d4d4d8;font-weight:700;font-size:1rem;color:#1e293b;flex-shrink:0}.work-session-work-item__content{flex:1;display:flex;align-self:center;flex-direction:column;gap:.375rem;min-width:0}.work-session-work-item__name{font-weight:600;font-size:1rem;color:#1e293b;line-height:1.3}.work-session-work-item__sap-impact{font-size:.875rem;color:#888;line-height:1.3}.work-session-work-item__impact{color:#2563eb;font-weight:600}.work-session-work-item__cost-wrapper{display:flex;align-items:center;gap:.5rem;flex-shrink:0;align-self:flex-start;padding-top:.125rem;margin-right:1.5rem}.work-session-work-item__cost{font-weight:600;font-size:1rem;color:#1e293b;white-space:nowrap;border:.0625rem solid #d4d4d8;border-radius:.25rem;padding:.125rem .375rem}.work-session-work-item__cost-edit{background:none;border:none;padding:.125rem .25rem;color:#888;cursor:pointer;font-size:.75rem;line-height:1;opacity:.7}.work-session-work-item__cost-edit:hover{opacity:1;color:#2563eb}.work-session-work-item--capital{border-left:.1875rem solid #2563eb}.work-session-work-item--capital .work-session-work-item__number{border-color:#2563eb;color:#2563eb}.work-session-work-item--capital .work-session-work-item__sap-impact{display:none}.work-session-work-item--energy-success{border-left:.1875rem solid #059669}.work-session-work-item--energy-success .work-session-work-item__number{border-color:#059669;color:#059669}.work-session-work-item--energy-error{border-left:.1875rem solid #dc2626}.work-session-work-item--energy-error .work-session-work-item__number{border-color:#dc2626;color:#dc2626}.work-session-work-item--energy-error .work-session-work-item__cost{color:#888}.work-session-work-item--energy-error .work-session-work-item__content{display:block}.work-session-work-item--energy-error .work-session-work-item__sap-impact{display:inline;margin-right:.375rem}.work-session-work-item--energy-error .work-session-work-item__error{display:inline}.work-session-work-item__error{font-size:.875rem;font-weight:600;color:#dc2626;line-height:1.3}.work-session-work-item__error i{margin-right:.25rem}.work-outcome-impacts{margin-top:.5rem;padding-top:.5rem;border-top:.0625rem solid #e4e4e7}.work-outcome-impacts__toggle{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:none;padding:0;cursor:pointer;text-align:left}.work-outcome-impacts__toggle-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#666;flex-shrink:0}.work-outcome-impacts__toggle-icon{font-size:.65rem;color:#888;flex-shrink:0;margin-left:auto;cursor:pointer;padding:.2rem .3rem;border-radius:.25rem;transition:background-color .15s ease,color .15s ease}.work-outcome-impacts__toggle-icon:hover{background:#e5e7eb;color:#1e293b}.work-outcome-impacts__pills{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem;cursor:pointer}.work-outcome-impacts__pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:1rem;border:.0625rem solid #d4d4d8;background:#fff}.work-outcome-impacts__pill--positive{background:rgba(5,150,105,.14);border-color:rgba(5,150,105,.65)}.work-outcome-impacts__pill--negative{background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.45)}.work-outcome-impacts__pill--neutral{background:rgba(100,116,139,.08);border-color:rgba(100,116,139,.45)}.work-outcome-impacts__pill-label{font-size:.65rem;font-weight:500;color:#666;white-space:nowrap}.work-outcome-impacts__pill-value{font-size:.7rem;font-weight:700;white-space:nowrap;color:#1e293b}.work-outcome-impacts__pill--positive .work-outcome-impacts__pill-value{color:#059669}.work-outcome-impacts__pill--negative .work-outcome-impacts__pill-value{color:#dc2626}.work-outcome-impacts__detail{display:grid;grid-template-rows:0;opacity:0;transition:grid-template-rows .32s ease,opacity .25s ease}.work-outcome-impacts__detail-inner{overflow:hidden;display:flex;flex-direction:column;gap:.375rem;padding-top:0;transition:padding-top .32s ease}.work-outcome-impacts--collapsed .work-outcome-impacts__pills{display:flex}.work-outcome-impacts:not(.work-outcome-impacts--collapsed) .work-outcome-impacts__pills{display:none}.work-outcome-impacts:not(.work-outcome-impacts--collapsed) .work-outcome-impacts__detail{grid-template-rows:1fr;opacity:1;transition:grid-template-rows .32s ease,opacity .3s ease .04s}.work-outcome-impacts:not(.work-outcome-impacts--collapsed) .work-outcome-impacts__detail-inner{padding-top:.5rem}.work-outcome-impacts__group{display:flex;align-items:flex-start;gap:.5rem}.work-outcome-impacts__group-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#666;min-width:4.5rem;padding-top:.25rem;flex-shrink:0}.work-outcome-impacts__chips{display:flex;flex-wrap:wrap;gap:.45rem;flex:1;min-width:0}.work-outcome-chip{display:inline-flex;flex-direction:column;gap:0;padding:0 .65rem;background:#fff;border:.0625rem solid #e4e4e7;border-radius:.5rem;min-width:6rem;overflow:hidden;box-shadow:0 .125rem .375rem rgba(0,0,0,.06)}.work-outcome-chip--positive{border-color:rgba(5,150,105,.5);box-shadow:0 .125rem .375rem rgba(5,150,105,.18)}.work-outcome-chip--negative{border-color:rgba(220,38,38,.5);box-shadow:0 .125rem .375rem rgba(220,38,38,.1)}.work-outcome-chip--neutral{border-color:rgba(100,116,139,.4);box-shadow:0 .125rem .375rem rgba(100,116,139,.1)}.work-outcome-chip__header{text-align:center;padding:.1rem .65rem;margin-left:-.65rem;margin-right:-.65rem;background:#f3f4f6;border-bottom:.0625rem solid #e4e4e7}.work-outcome-chip--positive .work-outcome-chip__header{background:rgba(5,150,105,.15);border-bottom-color:rgba(5,150,105,.35)}.work-outcome-chip--negative .work-outcome-chip__header{background:rgba(220,38,38,.11);border-bottom-color:rgba(220,38,38,.22)}.work-outcome-chip__label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#666;line-height:1.3}.work-outcome-chip__unit{font-size:.57rem;font-weight:400;text-transform:none;letter-spacing:0;color:#888}.work-outcome-chip__values{display:flex;justify-content:center;align-items:baseline;gap:.2rem;padding:.35rem 0 .3rem;white-space:nowrap}.work-outcome-chip__initial{font-size:.68rem;font-weight:600;color:#666}.work-outcome-chip__arrow{font-size:.55rem;font-weight:500;color:#888}.work-outcome-chip__final{font-size:.82rem;font-weight:700;color:#1e293b}.work-outcome-chip__delta{display:block;text-align:center;font-size:.72rem;font-weight:700;white-space:nowrap;padding:.22rem .65rem;margin-left:-.65rem;margin-right:-.65rem}.work-outcome-chip__delta--positive{background:rgba(5,150,105,.18);color:#059669}.work-outcome-chip__delta--negative{background:rgba(220,38,38,.14);color:#dc2626}.work-outcome-chip__delta--neutral{background:rgba(100,116,139,.14);color:rgba(100,116,139,.85)}.work-session-work-item__reorder-controls{position:absolute;right:-.5rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.25rem;opacity:1;visibility:visible;z-index:10}.work-session-work-item__reorder-btn{width:1.25rem;height:1.25rem;border-radius:50%;background:#fff;border:.0625rem solid #d4d4d8;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 .125rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease,border-color .15s ease,transform .15s ease;padding:0;font-size:.6rem;color:#1e293b}.work-session-work-item__reorder-btn:hover{background:#fafafa;border-color:#d4d4d8;transform:scale(1.1)}.work-session-work-item__reorder-btn:active{transform:scale(.95)}.work-session-work-item__reorder-btn i{line-height:1}#addWorkModal .modal-dialog{transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}#addWorkModal.fade .modal-dialog{transform:scale(.9) translateY(-1rem);opacity:0}#addWorkModal.show .modal-dialog{transform:scale(1) translateY(0);opacity:1}#addWorkModal .modal-content{border-radius:.5rem;box-shadow:0 .5rem 1.5rem rgba(15,23,42,.25);border:.0625rem solid rgba(148,163,184,.35)}#addWorkModal .modal-header{padding:1rem 1.25rem;border-bottom:.0625rem solid #e4e4e7;background:#fff}#addWorkModal .modal-title{font-weight:600;font-size:1.0625rem;color:#1e293b;margin:0}#addWorkModal .modal-body{padding:1.25rem 1.25rem 1rem;background:#f9fafb;transition:padding .25s ease}#addWorkModal .modal-footer{padding:1rem 1.25rem;border-top:.0625rem solid #e4e4e7;background:#fff}.add-work-modal .add-work-group{max-height:0;opacity:0;overflow:hidden;margin-bottom:0;padding-top:0;padding-bottom:0;visibility:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .3s ease,margin-bottom .35s ease,padding .3s ease,visibility 0s linear .35s}.add-work-modal .add-work-group.add-work-group--visible{max-height:7rem;opacity:1;margin-bottom:1.25rem;visibility:visible;overflow:visible;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,margin-bottom .35s ease,padding .3s ease,visibility 0s linear 0s}.add-work-modal__field{margin-bottom:1.25rem}.add-work-modal__field:last-child{margin-bottom:0}.add-work-modal__label{display:block;font-weight:600;font-size:.8125rem;color:#1e293b;margin-bottom:.375rem;letter-spacing:.01em}.add-work-modal__select,.add-work-modal__input{width:100%;padding:.5rem .75rem;font-size:.9375rem;line-height:1.5;color:#1e293b;background:#fff;border:.0625rem solid #d4d4d8;border-radius:.375rem;transition:border-color .15s ease,box-shadow .15s ease}.add-work-modal__select:focus,.add-work-modal__input:focus{border-color:#2563eb;outline:0;box-shadow:0 0 0 .1875rem rgba(37,99,235,.2)}.add-work-modal__select::placeholder,.add-work-modal__input::placeholder{color:#888}.add-work-modal__select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M2 4 L6 8 L10 4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.add-work-modal__dropdown-toggle{position:relative;display:flex;align-items:center;background-image:none;padding-right:2.25rem;overflow:hidden}.add-work-modal__dropdown-toggle::after{position:absolute;right:.75rem;left:auto;top:50%;margin:0;transform:translateY(-50%)}.add-work-modal__dropdown-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:left}.add-work-modal__dropdown-menu{max-height:16rem;overflow-y:auto;overflow-x:clip}.add-work-modal__input[type=date]{cursor:pointer;min-height:2.5rem}