: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:.6rem 1.75rem;margin:0;background:#3d3b8e;border-radius:0;box-shadow:0 .5rem 1.125rem rgba(15,23,42,.35);color:#dde8f7;width:100%}.navigator-nav{background:#9d98fc;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:#c4bfff;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:#f0eeff;background:hsla(0,0%,100%,.05)}.navigator-nav__link--active{color:#fff;border-bottom-color:#e1eb5c;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(225,235,92,.35),transparent)}.navigator-header__brand{display:inline-flex;align-items:center}.navigator-header__logo-img{width:2.75rem;height:2.75rem;object-fit:contain;object-position:center;flex-shrink:0}.navigator-header__title{color:#fff;font-size:1.6rem;font-family:"Outfit",sans-serif;font-weight:600}.navigator-header__licensee{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .9rem;margin-right:.75rem;background:rgba(225,235,92,.1);border:.0625rem solid rgba(225,235,92,.4);border-radius:2rem;color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;user-select:none}.navigator-header__licensee i{line-height:0;color:#e1eb5c;font-size:.72rem;flex-shrink:0}.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:#c4bfff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border-radius:.25rem}.navigator-header__user-toggle:hover{color:#f0eeff;background:hsla(0,0%,100%,.05)}.navigator-header__user-toggle:focus{outline:none}.navigator-header__avatar{width:2rem;height:2rem;border-radius:50%;background:#9d98fc;color:#3d3b8e;font-size:.8rem;font-weight:700;letter-spacing:.04em;line-height:2;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;user-select:none}.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:#3d3b8e;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:#c4bfff;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:#f0eeff}.navigator-header__user-dropdown .dropdown-item i{width:1rem;text-align:center}.navigator-header__user-dropdown .dropdown-divider{border-color:rgba(148,163,184,.35);margin:.25rem 0}.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 #ff66e4}.work-card--capital .work-card-sap-diff{display:none}.work-card--improvement{border-left:.25rem solid #e1eb5c}.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 #3c31fa;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:1.5rem}.calendar-header-right{display:flex;align-items:center;gap:.5rem}.calendar-year-range{font-size:.78rem;font-weight:500;color:#666;letter-spacing:.02em;padding:0 .25rem;white-space:nowrap}.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:#3c31fa}.calendar-target-toggle--active .calendar-target-toggle__switch{background:#3c31fa}.calendar-target-toggle--active .calendar-target-toggle__switch::after{transform:translateX(.875rem)}.calendar-table--target-highlight .calendar-row-cell--target-met:not(.calendar-row-cell--property){background:rgba(22,163,74,.12) !important;border:.0625rem solid rgba(22,163,74,.22) !important}.calendar-table--target-highlight .calendar-row-cell--target-overdue:not(.calendar-row-cell--property){background:rgba(220,38,38,.12) !important;border:.0625rem solid rgba(220,38,38,.22) !important}.calendar-table--target-highlight .calendar-row-cell--target-recalculating:not(.calendar-row-cell--property){background:rgba(148,163,184,.12) !important;border:.0625rem solid rgba(148,163,184,.22) !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-non-calculating-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;color:#d97706;background:rgba(217,119,6,.1);box-shadow:0 0 0 .0625rem rgba(217,119,6,.3)}.calendar-non-calculating-icon i{line-height:3}.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:#3c31fa;color:#3c31fa}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-header-left{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;flex-wrap:wrap}.calendar-applied-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.calendar-applied-filter-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .35rem .2rem .65rem;border-radius:1rem;font-size:.78rem;font-weight:500;line-height:1.1;background:rgba(60,49,250,.12);border:.0625rem solid rgba(60,49,250,.35);color:#3c31fa}.calendar-applied-filter-pill__label{white-space:nowrap}.calendar-applied-filter-pill__remove{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;padding:0;border:none;border-radius:50%;background:rgba(0,0,0,0);color:inherit;cursor:pointer;font-size:.7rem;line-height:1;transition:background-color .15s ease,color .15s ease}.calendar-applied-filter-pill__remove:hover,.calendar-applied-filter-pill__remove:focus-visible{background:rgba(60,49,250,.22);color:#1e293b;outline:none}.calendar-search{min-width:18rem;max-width:20rem}.calendar-search__input{width:100%;padding:.3rem .75rem;font-size:.9rem;border:.0625rem solid #d4d4d8;border-radius:.375rem;background:#f9fafb;color:#1e293b}.calendar-search__input:focus{outline:none;border-color:#3c31fa;box-shadow:0 0 0 .125rem rgba(60,49,250,.2)}.calendar-search__input::placeholder{color:#666}.calendar-filter-menu{min-width:14rem}.calendar-data-menu{min-width:12rem}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-submenu-toggle{display:flex;align-items:center;gap:.5rem}.dropdown-submenu>.dropdown-submenu-toggle>span{flex:1}.dropdown-submenu>.dropdown-submenu-menu{position:absolute;top:0;right:100%;left:auto;margin-top:0;margin-right:0;display:none}.dropdown-submenu:hover>.dropdown-submenu-menu,.dropdown-submenu:focus-within>.dropdown-submenu-menu{display:block}.dropdown-submenu-arrow{font-size:.7rem;color:#666;margin-left:auto}.calendar-filter-option{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer}.calendar-filter-option.disabled{cursor:not-allowed;opacity:.6}.calendar-filter-checkbox{margin-top:0}.calendar-filter-count{min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:999px;background:#3c31fa;color:#fff;font-size:.75rem;line-height:1.25rem;text-align:center}.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{--calendar-property-col:12.5rem;--calendar-year-col:minmax(15rem,max-content);display:grid;grid-template-columns:var(--calendar-property-col) repeat(25,var(--calendar-year-col));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:#3c31fa;letter-spacing:.03em;margin-top:.15rem}.calendar-budget-cell{background:#f5f5ff;border-right:.0625rem solid #e4e4e7;border-bottom:.125rem solid rgba(60,49,250,.18);position:sticky;top:0;z-index:155;padding:.3rem .75rem;min-height:2.5rem;align-content:center}.calendar-budget-cell--label{background:#ededff;position:sticky;left:0;z-index:200;border-right:.0625rem solid rgba(60,49,250,.22);display:flex;align-items:center;box-shadow:.125rem 0 .25rem rgba(0,0,0,.05)}.calendar-budget-cell--unallocated{position:sticky;left:12.5rem;z-index:190;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:#3c31fa;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;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.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:rgba(157,152,252,.18);color:#3c31fa;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:#3c31fa;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{position:sticky;left:0;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}.calendar-header-cell--unallocated{background:#fafafa;font-style:italic;color:#888;border-right:.125rem dashed #d4d4d8;text-align:center;position:sticky;left:12.5rem;z-index:170;box-shadow:.125rem 0 .25rem rgba(0,0,0,.05)}.calendar-row-cell--unallocated{background:#f9fafb;position:sticky;left:12.5rem;z-index:140;box-shadow:.125rem 0 .25rem rgba(0,0,0,.05);display:flex;flex-direction:column;gap:.5rem;padding:.5rem .75rem;border-right:.125rem dashed #d4d4d8}.calendar-row-cell--unallocated .work-card{position:static;margin-top:0;z-index:auto}.calendar-row-cell--unallocated .work-card:nth-child(n){margin-top:0;z-index:auto}.calendar-row-cell--unallocated .work-card .work-card-reorder-controls{display:none}.calendar-row-cell--unallocated.calendar-row-cell--unallocated-drag-over{background:#fafafa;border-color:#3c31fa;border-style:solid}.toolbar-btn{display:inline-flex;align-items:center;align-self:center;gap:.375rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;color:#1e293b;background:#fff;border:1px solid #d4d4d8;border-radius:.375rem;cursor:pointer;transition:border-color .15s,background .15s}.toolbar-btn:hover{border-color:#3c31fa;background:#f3f4f6}.dashboard-charts{display:flex;flex-wrap:wrap;gap:1rem}.dashboard-charts>*{flex-basis:calc(50% - .5rem);min-width:0}.dashboard-panel{background:#fff;border:.0625rem solid rgba(148,163,184,.35);border-radius:.375rem;box-shadow:0 .0625rem .1875rem rgba(0,0,0,.06);padding:1rem;display:flex;flex-direction:column}.dashboard-panel--chart{padding:.75rem;height:30rem}.dashboard-panel--impact{height:20rem}.dashboard-panel--scrollable{height:30rem;overflow:hidden}#highCostProperties{overflow-y:auto;flex:1;min-height:0}#highCostProperties::-webkit-scrollbar{width:.25rem}#highCostProperties::-webkit-scrollbar-track{background:rgba(0,0,0,0)}#highCostProperties::-webkit-scrollbar-thumb{background:#d4d4d8;border-radius:1rem}#highCostProperties::-webkit-scrollbar-thumb:hover{background:#888}.dashboard-header{display:flex;flex-direction:column;gap:.125rem}.dashboard-header__title{font-size:1.35rem;font-weight:700;color:#1e293b;letter-spacing:-.02em;line-height:1.2;margin:0}.dashboard-header__subtitle{font-size:.78rem;color:#666;margin:0;letter-spacing:.01em}.dashboard-section-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#3c31fa;margin-bottom:.625rem;display:flex;align-items:center;gap:.4rem;padding-left:.5rem;border-left:.1875rem solid #e1eb5c}.dashboard-section-title i{font-size:.75rem;color:#3c31fa}.dashboard-feedback-card{gap:.75rem;padding:1.125rem 1.25rem;background:rgba(157,152,252,.07);border-color:rgba(157,152,252,.25)}.dashboard-feedback-card__header{display:flex;align-items:center;gap:.5rem;padding-bottom:.625rem;border-bottom:.0625rem solid rgba(157,152,252,.2)}.dashboard-feedback-card__icon{font-size:1.05rem;color:#3c31fa;flex-shrink:0;background:rgba(60,49,250,.08);padding:.3rem;border-radius:.375rem}.dashboard-feedback-card__title{font-size:.9rem;font-weight:700;color:#1e293b}.dashboard-feedback-card__intro{margin:0;font-size:.85rem;color:#888;line-height:1.5}.dashboard-feedback-card__list{margin:0;padding-left:1.25rem;font-size:.85rem;color:#888;line-height:1.6;display:flex;flex-direction:column;gap:.3rem}.dashboard-feedback-card__contact{margin:0;margin-top:auto;font-size:.8rem;color:#666}.dashboard-feedback-card__link{color:#3c31fa;text-decoration:none;font-weight:500}.dashboard-feedback-card__link:hover{text-decoration:underline}.dashboard-impact-row{display:flex;gap:.5rem;flex:1}.dashboard-impact-card{flex:1;border-radius:.375rem;border:.0625rem solid rgba(148,163,184,.35);border-left:.25rem solid;padding:.875rem .75rem;display:flex;flex-direction:column;overflow:hidden;min-width:0;transition:box-shadow .15s ease}.dashboard-impact-card:hover{box-shadow:0 .125rem .375rem rgba(0,0,0,.1)}.dashboard-impact-card .dashboard-impact-card__badge{transition:transform .15s ease}.dashboard-impact-card:hover .dashboard-impact-card__badge{transform:scale(1.04)}.dashboard-impact-card__header{display:flex;flex-direction:column;gap:.375rem;padding-bottom:.625rem;margin-bottom:.5rem;border-bottom:.0625rem solid rgba(148,163,184,.35)}.dashboard-impact-card__icon{font-size:1.25rem;opacity:.8}.dashboard-impact-card__label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;line-height:1.3}.dashboard-impact-card__body{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding-top:.25rem}.dashboard-impact-card__primary{display:flex;flex-direction:column;gap:.125rem}.dashboard-impact-card__number{font-size:1.75rem;font-weight:700;line-height:1;letter-spacing:-.02em}.dashboard-impact-card__unit{font-size:.7rem;font-weight:500;opacity:.65;line-height:1.3}.dashboard-impact-card__badge{display:inline-flex;align-items:center;gap:.1rem;font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:999px;width:fit-content;margin-top:.5rem}.dashboard-impact-card__readings{display:flex;flex-direction:column;gap:.625rem;flex:1}.dashboard-impact-card__reading{display:flex;flex-direction:column;gap:.1rem}.dashboard-impact-card__reading-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.55}.dashboard-impact-card--emissions{border-left-color:#22c55e;background-color:#f0fdf4}.dashboard-impact-card--emissions .dashboard-impact-card__label,.dashboard-impact-card--emissions .chart-title{color:#1d7578}.dashboard-impact-card--emissions .dashboard-impact-card__number,.dashboard-impact-card--emissions .dashboard-impact-card__icon,.dashboard-impact-card--emissions .chart-body{color:#22c55e}.dashboard-impact-card--emissions .dashboard-impact-card__badge,.dashboard-impact-card--emissions .chart-percentage{background:rgba(34,197,94,.12);color:#1d7578}.dashboard-impact-card--hlp{border-left-color:#fbbf24;background-color:#fff7ed}.dashboard-impact-card--hlp .dashboard-impact-card__label,.dashboard-impact-card--hlp .dashboard-impact-card__reading-label,.dashboard-impact-card--hlp .chart-title,.dashboard-impact-card--hlp .chart-initial,.dashboard-impact-card--hlp .chart-final{color:#935427}.dashboard-impact-card--hlp .dashboard-impact-card__number,.dashboard-impact-card--hlp .dashboard-impact-card__icon{color:#fbbf24}.dashboard-impact-card--hlp .dashboard-impact-card__badge,.dashboard-impact-card--hlp .chart-percentage{background:rgba(251,191,36,.15);color:#935427}.dashboard-impact-card--shd{border-left-color:#3b82f6;background-color:#eff6ff}.dashboard-impact-card--shd .dashboard-impact-card__label,.dashboard-impact-card--shd .chart-title{color:#3441af}.dashboard-impact-card--shd .dashboard-impact-card__number,.dashboard-impact-card--shd .dashboard-impact-card__icon,.dashboard-impact-card--shd .chart-body{color:#3b82f6}.dashboard-impact-card--shd .dashboard-impact-card__badge,.dashboard-impact-card--shd .chart-percentage{background:rgba(59,130,246,.12);color:#3441af}@keyframes dashboard-shimmer{0%{background-position:-30rem 0}100%{background-position:30rem 0}}.dashboard-skeleton{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:60rem 100%;animation:dashboard-shimmer 1.6s ease-in-out infinite;border-radius:.25rem}.dashboard-skeleton--chart{flex:1;min-height:0;align-self:stretch;width:100%}.dashboard-skeleton--impact{flex:1;border-radius:.375rem}#capitalExpenditureByWorkCategoryChart{flex:1;min-height:0;align-self:stretch;width:100% !important}.dashboard-skeleton--hcp-rows{display:flex;flex-direction:column;background:none;animation:none}.dashboard-skeleton__row{height:3.125rem;border-radius:.25rem;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:60rem 100%;animation:dashboard-shimmer 1.6s ease-in-out infinite}.dashboard-skeleton__row+.dashboard-skeleton__row{margin-top:.0625rem}.dashboard-skeleton__row:nth-child(2){animation-delay:.1s}.dashboard-skeleton__row:nth-child(3){animation-delay:.2s}.dashboard-skeleton__row:nth-child(4){animation-delay:.3s}.dashboard-skeleton__row:nth-child(5){animation-delay:.4s}.dashboard-skeleton__row:nth-child(6){animation-delay:.5s}.high-cost-property{display:grid;grid-template-columns:1.5rem 1fr auto;align-items:start;gap:0 .75rem;padding:.625rem .6rem .625rem .22rem;border-radius:.25rem;transition:background-color .12s ease}.high-cost-property+.high-cost-property{border-top:.0625rem solid #e4e4e7}.high-cost-property:hover{background:rgba(60,49,250,.04)}.high-cost-property__rank{font-size:.65rem;font-weight:700;color:#3c31fa;text-align:center;background:rgba(60,49,250,.08);border:.0625rem solid rgba(60,49,250,.18);border-radius:.25rem;padding:.1rem .2rem;line-height:1.4;align-self:start}.high-cost-property__info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.high-cost-property__urn{display:block;font-size:.8rem;font-weight:600;color:#1e293b;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.high-cost-property__address{display:block;font-size:.72rem;color:#888;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.high-cost-property__cost{font-size:.85rem;font-weight:700;color:#3d3b8e;background:rgba(61,59,142,.08);white-space:nowrap;padding:.1rem .3rem;border-radius:.2rem;line-height:1.3;align-self:start}.view-dashboard .calendar-panel{padding:1.25rem}#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:#3c31fa}.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:#3c31fa}.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:#3c31fa;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:#3c31fa}.work-session-work-item--capital{border-left:.1875rem solid #3c31fa}.work-session-work-item--capital .work-session-work-item__number{border-color:#3c31fa;color:#3c31fa}.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:#3c31fa;outline:0;box-shadow:0 0 0 .1875rem rgba(60,49,250,.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}.csv-import-modal{display:flex;flex-direction:column;height:100%}.csv-import-step{display:flex;flex-direction:column;flex:1;overflow:hidden}.csv-import-modal__header{flex-shrink:0}.csv-import-modal__body--centered{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.csv-import-modal__status-text{font-size:1rem;color:#888}.csv-dropzone{border:2px dashed #d4d4d8;border-radius:.75rem;padding:4rem 3rem;text-align:center;cursor:pointer;max-width:32rem;transition:border-color .15s,background .15s}.csv-dropzone:hover,.csv-dropzone--drag-over{border-color:#3c31fa;background:rgba(60,49,250,.04)}.csv-dropzone__icon{font-size:3rem;color:#666;margin-bottom:1rem}.csv-dropzone__text{font-size:1rem;font-weight:600;margin-bottom:.25rem}.csv-dropzone__subtext{font-size:.875rem;color:#888;margin-bottom:0}.csv-dropzone__browse-link{color:#3c31fa;text-decoration:underline;cursor:pointer}.csv-import-modal__action-bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;border-bottom:1px solid #e4e4e7;background:#fff;flex-shrink:0;margin-bottom:1rem}.csv-import-modal__action-bar::after{content:"";position:absolute;left:0;right:0;top:100%;height:1rem;background:#fff;pointer-events:none}.csv-import-modal__file-info{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;min-width:0}.csv-import-modal__file-info>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csv-import-modal__row-count{font-size:.8125rem;color:#888;flex-shrink:0}.csv-import-modal__row-count--valid{color:#059669;font-weight:600}.csv-import-modal__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.csv-import-modal__scroll-body{position:relative;z-index:1;flex:1;overflow:auto;padding:0 1.5rem 1rem 1.5rem;background:#fff}#csv-load-progress{padding:.75rem 0;color:#888;font-size:.875rem}.csv-import-error-banner{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.25);border-radius:.375rem;padding:.625rem .875rem;color:#dc2626;font-size:.875rem;font-weight:500;margin-bottom:1rem;display:flex;align-items:baseline;gap:.5rem}.csv-import-table{display:grid;grid-template-columns:4rem;font-size:.875rem;width:100%}.csv-import-table__cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csv-import-table__header{display:contents}.csv-import-table__header>.csv-import-table__cell{position:sticky;top:0;background:#f3f4f6;font-weight:600;padding:.5rem .75rem;border-bottom:2px solid #d4d4d8;z-index:10}.csv-import-table #csv-content{display:contents}.csv-import-table__row{display:contents}.csv-import-table__row>.csv-import-table__cell{padding:.5rem .75rem;border-bottom:1px solid #e4e4e7}.csv-import-table__row>.csv-import-table__cell:first-child{display:flex;align-items:center;gap:.35rem}.csv-import-table__row--error>.csv-import-table__cell{background:rgba(220,38,38,.04)}.csv-import-table__row--error>.csv-import-table__cell:first-child{border-left:3px solid #dc2626}.csv-import-table__row--warning>.csv-import-table__cell{background:rgba(217,119,6,.05)}.csv-import-table__row--warning>.csv-import-table__cell:first-child{border-left:3px solid #d97706}.csv-import-table__cell--invalid{color:#dc2626;font-weight:600}.csv-import-table__row-icon-wrap{display:inline-flex;align-items:center;flex-shrink:0;cursor:default}.csv-import-table__row-icon{font-size:.6rem;margin:0;vertical-align:middle}.csv-import-table__row-icon--warning{color:#d97706}.csv-import-table__row-icon--error{color:#dc2626}.csv-import-cell-error{display:block;font-size:.75rem;font-weight:400;margin-top:.125rem;color:#dc2626}.csv-import-content-wrapper{display:block;min-width:100%}.csv-warnings-bar{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem;width:100%}.csv-warning-card{border-radius:.375rem;overflow:hidden}.csv-warning-card--warning{border:1px solid rgba(217,119,6,.3);background:rgba(217,119,6,.04)}.csv-warning-card--error{border:1px solid rgba(220,38,38,.3);background:rgba(220,38,38,.04)}.csv-warning-card__header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:rgba(0,0,0,0);border:none;cursor:pointer;text-align:left;font-size:.8125rem;font-weight:500;line-height:1.4}.csv-warning-card__icon{font-size:.75rem;flex-shrink:0}.csv-warning-card--warning .csv-warning-card__icon{color:#d97706}.csv-warning-card--error .csv-warning-card__icon{color:#dc2626}.csv-warning-card__message{flex:1;color:#1e293b}.csv-warning-card__badge{font-size:.7rem;font-weight:700;padding:.1rem .45rem;border-radius:.25rem;flex-shrink:0}.csv-warning-card--warning .csv-warning-card__badge{background:rgba(217,119,6,.15);color:#b45309}.csv-warning-card--error .csv-warning-card__badge{background:rgba(220,38,38,.12);color:#dc2626}.csv-warning-card__chevron{font-size:.65rem;color:#888;flex-shrink:0;transition:transform .2s ease;pointer-events:none}.csv-warning-card__chevron--open{transform:rotate(180deg)}.csv-warning-card__body{overflow:hidden;max-height:0;transition:max-height .22s ease}.csv-warning-card__body--open{max-height:12rem}.csv-warning-card__chips{display:flex;flex-wrap:wrap;gap:.3rem;padding:.375rem .75rem .625rem;border-top:1px solid rgba(217,119,6,.15);overflow-y:auto;max-height:10rem}.csv-warning-card--error .csv-warning-card__chips{border-top-color:rgba(220,38,38,.15)}.csv-warning-card__chip{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.7rem;padding:.15rem .4rem;border-radius:.25rem;background:#f3f4f6;color:#1e293b;border:1px solid #e4e4e7;white-space:nowrap}.calendar-import-menu{min-width:14rem}.notification-bell{position:relative;margin-right:.75rem}.notification-bell__toggle{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:rgba(0,0,0,0);border:none;color:#c4bfff;font-size:1rem;cursor:pointer;border-radius:50%;transition:all .2s ease}.notification-bell__toggle:hover{color:#f0eeff;background:hsla(0,0%,100%,.05)}.notification-bell__toggle:focus{outline:none}.notification-bell__badge{position:absolute;top:.1rem;right:.1rem;min-width:1rem;height:1rem;padding:0 .25rem;background:#e74c3c;color:#fff;border-radius:.5rem;font-size:.65rem;font-weight:700;line-height:1rem;text-align:center;pointer-events:none}.notification-bell__panel{position:absolute;top:calc(100% + .5rem);right:0;width:22rem;background:#3d3b8e;border:.0625rem solid rgba(148,163,184,.35);border-radius:.5rem;box-shadow:0 .5rem 1.5rem rgba(15,23,42,.35);z-index:1050;overflow:hidden}.notification-bell__panel-header{display:flex;align-items:center;padding:.75rem 1rem;border-bottom:.0625rem solid rgba(148,163,184,.2)}.notification-bell__panel-title{color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.02em}.notification-bell__panel-body{padding:.5rem;max-height:20rem;overflow-y:auto}.notification-bell__empty{color:#c4bfff;font-size:.85rem;text-align:center;padding:1rem 0;margin:0;opacity:.6}.notification-bell__card{padding:.75rem .875rem;border-radius:.375rem;background:hsla(0,0%,100%,.05);border:.0625rem solid rgba(148,163,184,.2);margin-bottom:.5rem}.notification-bell__card:last-child{margin-bottom:0}.notification-bell__card--complete{opacity:.6}.notification-bell__card--failed{border-color:rgba(231,76,60,.4)}.notification-bell__card--progress .notification-bell__card-progress{display:block}.notification-bell__card--progress .notification-bell__card-status{margin-bottom:.5rem}.notification-bell__card-title{font-size:.8rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.3rem}.notification-bell__card-status{font-size:.75rem;color:#c4bfff;opacity:.85}.notification-bell__card-refresh{color:#e1eb5c;text-decoration:underline;text-underline-offset:.15em}.notification-bell__card-refresh:hover{color:#fff}.notification-bell__card-refresh--filename{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-bell__card-progress{display:none;height:.375rem;border-radius:.25rem;background:hsla(0,0%,100%,.05);overflow:hidden}.notification-bell__card-progress-bar{height:100%;border-radius:.25rem;background:#e1eb5c;transition:width .4s ease}.notification-bell__card-progress-bar--failed{background:#e74c3c}.notification-bell__card-progress-bar--running{width:35%;animation:notification-progress-running 1.4s ease-in-out infinite;transition:none}@keyframes notification-progress-running{0%,100%{opacity:.45}50%{opacity:1}}@keyframes bell-attention{0%{transform:scale(1) rotate(0deg)}15%{transform:scale(1.25) rotate(-12deg)}30%{transform:scale(1.2) rotate(10deg)}45%{transform:scale(1.15) rotate(-8deg)}60%{transform:scale(1.1) rotate(6deg)}75%{transform:scale(1.05) rotate(-3deg)}100%{transform:scale(1) rotate(0deg)}}.notification-bell__toggle--attention{animation:bell-attention .7s ease-in-out;color:#e1eb5c}.import-history-container{max-width:72rem;margin:2rem auto;padding:0 1.5rem 3rem}.import-history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.import-history-title{font-size:1.4rem;font-weight:600;color:#1e293b;margin:0}.import-history-empty{color:#888;font-size:.9375rem;margin-top:2rem}.import-history-table{display:grid;grid-template-columns:minmax(10rem,2fr) minmax(8rem,1fr) 7rem 7rem 5rem 8rem 11rem;border:1px solid #e4e4e7;border-radius:.5rem;overflow:hidden;font-size:.875rem}.import-history-table__header{display:contents}.import-history-table__header>.import-history-table__cell{background:#f3f4f6;font-weight:600;color:#1e293b;border-bottom:2px solid #d4d4d8;padding:.625rem .875rem;white-space:nowrap}.import-history-table__row{display:contents}.import-history-table__row:hover>.import-history-table__cell{background:#f3f4f6}.import-history-table__row>.import-history-table__cell{border-bottom:1px solid #e4e4e7;padding:.625rem .875rem;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1e293b;background:#fff;transition:background .1s ease}.import-history-table__row:last-child>.import-history-table__cell{border-bottom:none}.import-history-table__cell{min-width:0}.import-history-table__cell--badge{padding-left:.275rem !important}.import-history-error-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.25);border-radius:.25rem;color:#dc2626;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;line-height:1.4}.import-history-error-btn:hover{background:rgba(220,38,38,.14);border-color:rgba(220,38,38,.4);text-decoration:underline}.import-history-error-btn:focus-visible{outline:2px solid #dc2626;outline-offset:2px}.import-history-status{display:inline-block;padding:.2rem .6rem;border-radius:.25rem;font-size:.75rem;font-weight:600;letter-spacing:.02em}.import-history-status--completed{background:rgba(5,150,105,.1);color:#059669;border:1px solid rgba(5,150,105,.25)}.import-history-status--failed{background:rgba(220,38,38,.08);color:#dc2626;border:1px solid rgba(220,38,38,.25)}.import-history-status--processing{background:rgba(217,119,6,.1);color:#d97706;border:1px solid rgba(217,119,6,.3)}.import-history-status--queued{background:#f3f4f6;color:#888;border:1px solid #e4e4e7}.view-export-history .import-history-table{grid-template-columns:minmax(10rem,2fr) 6rem 8rem 11rem 8rem}.import-history-pagination{display:flex;gap:.5rem;margin-top:1.25rem}.import-error-modal__filename{font-weight:400;color:#888;font-size:.9em}.import-error-modal__state{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2.5rem 1.5rem;font-size:.9375rem;color:#888}.import-error-modal__state--error{color:#dc2626}.import-error-modal__footer{justify-content:space-between}.import-error-table{width:100%;border-collapse:collapse;font-size:.875rem}.import-error-table th{position:sticky;top:0;background:#f3f4f6;font-weight:600;color:#1e293b;padding:.5rem 1rem;border-bottom:2px solid #d4d4d8;text-align:left;white-space:nowrap;z-index:1}.import-error-table td{padding:.5rem 1rem;border-bottom:1px solid #e4e4e7;vertical-align:top;color:#1e293b}.import-error-table tr:last-child td{border-bottom:none}.import-error-table tr:hover td{background:#f3f4f6}.import-error-table__cell--row{width:4.5rem;white-space:nowrap;font-weight:600;color:#888}.import-error-table__cell--col{width:40%;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.8125rem;color:#888;word-break:break-all}.import-error-table__cell--msg{color:#dc2626;word-break:break-word}.rules-container{max-width:56rem;margin:2rem auto;padding:0 1.5rem 3rem}.rules-header{position:sticky;top:.75rem;z-index:10;background:#fff;border:1px solid #e4e4e7;border-radius:.5rem;box-shadow:0 2px 12px rgba(0,0,0,.1);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;margin-bottom:1.25rem}.rules-header__title{font-family:"Outfit",sans-serif;font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .25rem;letter-spacing:-.01em}.rules-header__subtitle{font-size:.9375rem;color:#888;margin:0}.rules-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:5rem 2rem}.rules-empty-state__icon{font-size:2.5rem;color:#9d98fc;margin-bottom:1.25rem}.rules-empty-state__title{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 .5rem}.rules-empty-state__message{font-size:.9375rem;color:#888;max-width:28rem;margin:0 0 .375rem}.rules-empty-state__hint{font-size:.875rem;color:#888;margin:0}.rules-list{display:flex;flex-direction:column;gap:.625rem}.rule-card{background:#fff;border:1px solid #e4e4e7;border-left-width:3px;border-radius:.5rem;transition:box-shadow .15s ease,border-left-color .15s ease}.rule-card:hover{box-shadow:0 3px 12px rgba(15,23,42,.08)}.rule-card--run{border-left-color:#9d98fc}.rule-card--run:hover{border-left-color:#3d3b8e}.rule-card--unrun{border-left-color:#d4d4d8}.rule-card__body{padding:1rem 1.125rem 1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.rule-card__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.rule-card__name{font-family:"Outfit",sans-serif;font-size:1rem;font-weight:600;color:#1e293b;margin:0;letter-spacing:-.005em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-card__mappings{display:flex;flex-direction:column;gap:.375rem}.rule-mapping-group{display:flex;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.rule-mapping-group__source{display:inline-flex;align-items:center;padding:.1875rem .5625rem;background:rgba(61,59,142,.07);border:1px solid rgba(61,59,142,.18);border-radius:.25rem;color:#3d3b8e;font-size:.8125rem;font-weight:500;white-space:nowrap;flex-shrink:0}.rule-mapping-group__arrow{font-size:.875rem;color:#94a3b8;flex-shrink:0;padding:.25rem 0;line-height:1;align-self:flex-start;margin-top:.125rem}.rule-mapping-group__targets{display:flex;flex-wrap:wrap;gap:.3125rem;align-items:center}.rule-mapping-group__target{display:inline-flex;align-items:center;padding:.1875rem .5625rem;background:rgba(60,49,250,.06);border:1px solid rgba(60,49,250,.18);border-radius:.25rem;color:#3d3b8e;font-size:.8125rem;font-weight:500;white-space:nowrap}.rule-card__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:.625rem;border-top:1px solid #e4e4e7}.rule-card__created{font-size:.8125rem;color:#888}.rule-card__never-run{font-size:.8125rem;color:#94a3b8;font-style:italic}.rule-card__run-progress{margin-top:.75rem;padding-top:.75rem;border-top:.0625rem solid rgba(228,228,231,.15);display:flex;flex-direction:column;gap:.5rem}.rule-card__run-progress-track{height:.25rem;border-radius:.25rem;background:rgba(228,228,231,.15);overflow:hidden}.rule-card__run-progress-bar{height:100%;border-radius:.25rem;background:#059669}.rule-card__run-progress-bar--running{width:35%;animation:notification-progress-running 1.4s ease-in-out infinite;transition:none}.rule-card__run-summary{display:flex;align-items:center;gap:.75rem}.rule-card__run-date{font-size:.8125rem;color:#888}.rule-card__run-counts{display:flex;align-items:center;gap:.375rem}.rule-card__run-count{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .4375rem;border-radius:.25rem;font-size:.75rem;font-weight:600;white-space:nowrap}.rule-card__run-count i{margin-top:.1rem}.rule-card__run-count--success{background:rgba(5,150,105,.1);color:#059669}.rule-card__run-count--error{background:rgba(220,38,38,.08);color:#dc2626}.rule-card__actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.rule-card__action-btn{display:inline-flex;align-items:center;justify-content:center;width:1.875rem;height:1.875rem;padding:0;border-radius:.375rem;border:1px solid #e4e4e7;background:rgba(0,0,0,0);color:#888;cursor:pointer;font-size:.7rem;transition:background .15s,border-color .15s,color .15s}.rule-card__action-btn:not(:disabled):hover{background:#f3f4f6;border-color:#d4d4d8;color:#1e293b}.rule-card__action-btn:disabled{opacity:.4;cursor:not-allowed}.rule-card__action-btn--delete:not(:disabled):hover{background:rgba(220,38,38,.07);border-color:rgba(220,38,38,.28);color:#dc2626}.rule-card__action-btn--run:not(:disabled){border-color:#3d3b8e;color:#3d3b8e}.rule-card__action-btn--run:not(:disabled):hover{background:rgba(61,59,142,.06)}.create-rule-modal{display:flex;flex-direction:column;gap:1.25rem}.create-rule-modal__preview{display:none;padding:.75rem .875rem;background:#f3f4f6;border:1px solid #e4e4e7;border-radius:.375rem;margin-top:.5rem}.create-rule-modal__preview.is-visible{display:block;animation:previewFadeIn .18s ease forwards}.create-rule-modal__preview-label{font-size:.6875rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:.5rem}@keyframes previewFadeIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.create-rule-modal__field{display:flex;flex-direction:column;gap:.375rem}.create-rule-modal__label{font-size:.875rem;font-weight:600;color:#1e293b}.create-rule-modal__hint{font-size:.8125rem;color:#888;margin:0 0 .5rem}.create-rule-modal__input-wrap{position:relative}.create-rule-modal__input-wrap .create-rule-modal__input{padding-right:2.25rem}.create-rule-modal__name-status{position:absolute;right:.625rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;font-size:.875rem;pointer-events:none}.create-rule-modal__name-status--checking{color:#888}.create-rule-modal__name-status--valid{color:#059669}.create-rule-modal__input{width:100%;padding:.5rem .75rem;border:1px solid #d4d4d8;border-radius:.375rem;font-size:.9375rem;color:#1e293b;background:#fff;transition:border-color .15s,box-shadow .15s}.create-rule-modal__input:focus{outline:none;border-color:#9d98fc;box-shadow:0 0 0 3px rgba(157,152,252,.2)}.create-rule-modal__input::placeholder{color:#94a3b8}.create-rule-modal__error{font-size:.8125rem;color:#dc2626;margin-top:.125rem}.create-rule-modal__mappings-header{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem;align-items:center;padding:0 .125rem;margin-bottom:.25rem}.create-rule-modal__col-label{font-size:.75rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.04em}.create-rule-modal__col-label--target{grid-column:3}.create-rule-modal__mapping-rows{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.625rem}.create-rule-modal__mapping-row{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem;align-items:start}.create-rule-modal__arrow{font-size:1rem;color:#94a3b8;flex-shrink:0;text-align:center;padding:0 .125rem}.multi-select{position:relative;min-width:0}.multi-select__trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.4375rem .75rem;border:1px solid #d4d4d8;border-radius:.375rem;font-size:.875rem;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}.multi-select__trigger:focus{outline:none;border-color:#9d98fc;box-shadow:0 0 0 3px rgba(157,152,252,.2)}.multi-select__display{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1e293b}.multi-select__display--placeholder{color:#94a3b8}.multi-select__chevron{font-size:.625rem;color:#94a3b8;flex-shrink:0;transition:transform .15s}.multi-select__panel{display:none;position:absolute;top:calc(100% + .25rem);left:0;right:0;background:#fff;border:1px solid #d4d4d8;border-radius:.375rem;box-shadow:0 4px 16px rgba(15,23,42,.1);max-height:12rem;overflow-y:auto;z-index:100}.multi-select__option{display:flex;align-items:center;gap:.5rem;padding:.4375rem .75rem;font-size:.875rem;color:#1e293b;cursor:pointer;margin:0;width:100%;text-align:left;border:none;background:none}.multi-select__option:hover{background:#f3f4f6}.multi-select__option--checked{background:rgba(61,59,142,.05);color:#3d3b8e}.multi-select__checkbox{width:.875rem;height:.875rem;accent-color:#3d3b8e;flex-shrink:0;cursor:pointer}.multi-select__empty-hint{display:block;padding:.4375rem .75rem;font-size:.875rem;color:#888;font-style:italic;cursor:default;user-select:none}.multi-select.is-open .multi-select__trigger{border-color:#9d98fc;box-shadow:0 0 0 3px rgba(157,152,252,.2)}.multi-select.is-open .multi-select__chevron{transform:rotate(180deg)}.multi-select.is-open .multi-select__panel{display:block}.rule-preview-modal{display:flex;flex-direction:column;height:100%;overflow:hidden}@keyframes rp-skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.rule-preview-modal__loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.rule-preview-modal__skeleton-header{height:2.5rem;width:20rem;margin-bottom:2rem;border-radius:.25rem;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%;animation:rp-skeleton-shimmer 1.4s infinite}.rule-preview-modal__skeleton-rows{display:flex;flex-direction:column;gap:.75rem}.rule-preview-modal__skeleton-row{height:2.75rem;border-radius:.25rem;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%;animation:rp-skeleton-shimmer 1.4s infinite}.rule-preview-modal__empty{flex:1 1 auto;display:flex;align-items:center;justify-content:center}.rule-preview-modal__empty-inner{text-align:center;max-width:22rem}.rule-preview-modal__empty-icon{font-size:2rem;color:#888;margin-bottom:1rem}.rule-preview-modal__empty-message{color:#888;margin-bottom:1.5rem}.rule-preview-modal__error{flex:1 1 auto;display:flex;align-items:center;justify-content:center}.rule-preview-modal__error-inner{text-align:center}.rule-preview-modal__error-icon{font-size:2rem;color:#dc2626;margin-bottom:1rem}.rule-preview-modal__error-message{color:#888;margin-bottom:1.5rem}.rule-preview-modal__no-data{flex:1 1 auto;display:flex;align-items:center;justify-content:center}.rule-preview-modal__grid-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.rule-preview-modal__header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.5rem;border-bottom:1px solid #e4e4e7;background:#fff;flex-shrink:0;gap:1.5rem}.rule-preview-modal__header-left{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.rule-preview-modal__header-eyebrow{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#3d3b8e}.rule-preview-modal__title{margin:0;font-size:1.125rem;font-weight:700;letter-spacing:-.01em;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rule-preview-modal__header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.rule-preview-modal__summary-chips{display:flex;align-items:center;gap:.75rem}.rule-preview-modal__stat{font-size:.8125rem;color:#888;white-space:nowrap}.rule-preview-modal__stat strong{color:#1e293b;font-weight:700;font-variant-numeric:tabular-nums}.rule-preview-modal__summary-bar{display:flex;align-items:center;gap:.75rem;padding:.5rem 1.5rem;border-bottom:1px solid #e4e4e7;background:#fff;flex-shrink:0}.rule-preview-modal__stat-divider{width:1px;height:1rem;background:#d4d4d8;flex-shrink:0}.rule-preview-modal__legend{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;padding:.5rem 1.5rem;border-bottom:1px solid #e4e4e7;background:#f3f4f6;flex-shrink:0;min-height:2.375rem}.rule-preview-legend__heading{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#888;margin-right:.25rem;flex-shrink:0}.rule-preview-legend__item{display:inline-flex;align-items:center;gap:.375rem;padding:.2rem .625rem .2rem .4375rem;border-radius:1rem;background:#fff;border:1px solid #e4e4e7;font-size:.8125rem;font-weight:500;color:#1e293b;cursor:default;transition:background .12s,border-color .12s}.rule-preview-legend__item:hover{background:#e5e7eb;border-color:#d4d4d8}.rule-preview-legend__dot{width:.625rem;height:.625rem;border-radius:50%;background:var(--work-color);flex-shrink:0}.rule-preview-legend__count{font-size:.75rem;font-weight:400;color:#888}.rule-preview-modal__scroll-body{flex:1 1 auto;overflow:auto}.rule-preview-modal__footer{padding:.75rem 1.5rem;border-top:1px solid #e4e4e7;flex-shrink:0}.rule-preview-grid{display:grid;grid-auto-rows:2.75rem}.rule-preview-grid__corner{position:sticky;top:0;left:0;background:#f3f4f6;z-index:195;padding:0 .75rem;display:flex;align-items:center;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#888;border-bottom:2px solid #d4d4d8}.rule-preview-grid__corner--energy{left:16rem;z-index:190}.rule-preview-grid__year-header{position:sticky;top:0;background:#f3f4f6;z-index:160;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:600;letter-spacing:.01em;color:#888;border-bottom:2px solid #d4d4d8;border-right:1px solid #e4e4e7}.rule-preview-grid__address{position:sticky;left:0;background:#f7f9fb;z-index:150;padding:0 .75rem;display:flex;align-items:center;border-right:1px solid #e4e4e7;border-bottom:1px solid #e4e4e7;box-shadow:.125rem 0 .25rem rgba(0,0,0,.04);min-width:0}.rule-preview-grid__address-info{display:flex;flex-direction:column;gap:.125rem;min-width:0;overflow:hidden}.rule-preview-grid__address-uprn{font-size:.75rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rule-preview-grid__address-line{font-size:.6875rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.rule-preview-grid__energy{position:sticky;left:16rem;background:#f7f9fb;z-index:140;padding:0 .75rem;display:flex;align-items:center;border-right:2px solid #d4d4d8;border-bottom:1px solid #e4e4e7}.rule-preview-grid__target{position:relative;border-bottom:1px solid #e4e4e7;border-right:1px solid #e4e4e7}.rule-preview-grid__track{position:relative;border-bottom:1px solid #e4e4e7;border-right:1px solid #e4e4e7}.rule-preview-grid__track::after{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:color-mix(in srgb,var(--work-color,transparent) 18%,transparent);transform:translateY(-50%)}.rule-preview-grid__track-empty{border-bottom:1px solid #e4e4e7;border-right:1px solid #e4e4e7}.rule-preview-grid__event-block{position:absolute;inset:.3125rem .25rem;border-radius:.1875rem;border-left:2.5px solid var(--work-color,#3d3b8e);background:color-mix(in srgb,var(--work-color,#3d3b8e) 8%,#fff);color:var(--work-color,#3d3b8e);font-size:.625rem;font-weight:600;padding:0 .375rem 0 .5rem;display:flex;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:default;animation:rp-event-in .18s ease both}@keyframes rp-event-in{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}.rule-preview__energy-pill{font-size:.75rem;padding:.2rem .5rem;border-radius:.25rem;background:color-mix(in srgb,var(--work-color,#3c31fa) 8%,#fff);border:1px solid color-mix(in srgb,var(--work-color,#3c31fa) 22%,#fff);color:var(--work-color,#3d3b8e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:11.5rem}