:root{--font-heading: "AnkoModerat Bold", "AnkoModerat", "Poppins", "Segoe UI", Arial, sans-serif;--font-body: "Poppins", "Segoe UI", Arial, sans-serif;--font-emphasis: "Poppins", "Segoe UI", Arial, sans-serif;--color-primary: #d22730;--color-primary-dark: #971b2f;--color-primary-light: #e06a71;--color-secondary: #d7d2cb;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #971b2f;--color-info: #d22730;--color-bg: #ffffff;--color-bg-secondary: #f6f3ef;--color-bg-tertiary: #ece7e1;--color-border: #d7d2cb;--color-border-light: #ece7e1;--color-text: #212322;--color-text-secondary: #6f6a64;--color-text-muted: #948f88;--spacing-xs: 2px;--spacing-sm: 4px;--spacing-md: 8px;--spacing-lg: 12px;--spacing-xl: 16px;--spacing-2xl: 24px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px 0 rgba(0, 0, 0, .08);--shadow-lg: 0 4px 8px 0 rgba(0, 0, 0, .1);--sidebar-width: 48px;--sidebar-expanded-width: 200px;--topbar-height: 40px;--line-height-tight: 1.3;--line-height-normal: 1.4;--line-height-relaxed: 1.5}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:var(--font-body);font-size:13px;line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg-secondary)}#app{height:100%;width:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}body,input,textarea,select,button{font-family:var(--font-body)}h1,h2,h3,h4,h5,h6,.page-title,.login-title,.modal-title{font-family:var(--font-heading);font-weight:700;letter-spacing:.01em}strong,b,th,label,.btn,.badge{font-family:var(--font-emphasis);font-weight:600}.login-page{min-height:100vh;min-height:100dvh;height:100%;width:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#212322}.login-page:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#2123229e,#2123227a 28%,#212322db 54%,#212322 72%),url(/graphics/login-rock-hero.png);background-repeat:no-repeat;background-position:left -260px top 42%;background-size:auto 118%}.login-page:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#2123221f,#21232252)}.login-box{position:relative;z-index:1;background:#fff;border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;width:100%;max-width:380px;padding:var(--spacing-2xl) var(--spacing-2xl) var(--spacing-xl)}@media(max-width:1024px){.login-page:before{background-position:left -230px top 38%;background-size:auto 108%}}@media(min-width:1025px){.login-page{justify-content:flex-end;padding-left:clamp(40px,5vw,96px);padding-right:clamp(180px,18vw,360px)}.login-page:before{background-size:auto 112%;background-position:left -320px center}.login-box--signin{margin-left:0;margin-right:0}}@media(min-width:700px)and (max-width:1024px){.login-page{justify-content:center;padding-left:32px;padding-right:32px}.login-page:before{background-size:132vw auto;background-position:left -340px center}.login-box{width:min(100%,380px);max-width:380px}.login-box--signin{margin:0}}@media(min-width:700px)and (max-width:1024px)and (orientation:portrait){.login-page:before{background-size:140vw auto;background-position:left -420px bottom}}.login-logo{display:flex;justify-content:center;margin-bottom:var(--spacing-2xl)}.login-logo img{height:48px;width:auto}.login-box--signin .login-logo img{height:80px}.login-title{text-align:center;font-size:18px;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-lg)}.login-form-footer{margin-top:calc(var(--spacing-sm) * -1);display:flex;justify-content:center}.login-link-button{border:none;background:transparent;padding:0;font:inherit;font-size:12px;font-weight:500;color:var(--color-text-secondary);cursor:pointer}.login-link-button:hover{color:var(--color-primary);text-decoration:underline}.login-link-button:focus-visible{outline:2px solid rgba(210,39,48,.28);outline-offset:3px;border-radius:4px}.auth-action-button{width:100%}.auth-selection-intro,.account-access-status,.account-access-message{margin-bottom:16px;color:var(--color-text-secondary);font-size:13px}.tenant-picker{display:flex;flex-direction:column;gap:12px}.tenant-picker__search-wrap{display:flex}.tenant-picker__search{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;line-height:var(--line-height-normal);color:var(--color-text);background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.tenant-picker__search:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d227301f}.tenant-picker__list{display:flex;flex-direction:column}.tenant-picker__list--scrollable{height:308px;overflow-y:auto;padding-right:4px}.tenant-picker__empty{font-size:13px;color:var(--color-text-secondary);text-align:center;padding:8px 0 4px}.tenant-admin-actions{display:flex;gap:8px;margin-top:16px}.tenant-admin-actions__button{flex:1}.tenant-select-btn__title{font-weight:600}.tenant-select-btn__meta{font-size:12px;color:var(--color-text-secondary)}.customers-toolbar{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.customers-toolbar__search{flex:1;min-width:250px}.customers-list{margin-top:1rem}.table-empty-state,.table-empty-cell{text-align:center;padding:3rem}.page-size-select{width:auto}.customers-col-view{width:100px}.customers-name-cell{display:flex;flex-direction:column;gap:2px}.customers-name-cell__title{font-weight:500}.customers-name-cell__meta{font-size:12px}.customers-contact-cell{display:flex;flex-direction:column;gap:2px;font-size:13px}.invoices-col-actions{width:170px}.assets-col-actions{width:130px}.assets-type-cell{display:flex;align-items:center;gap:8px}.work-order-detail__quote-link{margin-left:8px;font-size:13px;text-decoration:none;cursor:pointer}.work-order-detail__tags-edit{margin-top:8px}.finance-preview-card{margin-top:12px}.finance-preview-card__value{margin-top:8px}.finance-intro{margin-bottom:12px}.invoice-number-cell{display:flex;flex-direction:column;gap:2px}.invoice-accounting-badge{font-size:10px;width:fit-content}.requirements-section-title--spaced{margin-top:24px}.rate-editor-checkbox{display:flex;align-items:center;gap:8px}.rate-editor-checkbox--spaced{margin-top:8px}.form-actions--compact{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.modal-error--spaced{margin-top:8px}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;line-height:var(--line-height-normal);transition:all .15s}omni-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;line-height:var(--line-height-normal);transition:all .15s;display:block;width:100%}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d227301f}omni-select:focus-within{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d227301f}.form-group textarea,.form-group select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;line-height:var(--line-height-normal);font-family:inherit;transition:all .15s}.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d227301f}.form-group omni-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;line-height:var(--line-height-normal);font-family:inherit;transition:all .15s}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-lg)}.app-layout{height:100%;display:flex;flex-direction:column;--impersonation-banner-height: 0px}.app-layout--impersonating{--impersonation-banner-height: 38px}.app-topbar{height:var(--topbar-height);background:#fffffff5;border-bottom:1px solid rgba(215,210,203,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;z-index:2100;display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-lg);gap:var(--spacing-lg);flex-shrink:0}.topbar-menu-btn{display:none;border:none;background:transparent;width:40px;height:40px;margin-right:var(--spacing-md);padding:0;align-items:center;justify-content:center;cursor:pointer}.topbar-menu-btn span{display:block;width:20px;height:2px;background:var(--color-text);position:relative;transition:transform .2s ease,background .2s ease}.topbar-menu-btn span:before,.topbar-menu-btn span:after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--color-text);transition:transform .2s ease}.topbar-menu-btn span:before{top:-6px}.topbar-menu-btn span:after{bottom:-6px}.app-layout.mobile-nav-open .topbar-menu-btn span{background:transparent}.app-layout.mobile-nav-open .topbar-menu-btn span:before{transform:rotate(45deg);top:0}.app-layout.mobile-nav-open .topbar-menu-btn span:after{transform:rotate(-45deg);bottom:0}.topbar-brand{display:flex;align-items:center;gap:var(--spacing-lg);flex:1}.topbar-logo{height:30px;width:auto}.topbar-tenant{display:flex;align-items:center;gap:var(--spacing-sm);padding:6px 10px;border:1px solid var(--color-border);border-radius:999px;background:#fbf8f4;font-size:13px;font-weight:500;color:var(--color-text);transition:background-color .15s ease,border-color .15s ease,color .15s ease}.topbar-tenant.clickable{cursor:pointer}.topbar-tenant.clickable:hover{background:#fff1f2;border-color:var(--color-primary);color:var(--color-primary-dark)}.topbar-tenant[disabled]{cursor:default;opacity:.7}.tenant-name{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-arrow{font-size:10px;color:var(--color-text-secondary)}.topbar-title{font-size:14px;font-weight:600;color:var(--color-text);flex:1;letter-spacing:-.01em}.topbar-account{margin-left:auto;position:relative;z-index:2101;display:flex;align-items:center}.account-trigger{border:none;background:transparent;padding:var(--spacing-xs);border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease}.account-trigger:hover{background:#fff1f2}.account-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.avatar-tag{--avatar-tag-diameter: 32px;--avatar-tag-font-size: 13px;--avatar-tag-color: var(--color-primary);display:inline-flex;vertical-align:middle;position:relative}.avatar-tag-sm{--avatar-tag-diameter: 24px;--avatar-tag-font-size: 11px}.avatar-tag-md{--avatar-tag-diameter: 32px;--avatar-tag-font-size: 13px}.avatar-tag-lg{--avatar-tag-diameter: 38px;--avatar-tag-font-size: 14px}.avatar-tag-shell{background:var(--avatar-tag-color);border-radius:999px;height:var(--avatar-tag-diameter);min-width:var(--avatar-tag-diameter);width:var(--avatar-tag-diameter);padding:0;display:inline-flex;align-items:center;justify-content:flex-start;gap:0;overflow:visible;color:#fff;box-shadow:inset 0 0 0 1px #ffffff26;transition:width .2s ease,padding .2s ease,background .2s ease;position:relative}.avatar-tag-avatar,.avatar-tag-initials{width:var(--avatar-tag-diameter);height:var(--avatar-tag-diameter);border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.avatar-tag-avatar{object-fit:cover;display:block}.avatar-tag-initials{font-weight:600;font-size:var(--avatar-tag-font-size);letter-spacing:.08em;text-transform:uppercase}.avatar-tag-details{display:inline-flex;flex-direction:column;justify-content:center;height:100%;max-width:0;opacity:0;margin-left:0;padding:2px 0;overflow:hidden;transition:max-width .2s ease,opacity .2s ease,margin-left .2s ease}.avatar-tag-label{font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap}.avatar-tag-subtitle{font-size:10px;color:#ffffffbf;line-height:1.2;margin-top:1px;white-space:nowrap}.avatar-tag-shell{transition:width .2s ease,padding .2s ease}.avatar-tag-open .avatar-tag-shell{width:auto;padding:0 var(--spacing-md) 0 0}.avatar-tag-open .avatar-tag-details{max-width:200px;opacity:1;margin-left:var(--spacing-sm)}.avatar-tag-has-image .avatar-tag-shell,.avatar-tag-has-image.avatar-tag-open .avatar-tag-shell{padding-left:0}.avatar-tag-interactive{cursor:pointer;-webkit-user-select:none;user-select:none}.avatar-tag.avatar-tag-interactive:focus-visible .avatar-tag-shell{outline:2px solid rgba(255,255,255,.7);outline-offset:3px}.avatar-tag-contrast .avatar-tag-shell{background:#ffffff26;box-shadow:inset 0 0 0 1px #ffffff59}.avatar-tag-contrast .avatar-tag-details,.avatar-tag-contrast .avatar-tag-nickname,.avatar-tag-contrast .avatar-tag-label{color:#fff}.avatar-tag-status-badge{position:absolute;top:-4px;left:-4px;width:16px;height:16px;border-radius:50%;box-shadow:0 1px 3px #0000004d;z-index:10;display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1;font-weight:600;pointer-events:none;font-family:Arial,sans-serif}.avatar-tag-status-badge:before{content:attr(data-icon);display:block;position:relative}.avatar-tag-status-badge.status-en_route{background:#f97316;font-size:12px}.avatar-tag-status-badge.status-en_route:before{top:0}.avatar-tag-status-badge.status-in_progress{background:var(--color-primary);background-image:url(/graphics/wrench.svg);background-size:10px 10px;background-position:center;background-repeat:no-repeat}.avatar-tag-status-badge.status-completed{background:#10b981;font-size:13px}.avatar-tag-status-badge.status-denied{background:#ef4444;font-size:14px;font-weight:700}.avatar-tag-status-badge.status-denied:before{top:-1px}.avatar-tag-group{display:inline-flex;align-items:center;position:relative;padding:var(--spacing-xs) 0}.avatar-tag-group .avatar-tag{position:relative;isolation:isolate;transition:transform .25s ease,margin .25s ease,z-index 0s}.avatar-tag-group .avatar-tag:not(:first-child){margin-left:calc(var(--avatar-tag-diameter) * -.25)}.avatar-tag-group .avatar-tag:nth-child(1){z-index:1}.avatar-tag-group .avatar-tag:nth-child(2){z-index:2}.avatar-tag-group .avatar-tag:nth-child(3){z-index:3}.avatar-tag-group .avatar-tag:nth-child(4){z-index:4}.avatar-tag-group .avatar-tag:nth-child(5){z-index:5}.avatar-tag-group .avatar-tag:nth-child(6){z-index:6}.avatar-tag-group .avatar-tag:nth-child(7){z-index:7}.avatar-tag-group .avatar-tag:nth-child(8){z-index:8}.avatar-tag-group .avatar-tag:nth-child(9){z-index:9}.avatar-tag-group .avatar-tag:nth-child(n+10){z-index:10}.avatar-tag-group .avatar-tag.avatar-tag-open{z-index:100!important;margin-left:10px;margin-right:10px}.avatar-tag-group .avatar-tag:first-child.avatar-tag-open{margin-left:0}.avatar-tag-group .avatar-tag-interactive:hover .avatar-tag-shell{transform:scale(1.05);box-shadow:inset 0 0 0 1px #ffffff4d,0 2px 4px #0003}.avatar-tag-contrast .avatar-tag-subtitle{color:#ffffffb3}.avatar-tag-remove{position:absolute;top:-6px;left:-6px;width:20px;height:20px;border-radius:50%;background:#ef4444;color:#fff;border:2px solid white;font-size:14px;line-height:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;font-weight:700;transition:background-color .2s ease,transform .2s ease;z-index:10;transform-origin:center center}.avatar-tag-remove:hover{background:#dc2626;transform:scale(1.15)}.avatar-tag-remove:active{transform:scale(.95)}.avatar-tag-role-badge{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);background:#000000bf;color:#fff;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 3px;border-radius:10px;white-space:nowrap;border:1px solid rgba(255,255,255,.2);z-index:5;line-height:1.2}.account-nickname{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.account-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fffffffa;border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:220px;box-shadow:0 18px 40px #21232224;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:var(--spacing-md);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease;z-index:2102}.account-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)}.account-dropdown-header{margin-bottom:var(--spacing-md)}.account-name{display:block;font-weight:600;color:var(--color-text)}.account-email{display:block;font-size:12px;color:var(--color-text-secondary)}.account-dropdown-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.account-action{width:100%;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-size:13px;color:var(--color-text);cursor:pointer;transition:background .15s ease,border-color .15s ease}.account-action:hover{background:#fff6f6;border-color:var(--color-primary);color:var(--color-primary-dark)}.account-action-danger{border-color:#fecaca;color:var(--color-danger)}.app-body{flex:1;display:flex;overflow:hidden}.app-sidebar{width:var(--sidebar-width);background:#212322;color:#fff;display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:calc(var(--topbar-height) + var(--impersonation-banner-height));left:0;bottom:0;z-index:11500;transition:width .2s ease;box-shadow:6px 0 30px #0000002e}.app-layout.sidebar-hover-expanded .app-sidebar{width:var(--sidebar-expanded-width)}.sidebar-logo{height:var(--topbar-height);display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(215,210,203,.12);overflow:hidden;background:linear-gradient(180deg,#ffffff08,#fff0)}.sidebar-logo img{height:24px;width:24px;flex-shrink:0}.sidebar-nav{flex:1;padding:var(--spacing-md) 0;overflow-y:auto;overflow-x:hidden}.nav-item{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);color:#ffffffb8;text-decoration:none;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap;font-size:13px;border-left:3px solid transparent}.nav-item:hover{background:#d7d2cb14;color:#fff}.nav-item.active{background:#d2273029;color:#fff;border-left:3px solid var(--color-primary)}.nav-item-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;text-align:center}.nav-item-text{opacity:0;transition:opacity .2s}.app-layout.sidebar-hover-expanded .app-sidebar .nav-item-text{opacity:1}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid rgba(215,210,203,.12)}.sidebar-footer .nav-item-icon{margin-left:-7px}.sidebar-account{display:none;padding:var(--spacing-md);border-top:1px solid rgba(215,210,203,.12)}.sidebar-account-toggle{width:100%;background:transparent;border:none;color:#fff;display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;padding:0}.sidebar-account-info{flex:1;text-align:left}.sidebar-account-name{display:block;font-weight:600}.sidebar-account-email{font-size:12px;color:#fffc}.sidebar-account-chevron{font-size:18px;line-height:1;transition:transform .2s ease}.sidebar-account-toggle.open .sidebar-account-chevron{transform:rotate(180deg)}.sidebar-account-panel{max-height:0;overflow:hidden;transition:max-height .2s ease,margin-top .2s ease}.sidebar-account-panel.open{margin-top:var(--spacing-md);max-height:160px}.sidebar-account-panel .account-action{width:100%;background:#ffffff0f;border-color:#d7d2cb2e;color:#fff}.sidebar-account-panel .account-action:hover{background:#d2273024;border-color:#d2273057}.sidebar-account-panel .account-action-danger{border-color:#ef444466;color:#fecaca}.app-sidebar-overlay{position:fixed;top:calc(var(--topbar-height) + var(--impersonation-banner-height));left:0;right:0;bottom:0;background:#2123226b;z-index:5000;opacity:0;pointer-events:none;transition:opacity .2s ease}.app-layout.sidebar-hover-expanded .app-sidebar~.app-sidebar-overlay{opacity:1;pointer-events:auto}.app-main{flex:1;overflow-y:auto;background:#f6f3ef;margin-left:var(--sidebar-width)}.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);min-height:var(--impersonation-banner-height);padding:8px var(--spacing-lg);border-bottom:1px solid #7f1d1d;background:#b91c1c}.impersonation-banner__info{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.impersonation-banner__text{font-size:12px;color:#fee2e2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.impersonation-banner__actions{display:inline-flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.impersonation-banner .badge{border:1px solid rgba(255,255,255,.35);color:#fff;background:#ffffff24}.impersonation-banner .btn.btn-secondary{border-color:#ffffff59;color:#fee2e2;background:#0000001f}.impersonation-banner .btn.btn-secondary:hover{background:#0003}.impersonation-banner .btn.btn-danger{border-color:#7f1d1de6;background:#7f1d1d}.impersonation-banner .btn.btn-danger:hover{background:#991b1b}.app-main--full-height{overflow:hidden;display:flex;flex-direction:column}.page-content{padding:var(--spacing-xl);width:100%}.page-content--full-height{padding:0;height:100%;overflow:hidden}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.page-header h1{font-size:18px;font-weight:600;color:var(--color-text);letter-spacing:-.02em}.badge{padding:2px 6px 4px;text-align:center;border-radius:4px}.work-order-detail .bookings .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.work-order-detail .work-order-add-menu,.work-order-add-menu--header{position:relative}#header-add-menu-btn .icon{width:16px;height:16px;stroke-width:2.5}.work-order-detail .work-order-add-menu__dropdown,.work-order-add-menu__dropdown--header{position:absolute;top:calc(100% + 6px);right:0;min-width:150px;display:flex;flex-direction:column;gap:2px;padding:4px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);box-shadow:0 8px 20px #00000026;z-index:30}.work-order-detail .work-order-add-menu__dropdown[hidden],.work-order-add-menu__dropdown--header[hidden]{display:none}.work-order-detail .work-order-add-menu__item,.work-order-add-menu__item{border:0;background:transparent;text-align:left;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:12px;color:var(--color-text)}.work-order-detail .work-order-add-menu__item:hover,.work-order-add-menu__item:hover{background:var(--color-bg-secondary)}.work-order-detail .work-order-summary-card{padding:14px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg)}.work-order-detail .work-order-summary-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.work-order-detail .work-order-summary-eyebrow{font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase;color:var(--color-text-secondary)}.work-order-detail .work-order-summary-title{font-size:18px;font-weight:700;line-height:1.25;color:var(--color-text)}.work-order-detail .work-order-summary-toggle{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;padding:5px 0;border:0;background:transparent;color:var(--color-primary);font-size:13px;font-weight:600;cursor:pointer}.work-order-detail .work-order-summary-toggle:hover,.work-order-detail .work-order-summary-toggle:focus-visible{color:var(--color-primary-dark, var(--color-primary));text-decoration:underline}.work-order-detail .work-order-summary-grid:not(.is-expanded) .work-order-detail-extra{display:none}.work-order-detail .detail-item-full{grid-column:1 / -1}.work-order-detail .detail-item-inline-flow{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 8px;max-width:100%}.work-order-detail .detail-item-inline-flow>label{margin:0}.work-order-detail .detail-item-inline-flow>.work-order-service-code-block,.work-order-detail .detail-item-inline-flow>.tags-inline-editor{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;max-width:100%}.work-order-detail .work-order-detail-tabs{display:flex;gap:14px;margin-top:20px;margin-bottom:14px;border-bottom:1px solid var(--color-border)}.work-order-detail .work-order-detail-tab-btn,.work-order-detail .work-order-activity-tab-btn{display:inline-flex;align-items:center;gap:6px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:13px;font-weight:600;line-height:1.2;padding:8px 0}.work-order-detail .work-order-detail-tab-btn:hover,.work-order-detail .work-order-activity-tab-btn:hover,.work-order-detail .work-order-detail-tab-btn.is-active,.work-order-detail .work-order-activity-tab-btn.is-active{color:var(--color-text);border-bottom-color:var(--color-primary)}.work-order-detail .work-order-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:11px;font-weight:600}.work-order-detail .work-order-detail-tab-btn.is-active .work-order-count-badge,.work-order-detail .work-order-activity-tab-btn.is-active .work-order-count-badge{background:#fff1f2;color:var(--color-primary)}.work-order-detail .work-order-detail-tab-panel[hidden]{display:none}.work-order-detail .booking-empty{font-size:13px}.work-order-detail .booking-list{display:flex;flex-direction:column;gap:8px}.work-order-detail .booking-item{padding:12px}.work-order-detail .booking-item--editable{cursor:pointer}.work-order-detail .booking-item-main{margin-bottom:8px}.work-order-detail .booking-badges{float:right;display:flex;align-items:center;gap:8px;margin:-5px -5px 3px 5px}.work-order-detail .booking-jsa-badge{border:0;cursor:pointer}.work-order-detail .booking-edit-badge-btn{padding:2px 6px;min-height:22px;line-height:1}.work-order-detail .booking-description{font-weight:500;font-size:13px;margin-bottom:4px;line-height:1.35}.booking-description--booking-number{margin-top:-4px}.work-order-detail .booking-description-clear{clear:both}.work-order-detail .work-order-description-block{display:flex;flex-direction:column;gap:8px}.work-order-detail .work-order-description-text{line-height:1.45;overflow-wrap:anywhere}.work-order-detail .work-order-description-text.is-collapsed{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:10;overflow:hidden}.work-order-detail .work-order-description-text.is-expanded{display:block}.work-order-detail .work-order-description-toggle{align-self:flex-start}.work-order-detail .service-code-summary-list{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}.work-order-detail .service-code-summary-actions{display:flex;justify-content:flex-start}.work-order-detail .service-code-summary-title{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.work-order-detail .service-code-summary-item{position:relative;display:inline-block;vertical-align:top;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-secondary);overflow:hidden;max-width:100%}.work-order-detail .service-code-summary-item--add{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;cursor:pointer;color:var(--color-text)}.work-order-detail .service-code-summary-item[open]{border-radius:10px;overflow:visible}.work-order-detail .service-code-summary-toggle{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 8px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;box-sizing:border-box}.work-order-detail .service-code-summary-toggle .badge{padding:0 6px;line-height:1.1}.work-order-detail .service-code-summary-toggle::-webkit-details-marker{display:none}.work-order-detail .service-code-summary-toggle:after{content:"▾";font-size:11px;color:var(--color-text-secondary)}.work-order-detail .service-code-summary-item[open] .service-code-summary-toggle:after{transform:rotate(180deg)}.work-order-detail .service-code-summary-body{position:absolute;top:calc(100% + 6px);left:0;z-index:20;min-width:280px;max-width:min(460px,calc(100vw - 48px));padding:8px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-secondary);box-shadow:0 10px 30px #0f172a24}.work-order-detail .service-code-summary-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.work-order-detail .service-code-summary-actions-inline{display:inline-flex;align-items:center;gap:6px}.work-order-detail .service-code-summary-header-left{display:inline-flex;align-items:center;gap:6px;min-width:0}.work-order-detail .service-code-summary-description{margin-top:4px;font-size:12px;color:var(--color-text)}.work-order-detail .service-code-summary-meta{display:inline-flex;gap:8px;margin-top:4px;font-size:11px;color:var(--color-text-secondary)}.work-order-detail .service-code-summary-tasks{margin-top:4px;font-size:11px;color:var(--color-text-secondary)}.work-order-detail .booking-meta{font-size:12px;color:var(--color-text-secondary)}.work-order-detail .booking-completion-divider{margin:8px 0;border:0;border-top:1px solid var(--color-border)}.work-order-detail .booking-completion{display:flex;flex-direction:column;gap:8px}.work-order-detail .booking-completion-item__header{font-size:12px;font-weight:600}.work-order-detail .booking-completion-item__description{font-size:12px;margin-top:2px}.work-order-detail .booking-completion-item__times{display:flex;flex-wrap:wrap;gap:10px;margin-top:3px;font-size:11px;color:var(--color-text-secondary)}.work-order-detail .booking-completion-item__override{color:var(--color-text)}.work-order-detail .booking-assets{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.work-order-detail .booking-add-cost-btn{margin-top:8px}.work-order-detail .booking-actions-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.work-order-detail .booking-secondary-actions{display:inline-flex;gap:8px;flex-wrap:wrap}.work-order-detail .booking-secondary-actions .booking-add-cost-btn{margin-top:0}.work-order-detail .booking-action-row{display:inline-flex;gap:8px;flex-wrap:wrap}.work-order-detail .booking-photos-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.work-order-detail .booking-photos-title{font-weight:500;font-size:12px;margin-bottom:8px}.work-order-detail .work-order-forms-gate{margin-top:20px;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.work-order-detail .work-order-forms-gate__summary{padding:12px 14px;cursor:pointer;background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:space-between;gap:12px}.work-order-detail .work-order-forms-gate__title{font-weight:600;font-size:14px}.work-order-detail .work-order-forms-gate__hint{font-size:12px}.work-order-detail .work-order-forms-gate__summary-right{display:inline-flex;align-items:center;gap:8px}.work-order-detail .work-order-forms-gate__body{padding:12px}.work-order-detail .work-order-forms-gate__header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.work-order-detail .work-order-forms-gate__header h3{margin:0;font-size:14px;font-weight:600}.work-order-detail .work-order-forms-gate__description{margin:0;font-size:12px}.work-order-detail .work-order-forms-empty{font-size:13px;margin:0}.work-order-detail .work-order-forms-col-type{width:130px}.work-order-detail .work-order-forms-col-booking,.work-order-detail .work-order-forms-col-submitted-by{width:170px}.work-order-detail .work-order-forms-col-status{width:130px}.work-order-detail .work-order-forms-col-submitted{width:170px}.work-order-detail .work-order-forms-col-actions{width:90px}.work-order-detail .work-order-attachments-section{margin-top:24px;padding-top:16px;border-top:1px solid var(--color-border)}.work-order-detail .work-order-attachments-title{margin:0;font-size:14px}.work-order-detail .work-order-activity-section{margin-top:20px;border:0;border-radius:0;background:transparent;padding:0}.work-order-detail .work-order-activity-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.work-order-detail .work-order-activity-header h3{margin:0;font-size:15px}.work-order-detail .work-order-activity-header p{margin:3px 0 0;font-size:12px}.work-order-detail .work-order-activity-tabs-wrap{display:flex;align-items:stretch;gap:8px;margin-top:12px;border-bottom:1px solid var(--color-border)}.work-order-detail .work-order-activity-tabs{display:flex;flex:1 1 auto;flex-wrap:nowrap;gap:12px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scroll-behavior:smooth}.work-order-detail .work-order-activity-tabs-arrow{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-secondary);cursor:pointer}.work-order-detail .work-order-activity-tabs-arrow:hover:not(:disabled){color:var(--color-text)}.work-order-detail .work-order-activity-tabs-arrow:disabled{color:var(--color-text-muted);cursor:default;opacity:.4}.work-order-detail .work-order-activity-panel{padding-top:12px}.work-order-detail .work-order-activity-panel[hidden]{display:none}.work-order-detail .work-order-activity-all-tools{display:flex;align-items:center;gap:8px;margin-bottom:12px}.work-order-detail .work-order-activity-quick-comment{display:flex;align-items:center;flex:1 1 auto;min-width:0;gap:6px}.work-order-detail .work-order-activity-quick-comment input{flex:1 1 auto;min-width:0;height:30px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface, #fff);color:var(--color-text);font:inherit;font-size:13px;padding:0 9px}.work-order-detail .work-order-activity-quick-comment .btn{height:30px}.work-order-detail .work-order-add-menu--activity{flex:0 0 auto;position:relative}.work-order-detail .work-order-activity-add-btn{width:30px;min-width:30px;height:30px;padding:0;font-size:16px;line-height:1}.work-order-detail .work-order-add-menu__dropdown--activity{right:0;left:auto;top:calc(100% + 4px)}.work-order-detail .work-order-activity-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.work-order-detail .work-order-activity-panel-header h4{margin:0;font-size:14px}.work-order-detail .work-order-forms-list{display:grid;gap:8px;min-width:0}.work-order-detail .work-order-form-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--color-border-light)}.work-order-detail .work-order-form-row:first-child{border-top:1px solid var(--color-border-light)}.work-order-detail .work-order-form-row__main{min-width:0}.work-order-detail .work-order-form-row__title{overflow:hidden;color:var(--color-text);font-size:13px;font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.work-order-detail .work-order-form-row__meta{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:3px;color:var(--color-text-secondary);font-size:12px;line-height:1.3}.work-order-detail .work-order-form-row__meta span:not(:last-child):after{content:"·";margin-left:8px}.work-order-detail .work-order-form-row__badges{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.work-order-detail .work-order-activity-empty{border:1px dashed var(--color-border);border-radius:8px;background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:13px;padding:12px}.work-order-detail .work-order-activity-timeline{position:relative}.work-order-detail .work-order-activity-timeline-item{position:relative;display:grid;grid-template-columns:28px 1fr;gap:8px;padding:0 0 14px}.work-order-detail .work-order-activity-timeline-item:not(:last-child):after{content:"";position:absolute;left:13px;top:30px;bottom:0;width:1px;background:var(--color-border)}.work-order-detail .work-order-activity-timeline-icon{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-secondary);color:var(--color-text-secondary)}.work-order-detail .work-order-activity-timeline-media{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;overflow:hidden;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-secondary)}.work-order-detail .work-order-activity-timeline-media img{width:100%;height:100%;object-fit:cover;display:block}.work-order-detail .work-order-activity-timeline-media--file{border-radius:999px}.work-order-detail .work-order-activity-attachment-preview{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;padding:0;cursor:pointer}.work-order-detail .work-order-activity-attachment-preview .work-order-activity-timeline-media{width:38px;height:38px}.work-order-detail .work-order-activity-attachment-preview:hover .work-order-activity-timeline-media{border-color:var(--color-primary)}.work-order-detail .work-order-activity-timeline-body{min-width:0;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.work-order-detail .work-order-activity-timeline-item:last-child .work-order-activity-timeline-body{padding-bottom:0;border-bottom:0}.work-order-detail .work-order-activity-timeline-text{font-size:13px;font-weight:500;line-height:1.35}.work-order-detail .work-order-activity-timeline-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.work-order-detail .work-order-activity-timeline-copy{min-width:0}.work-order-detail .work-order-activity-timeline-action{flex:0 0 auto}.work-order-detail .work-order-activity-open-btn{white-space:nowrap}.work-order-detail .work-order-activity-timeline-meta{margin-top:3px;color:var(--color-text-secondary);font-size:12px;line-height:1.3}.work-order-detail .work-order-system-list{display:grid;gap:8px}.work-order-detail .work-order-system-event{border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-secondary);padding:10px 12px;font-size:13px}.work-order-detail .work-order-system-event span{display:block;margin-top:3px;color:var(--color-text-secondary);font-size:12px}.entity-comments{display:grid;gap:12px}.entity-comments__composer,.entity-comment{border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-secondary);padding:10px}.entity-comments__textarea{width:100%;min-height:76px;resize:vertical;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface, #fff);color:var(--color-text);font:inherit;font-size:13px;line-height:1.4;padding:8px}.entity-comments__composer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px}.entity-comments__hint{margin-right:auto;color:var(--color-text-secondary);font-size:12px}.entity-comments__error{border:1px solid var(--color-danger);border-radius:8px;background:#fef2f2;color:var(--color-danger);font-size:13px;padding:8px 10px}.entity-comments__list{display:grid;gap:8px}.entity-comment__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}.entity-comment__header strong{display:block;font-size:13px}.entity-comment__header span{display:block;margin-top:2px;color:var(--color-text-secondary);font-size:12px}.entity-comment__actions{display:flex;flex:0 0 auto;gap:6px}.entity-comment__body{color:var(--color-text);font-size:13px;line-height:1.4;overflow-wrap:anywhere}.work-order-detail .work-order-communication{display:block}.work-order-detail .work-order-communication__list-wrap{display:flex;flex-direction:column;min-height:0}.work-order-detail .work-order-communication__header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.work-order-detail .work-order-communication__header h3{margin:0;font-size:14px}.work-order-detail .work-order-communication__list{border:0;border-radius:0;background:transparent;min-height:0;padding:0;overflow:auto;display:flex;flex-direction:column;gap:10px;min-height:420px}.work-order-detail .work-order-communication-empty{color:var(--color-text-secondary);font-size:13px}.work-order-detail .work-order-email-thread{border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-secondary);overflow:hidden}.work-order-detail .work-order-email-thread__header,.work-order-detail .work-order-email-message-btn{list-style:none}.work-order-detail .work-order-email-thread__header::-webkit-details-marker,.work-order-detail .work-order-email-message-btn::-webkit-details-marker{display:none}.work-order-detail .work-order-email-thread__header{width:100%;border:0;background:transparent;text-align:left;padding:10px 12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px}.work-order-detail .work-order-email-thread__header.is-open{border-bottom:1px solid var(--color-border)}.work-order-detail .work-order-email-thread__chevron{width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);color:var(--color-text-secondary);flex:0 0 auto;margin-right:4px;transition:transform .18s ease}.work-order-detail .work-order-email-thread__header.is-open .work-order-email-thread__chevron{transform:rotate(225deg)}.work-order-detail .work-order-email-thread__subject{font-size:13px;font-weight:600}.work-order-detail .work-order-email-thread__meta{margin-top:4px;font-size:11px;color:var(--color-text-secondary)}.work-order-detail .work-order-email-thread__messages{display:flex;flex-direction:column;background:var(--color-bg)}.work-order-detail .work-order-email-message+.work-order-email-message{border-top:1px solid var(--color-border)}.work-order-detail .work-order-email-message[open]{background:#d227300a}.work-order-detail .work-order-email-message-btn{width:100%;border:0;background:transparent;text-align:left;padding:12px;display:flex;flex-direction:column;gap:3px;cursor:pointer}.work-order-detail .work-order-email-message-btn:hover,.work-order-detail .work-order-email-message-btn.is-active{background:#d2273014}.work-order-detail .work-order-email-message[open] .work-order-email-message-btn{border-bottom:1px solid var(--color-border)}.work-order-detail .work-order-email-message-btn__direction{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary)}.work-order-detail .work-order-email-message-btn__summary{font-size:13px;font-weight:500;color:var(--color-text)}.work-order-detail .work-order-email-message-btn__meta{font-size:11px;color:var(--color-text-secondary)}.work-order-detail .work-order-email-detail--inline{padding:12px;background:var(--color-bg)}.work-order-detail .work-order-email-detail__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.work-order-detail .work-order-email-detail__meta{margin-top:6px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--color-text-secondary)}.work-order-detail .work-order-email-detail__frame{width:100%;max-height:min(56vh,620px);border:1px solid var(--color-border);border-radius:8px;background:#fff}.work-order-detail .work-order-email-detail__text{font-size:13px;line-height:1.5;white-space:pre-wrap}.work-order-email-compose{display:flex;flex-direction:column}.work-order-email-compose__form{display:flex;flex-direction:column;gap:14px}.work-order-email-compose__toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.work-order-email-compose__toolbar-btn{min-width:44px}.work-order-email-compose__editor{min-height:220px;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);overflow:auto}.work-order-email-compose__attachments{max-height:220px;overflow:auto}.work-order-email-compose__restore-option{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:13px;color:var(--color-text-secondary)}.work-order-email-compose__restore-option input{margin:0}.work-order-email-compose__attachments-list{margin-top:0}.work-order-email-compose__attachment-card.attachment-item{max-width:none;flex-basis:calc(50% - var(--spacing-sm));cursor:pointer;align-items:center}.work-order-email-compose__attachment-card .attachment-item-info{align-self:center;justify-content:center}.work-order-email-compose__attachment-card .attachment-item-actions{margin-top:0}.work-order-email-compose__attachment-card.is-selected,.work-order-email-compose__attachment-card.is-selected:hover{border-color:#1cb9f6;background:#1cb9f6}.work-order-email-compose__attachment-card.is-selected .attachment-item-name,.work-order-email-compose__attachment-card.is-selected:hover .attachment-item-name{color:#fff}.work-order-email-compose__attachment-card.is-selected .attachment-item-meta,.work-order-email-compose__attachment-card.is-selected:hover .attachment-item-meta{color:#ffffffc2}.work-order-email-compose__attachment-preview{flex-shrink:0}.work-order-email-compose__attachment-select{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.work-order-email-compose__attachment-select input{margin:0}.attachment-item.work-order-email-compose__attachment-card{gap:6px;padding:6px}.work-order-email-compose__attachments-empty{font-size:12px;color:var(--color-text-secondary)}.work-order-email-compose__attachments-empty{padding:2px}.work-order-email-compose__actions{display:flex;justify-content:flex-end;gap:8px}.work-order-detail.work-order-detail--drag-over{outline:2px dashed var(--color-primary);outline-offset:6px;border-radius:8px}.work-order-detail .work-order-asset-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-bg-secondary, #f3f4f6);border:1px solid var(--color-border, #e5e7eb);border-radius:4px;font-size:11px;color:var(--color-text, #374151)}.work-order-detail .asset-tag-icon{display:inline-block;vertical-align:middle}.work-order-detail .work-order-asset-tag__type{font-weight:500}.work-order-detail .work-order-asset-tag__id{color:var(--color-text-secondary, #6b7280)}.work-order-detail .work-order-tag-dropdown[hidden]{display:none}.submission-view-modal{max-width:980px;width:calc(100vw - 32px)}.submission-view-modal__body{max-height:70vh;overflow:auto}.submission-view-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:12px}.submission-view-loading{margin:0}.booking-jsa-modal{max-width:760px;width:calc(100vw - 32px)}.booking-jsa-modal__body{max-height:70vh;overflow:auto}.booking-jsa-modal__empty{margin:0}.booking-jsa-col-submitted,.booking-jsa-col-actions{width:180px}.booking-jsa-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.select-form-modal{max-width:760px;width:calc(100vw - 32px)}.select-form-modal__body{max-height:70vh;overflow:auto}.select-form-modal__hint{margin-top:0;margin-bottom:12px}.select-form-modal__list{display:flex;flex-direction:column;gap:8px}.work-order-select-form-btn{justify-content:flex-start;text-align:left;padding:12px}.work-order-select-form-btn__name{display:block;font-weight:600}.work-order-select-form-btn__type{display:block;font-size:12px;opacity:.8}.fill-form-modal{max-width:980px;width:calc(100vw - 32px)}.fill-form-modal__body{max-height:70vh;overflow:auto}.fill-form-modal__target{font-size:12px;color:var(--color-text-secondary);margin-bottom:10px}.submission-report{display:flex;flex-direction:column;gap:12px}.submission-report__section{padding:12px}.submission-report__section-header{margin-bottom:10px}.submission-report__section-title{margin:0;font-size:14px}.submission-report__section-description{margin:6px 0 0;font-size:12px}.submission-report__empty{margin:0;font-size:12px}.submission-report__questions,.submission-report__entries{display:grid;gap:10px}.submission-report__entry{padding:10px;border-style:dashed}.submission-report__entry-title{font-size:12px;font-weight:600;margin-bottom:8px}.submission-question-row__label{font-size:12px;font-weight:600;margin-bottom:4px}.submission-question-row__value{font-size:13px;color:var(--color-text)}.submission-answer{font-weight:600}.submission-answer--yes{color:#166534}.submission-answer--no{color:#991b1b}.submission-answer--na{color:var(--color-text)}.submission-answer-list{margin:0;padding-left:18px}.submission-answer--prewrap{white-space:pre-wrap}.submission-photo-grid{display:flex;flex-wrap:wrap;gap:8px}.submission-attachment{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:6px;text-decoration:none;overflow:hidden}.submission-attachment--photo{width:92px;height:92px;font-size:11px;color:var(--color-text-secondary);background:var(--color-bg-secondary)}.submission-attachment--signature{width:240px;min-height:90px;font-size:12px;color:var(--color-text-secondary);background:#fff}.submission-attachment--disabled{pointer-events:none;opacity:.7}.submission-signature-image{display:block;max-width:100%;max-height:140px;border:1px solid var(--color-border);border-radius:6px;background:#fff}.submission-answer-json{margin:0;white-space:pre-wrap;font-size:12px}.submission-attachment__image{width:100%}.submission-attachment__image--cover{height:100%;object-fit:cover}.submission-attachment__image--contain{max-height:130px;object-fit:contain}.page-actions{display:flex;gap:5px;flex-wrap:wrap}#refresh-dashboard,#new-work-order{min-height:40px;padding-inline:12px;font-weight:600}#refresh-dashboard .icon,#new-work-order .icon{width:16px;height:16px}#work-orders-content>.table-container{overflow:auto}#work-orders-content .work-orders-filter-header div{display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:7px 14px;-webkit-appearance:none;appearance:none;border:1px solid transparent;border-radius:var(--radius-md);font-family:inherit;font-weight:600;font-size:13px;line-height:1.1;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease;white-space:nowrap;-webkit-user-select:none;user-select:none;text-decoration:none}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #d2273029}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 10px 20px #d2273029}.btn-success{background:var(--color-success);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-secondary{background:#fff;color:var(--color-text);border-color:var(--color-border);box-shadow:0 1px 2px #2123220a}.btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-primary);color:var(--color-primary-dark)}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#7f172a;border-color:#7f172a}.btn-info{background-color:var(--color-info);color:#fff;border-color:var(--color-info)}.btn-info:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-sm{padding:4px 10px;font-size:12px}.btn-icon{padding:5px;width:28px;height:28px;text-decoration:none}.btn-icon:hover{text-decoration:none}.booking-action-btn{font-size:12px;padding:var(--spacing-sm) var(--spacing-lg);white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:var(--radius-sm);font-size:11px;font-weight:500;line-height:var(--line-height-tight)}.badge-primary{background:#dbeafe;color:#1e40af}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-secondary{background:#f1f5f9;color:#475569}.toast-host{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:2200;display:flex;flex-direction:column;gap:.75rem;width:min(24rem,calc(100vw - 2rem));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;border:1px solid rgba(15,23,42,.12);border-left-width:4px;border-radius:14px;background:#fffffff7;box-shadow:0 10px 24px #0f172a24,0 24px 54px #0f172a33;color:#0f172a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;opacity:0;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease}.toast.is-visible{opacity:1;transform:translateY(0)}.toast.is-exiting{opacity:0;transform:translateY(-8px)}.toast--success{border-left-color:#15803d}.toast--info{border-left-color:#0369a1}.toast__body{flex:1;min-width:0}.toast__title{margin-bottom:.2rem;font-size:.9rem;font-weight:700}.toast__message{font-size:.92rem;line-height:1.4}.toast__close{border:0;background:transparent;color:#0f172aa3;font-size:1.1rem;line-height:1;cursor:pointer;padding:.1rem}.toast__close:hover{color:#0f172a}@media(max-width:768px){.toast-host{top:.75rem;left:50%;right:auto;width:min(24rem,calc(100vw - 1.5rem))}}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input-group{display:flex;gap:var(--spacing-sm);align-items:stretch}.input-group .form-control{flex:1}.input-group .btn{white-space:nowrap}.form-group label{font-size:12px;font-weight:500;color:var(--color-text-secondary)}.form-group input{padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;line-height:var(--line-height-normal);transition:all .15s}omni-select{--omni-select-padding: 3px 6px;--omni-select-width: 100%;--omni-select-radius: var(--radius-md);--omni-select-border: var(--color-border);--omni-select-border-focus: var(--color-primary);font-size:13px;line-height:var(--line-height-normal)}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}omni-select:focus-within{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-group textarea,.form-group select{padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;line-height:var(--line-height-normal);font-family:inherit;transition:all .15s}.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.login-error{padding:var(--spacing-md);background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:var(--color-danger);font-size:12px;display:none}.login-error.show{display:block}.form-row{display:grid;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.form-row-2{grid-template-columns:1fr 1fr}.form-row-3{grid-template-columns:1fr 1fr 1fr}.form-field{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-field label{font-size:12px;font-weight:500;color:var(--color-text-secondary);line-height:var(--line-height-tight)}.form-field input,.form-field select,.form-field textarea{padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;line-height:var(--line-height-normal);font-family:inherit;transition:all .15s;display:block;width:100%}.form-field omni-select{--omni-select-padding: 3px 6px;--omni-select-width: 100%;--omni-select-radius: var(--radius-md);--omni-select-border: var(--color-border);--omni-select-border-focus: var(--color-primary);font-size:13px;line-height:var(--line-height-normal)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.form-field omni-select:focus-within{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-field textarea{resize:vertical;min-height:60px}.input-with-suffix{display:flex;align-items:stretch}.input-with-suffix .input-suffix{display:flex;align-items:center;padding:0 var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-left:none;border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:13px;color:var(--color-text-secondary)}.input-with-suffix input{border-radius:var(--radius-md) 0 0 var(--radius-md);flex:1}.form-section-repeatable{margin-bottom:var(--spacing-2xl)}.repeatable-validation-error{margin:var(--spacing-sm) 0 var(--spacing-md);font-size:12px;color:var(--color-danger);display:none}.form-section-repeatable.has-error .repeatable-validation-error{display:block}.repeatable-entries{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.entry-card{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);transition:all .15s}.entry-card:hover{border-color:var(--color-primary);box-shadow:0 2px 4px #0000000d}.entry-card-content{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.entry-summary{flex:1;font-size:13px;color:var(--color-text);line-height:var(--line-height-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.btn-add-entry{width:100%}.repeatable-entries .empty-state{text-align:center;padding:var(--spacing-xl);background:var(--color-bg-secondary);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.repeatable-entries .empty-state p{margin:0;font-size:13px;color:var(--color-text-secondary)}.subform-entry-dialog .modal-content{max-width:800px;max-height:90vh;display:flex;flex-direction:column}.subform-entry-dialog .modal-body{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.subform-entry-dialog #subform-entry-renderer{min-height:200px}.address-search-wrapper{position:relative}.address-suggestions{position:absolute;top:100%;left:0;right:0;z-index:1000;background:var(--color-bg);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);max-height:300px;overflow-y:auto;box-shadow:0 4px 6px #0000001a;margin-top:-1px}.address-suggestions.hidden{display:none}.address-suggestion-item{padding:var(--spacing-md);cursor:pointer;border-bottom:1px solid var(--color-border-light);transition:background-color .15s}.address-suggestion-item:hover,.address-suggestion-item.selected{background-color:var(--color-bg-secondary)}.address-suggestion-item:last-child{border-bottom:none}.address-suggestion-item.no-results{cursor:default;color:var(--color-text-secondary);font-style:italic}.address-suggestion-item.no-results:hover{background-color:transparent}.suggestion-primary{font-size:14px;color:var(--color-text);line-height:var(--line-height-normal)}.address-dialog{display:flex;flex-direction:column;gap:var(--spacing-md)}.address-dialog .side-by-side{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:var(--spacing-lg)}.address-dialog__divider{margin:0;border:none;border-top:1px solid var(--color-border)}.address-dialog__form-fields{grid-column:1;grid-row:1}.address-dialog__form{display:flex;flex-direction:column;gap:var(--spacing-md)}.address-dialog__form-hint{color:var(--color-text-secondary);font-size:12px}.address-dialog__form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.address-dialog__map-container{grid-column:2;grid-row:1 / 3;display:flex;flex-direction:column}.address-dialog__map-wrapper{flex:1;display:flex;flex-direction:column}.address-dialog__map{flex:1;min-height:400px;border:1px solid var(--color-border);border-radius:var(--radius-md)}.address-dialog__map-hint{color:var(--color-text-secondary);font-size:12px;margin-top:var(--spacing-sm)}.address-dialog__actions{grid-column:1;grid-row:2;display:flex;gap:var(--spacing-md);justify-content:flex-end;align-self:end}.address-dialog__actions .btn{min-width:100px}.form-renderer{display:flex;flex-direction:column;gap:var(--spacing-xl)}.form-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.form-section-header{padding:var(--spacing-lg);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.form-section-title{margin:0;font-size:16px;font-weight:600}.form-section-description{margin:var(--spacing-sm) 0 0;font-size:13px;color:var(--color-text-secondary)}.form-section-questions{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.question-container{display:flex;flex-direction:column;gap:var(--spacing-sm)}.question-container.hidden{display:none}.question-label{font-size:14px;font-weight:500;color:var(--color-text)}.question-label .required-mark{color:var(--color-danger);margin-left:2px}.question-label .question-unit{font-weight:400;color:var(--color-text-secondary);margin-left:var(--spacing-sm)}.question-description{font-size:13px;color:var(--color-text-secondary);margin:0}.question-hint{font-size:12px;color:var(--color-text-tertiary);margin:var(--spacing-xs) 0 0}.question-input{width:100%}.question-input.is-invalid{border-color:var(--color-danger)}.question-error{font-size:12px;color:var(--color-danger);display:none}.question-container.has-error .question-error{display:block}.yes-no-na-buttons{display:flex;gap:var(--spacing-sm)}.yes-no-na-buttons .btn-choice{flex:1;padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.yes-no-na-buttons .btn-choice:hover{background:var(--color-bg-secondary)}.yes-no-na-buttons .btn-choice.active.btn-yes{background:var(--color-success);border-color:var(--color-success);color:#fff}.yes-no-na-buttons .btn-choice.active.btn-no{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.yes-no-na-buttons .btn-choice.active.btn-na{background:var(--color-text-secondary);border-color:var(--color-text-secondary);color:#fff}.compliance-warning{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#fff3cd;border:1px solid #ffc107;border-radius:var(--radius-md);color:#856404;font-size:13px}.radio-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.radio-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:14px;cursor:pointer}.radio-label input[type=radio]{width:18px;height:18px;margin:0}.checkbox-group .checkbox-label{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-size:14px;cursor:pointer;padding:var(--spacing-sm) 0}.checkbox-group .checkbox-label input[type=checkbox]{width:18px;height:18px;margin:0;flex-shrink:0}.checkbox-group .checkbox-label span{line-height:1.4}.signature-pad-container{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:#fff}.signature-canvas{display:block;width:100%;height:150px;cursor:crosshair;touch-action:none}.signature-controls{display:flex;justify-content:flex-end;padding:var(--spacing-sm);background:var(--color-bg-secondary);border-top:1px solid var(--color-border)}.form-stepper-mode{display:flex;flex-direction:column;height:100%;padding:0;gap:0}.stepper-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.stepper-section-title{font-size:14px;font-weight:600;color:var(--color-text)}.stepper-progress-text{font-size:13px;color:var(--color-text-secondary)}.stepper-progress{display:flex;justify-content:center;gap:6px;padding:var(--spacing-md);background:var(--color-bg-secondary)}.stepper-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border);transition:all .2s}.stepper-dot.active{background:var(--color-primary);transform:scale(1.25)}.stepper-dot.answered{background:var(--color-success)}.stepper-dot.active.answered{background:var(--color-primary)}.stepper-bar{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden;width:100%}.stepper-bar-fill{height:100%;background:var(--color-primary);transition:width .3s ease}.stepper-question-wrapper{flex:1;overflow-y:auto;padding:var(--spacing-xl) var(--spacing-lg)}.stepper-question-wrapper .question-container{animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stepper-nav{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg);border-top:1px solid var(--color-border)}.stepper-nav .btn{flex:1}.stepper-prev:disabled{opacity:.5;cursor:not-allowed}.jsa-modal{background:#00000080!important}.jsa-modal .modal-content{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);box-sizing:border-box;height:calc(100% - 15px);width:calc(100% - 15px);margin:15px;padding:10px}.jsa-dialog{display:flex;flex-direction:column}.jsa-dialog .form-renderer{flex:1;overflow-y:auto}.jsa-dialog.stepper-mode .form-renderer{overflow:hidden}.stepper-checkbox-cluster{display:flex;flex-direction:column;gap:var(--spacing-sm)}.stepper-checkbox-cluster .question-compact-checkbox{padding:0;margin:0}.stepper-checkbox-cluster .question-compact-checkbox .checkbox-group{margin-top:0}.shadow-crew-section{padding:var(--spacing-lg);background:var(--color-bg-secondary);border-top:1px solid var(--color-border)}.shadow-crew-section h4{margin:0 0 var(--spacing-md);font-size:14px;font-weight:600}.shadow-crew-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.shadow-crew-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:14px}.shadow-crew-item input[type=checkbox]{width:18px;height:18px}.sortable-ghost{opacity:.4}.sortable-drag{opacity:1}.form-builder-modal .modal-content{background:#fff;max-width:1000px;width:95%;height:90vh;max-height:90vh;display:flex;flex-direction:column;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.form-builder-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.form-builder-header-section{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.form-builder-header-section .form-row{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-md);flex-wrap:wrap}.form-builder-header-section .form-checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-builder-header-section .form-checkbox-group label{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500}.form-builder-header-section .form-checkbox-group small{color:var(--color-text-secondary);font-size:12px;margin-left:24px}.form-builder-main{flex:1;display:flex;overflow:hidden}.form-builder-structure{flex:1;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--color-border)}.structure-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.structure-header h3{margin:0;font-size:14px;font-weight:600}.sections-container{flex:1;overflow-y:auto;padding:var(--spacing-md)}.empty-structure{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.form-section-card{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);background:#fff}.form-section-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.form-section-card .section-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);cursor:pointer}.section-drag-handle{color:var(--color-text-secondary);cursor:grab}.section-info{flex:1}.section-title{font-weight:600;font-size:14px}.section-question-count{font-size:12px;color:var(--color-text-secondary);margin-left:var(--spacing-sm)}.section-actions{display:flex;gap:var(--spacing-xs)}.section-questions{padding:var(--spacing-sm)}.no-questions{text-align:center;color:var(--color-text-secondary);font-size:13px;padding:var(--spacing-md)}.question-card{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xs);background:#fff;cursor:pointer}.question-card:hover{background:var(--color-bg-secondary)}.question-card.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.question-drag-handle{color:var(--color-text-secondary);cursor:grab;font-size:10px}.question-type-badge{font-size:16px}.question-card .question-label{flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.required-badge{font-size:10px;padding:2px 6px;background:var(--color-warning-light);color:var(--color-warning);border-radius:var(--radius-sm);font-weight:500}.question-card .question-actions{display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity .15s}.question-card:hover .question-actions{opacity:1}.form-builder-toolbox{width:220px;padding:var(--spacing-md);overflow-y:auto}.form-builder-toolbox h3{margin:0 0 var(--spacing-md) 0;font-size:14px;font-weight:600}.question-types-grid{display:flex;flex-direction:column;gap:var(--spacing-xs)}.question-type-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;cursor:pointer;text-align:left;transition:all .15s}.question-type-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-primary)}.question-type-icon{font-size:16px}.question-type-label{font-size:13px}.question-editor-modal .modal-content{background:#fff;max-width:600px;width:95%;max-height:90vh;overflow-y:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.question-type-tag{font-size:12px;font-weight:400;background:var(--color-bg-secondary);padding:2px 8px;border-radius:var(--radius-sm);margin-left:var(--spacing-sm)}.prefill-badge{font-size:10px;padding:2px 6px;background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-weight:500;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prefill-fieldset,.conditional-fieldset,.compliance-fieldset{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-md);margin:var(--spacing-md) 0}.prefill-fieldset legend,.conditional-fieldset legend,.compliance-fieldset legend{padding:0 var(--spacing-xs);font-size:13px;font-weight:600}.options-editor{margin-top:var(--spacing-md)}.options-editor>label{display:block;margin-bottom:var(--spacing-sm);font-weight:500}.options-list{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.option-row{display:flex;gap:var(--spacing-sm);align-items:center}.option-row .option-label{flex:2}.option-row .option-value{flex:1}.form-section-card.repeatable-section{border-left:3px solid var(--color-info)}.form-section-card.repeatable-section .section-title{display:flex;align-items:center;gap:var(--spacing-sm)}.section-editor-modal .modal-content{max-width:600px}.section-editor-modal #repeatable-options{padding-left:var(--spacing-lg);border-left:2px solid var(--color-border);margin-top:var(--spacing-md)}.card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:0 10px 24px #2123220d}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.card-title{font-size:14px;font-weight:600;color:var(--color-text);letter-spacing:-.01em}.card-body{font-size:13px}.tenant-card{display:block;padding:16px;background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:all .15s;width:100%}.tenant-card:hover{background:var(--color-bg-secondary);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.tenant-card:active{transform:translateY(0)}.tenant-select-btn{display:block;position:relative;width:100%;padding:16px;margin-bottom:12px;background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.tenant-select-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-primary);transform:translate(2px);box-shadow:0 8px 18px #2123220f}.tenant-select-btn:active{transform:translate(2px)}.tenant-select-btn:last-child{margin-bottom:0}.tenant-select-btn__favorite{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:999px;color:var(--color-text-muted);font-size:15px;line-height:1;transition:background-color .15s ease,color .15s ease,transform .15s ease}.tenant-select-btn:hover .tenant-select-btn__favorite{color:var(--color-primary)}.tenant-select-btn__favorite.is-active{color:var(--color-primary);background:#d227301a}.tenant-select-btn__content{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding-right:28px}.tenant-modal,.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:modalFadeIn .15s ease-out;pointer-events:auto}.modal-overlay .modal-dialog,.modal-overlay .modal-content,.tenant-modal .tenant-modal-content{pointer-events:auto}.modal-overlay.closing{animation:modalFadeOut .15s ease-out forwards}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalFadeOut{0%{opacity:1}to{opacity:0}}.tenant-modal-content,.modal-dialog{background:#fff;border-radius:var(--radius-md);padding:20px;min-width:320px;width:100%;max-width:480px;box-shadow:var(--shadow-lg);max-height:90vh;max-height:90dvh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-title{margin:0;font-size:18px;font-weight:600}.modal-close{background:none;border:none;font-size:28px;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .15s}.modal-close:hover{background:var(--color-bg-secondary);color:var(--color-text)}.modal-body{padding:0}.report-editor-frame-dialog-shell{width:min(96vw,1600px);max-width:min(96vw,1600px);height:min(92vh,92dvh);display:flex;flex-direction:column;overflow:hidden}.report-editor-frame-dialog-shell .modal-body{flex:1;min-height:0}.report-editor-frame-dialog{height:100%;min-height:0;display:flex;flex-direction:column}.report-editor-frame-dialog__status{padding:8px 12px;font-size:13px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.report-editor-frame-dialog__iframe{flex:1;min-height:0;width:100%;border:none;background:#fff}.pdf-preview-dialog{max-width:min(1100px,calc(100vw - 32px));width:min(1100px,calc(100vw - 32px));height:min(88vh,88dvh);display:flex;flex-direction:column}.pdf-preview-dialog .modal-body{flex:1;min-height:0}.pdf-preview-modal-content{height:100%;min-height:0;position:relative}.pdf-preview-loading{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);color:var(--color-text-secondary);background:var(--color-bg-secondary)}.pdf-preview-loading .spinner{margin:0}.pdf-preview-loading-text{margin:0;font-size:14px}.pdf-preview-error{margin:var(--spacing-md);padding:var(--spacing-md);border:1px solid rgba(220,38,38,.25);background:#dc262614;color:var(--color-danger);border-radius:var(--radius-md)}.pdf-preview-frame-wrap{height:100%;min-height:0;background:#eef2f7}.pdf-preview-frame{width:100%;height:100%;border:none;background:#fff}.booking-action-dialog{display:flex;flex-direction:column;gap:var(--spacing-md)}.booking-action-dialog__message{margin:0;color:var(--color-text);line-height:1.45}.booking-action-dialog__message--secondary{color:var(--color-text-secondary)}.ios-install-steps{margin:0 0 16px 20px;padding:0}.booking-action-dialog__textarea{min-height:110px;resize:vertical}.booking-action-dialog__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.booking-action-dialog__list-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary)}.booking-action-dialog__list-title{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.02em;margin-bottom:var(--spacing-xs)}.booking-action-dialog__list{margin:0;padding-left:18px}.customer-detail-dialog{display:flex;flex-direction:column;gap:var(--spacing-md)}.customer-detail-dialog__toolbar{display:flex;justify-content:flex-end}.customer-detail-dialog__toolbar-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;width:100%}.customer-detail-dialog__summary{padding:var(--spacing-md)}.customer-detail-dialog__summary-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);flex-wrap:wrap}.customer-detail-dialog__summary-main{min-width:0;flex:1}.customer-detail-dialog__accounting-status{min-width:0;margin-top:var(--spacing-md);font-size:12px;line-height:1.4}.customer-detail-dialog__title{margin:0 0 var(--spacing-sm)}.customer-detail-dialog__contacts{display:flex;flex-direction:column;gap:2px;margin-top:var(--spacing-sm)}.customer-detail-dialog__contact-line{font-size:14px}.customer-detail-dialog__contact-person{display:flex;align-items:center;gap:4px;font-size:13px;margin-top:4px}.customer-detail-dialog__primary-badge{font-size:9px}.customer-detail-dialog__contact-subline{font-size:12px;color:var(--color-text-secondary);margin-left:8px}.customer-detail-dialog__contacts-empty{margin:var(--spacing-sm) 0 0}.customer-detail-dialog__tabs{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.customer-detail-dialog__tab-btn{margin:0}.customer-detail-dialog__content{min-height:0}.customer-detail-dialog__panel{padding:var(--spacing-md)}.customer-detail-dialog__loading{text-align:center;padding:var(--spacing-xl)}.permission-group-editor{max-width:700px}.permissions-tree{border:1px solid var(--border-color);border-radius:var(--radius-md);max-height:400px;overflow-y:auto}.permission-group-item{border-bottom:1px solid var(--border-color)}.permission-group-item:last-child{border-bottom:none}.permission-group-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--surface-1);cursor:pointer;transition:background-color .15s ease}.permission-group-header:hover{background:var(--surface-2)}.permission-group-toggle{background:none;border:none;padding:0;font-size:12px;color:var(--text-secondary);cursor:pointer;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.permission-group-label{flex:1;font-weight:500;font-size:14px;color:var(--text-primary)}.permission-select-all,.permission-clear-all{font-size:12px;padding:4px 8px;color:var(--primary-color);text-decoration:none;border-radius:var(--radius-sm);transition:background-color .15s ease}.permission-select-all:hover,.permission-clear-all:hover{background:var(--primary-bg)}.permission-group-body{padding:8px 16px 8px 40px}.permission-group-body.hidden{display:none}.permission-checkbox{display:flex;align-items:flex-start;gap:8px;padding:8px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.permission-checkbox.disabled{opacity:.5;cursor:not-allowed}.permission-checkbox input[type=checkbox]{margin-top:2px;flex-shrink:0}.permission-label{display:block;font-weight:500;font-size:13px;color:var(--text-primary);margin-bottom:2px}.permission-description{display:block;font-size:12px;color:var(--text-secondary);line-height:1.4}.badge-xs{font-size:10px;padding:2px 6px;margin-left:6px}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.modal-error{padding:var(--spacing-md);background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:var(--color-danger);font-size:13px;margin-bottom:var(--spacing-lg)}.tenant-modal-list{max-height:400px;overflow-y:auto}.tenant-modal-item{display:flex;align-items:center;width:100%;padding:12px;margin-bottom:8px;background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:all .15s;gap:10px}.tenant-modal-item:hover{background:var(--color-bg-secondary);border-color:var(--color-primary)}.tenant-modal-item.active{border-color:var(--color-primary);background:var(--color-bg-secondary)}.tenant-modal-item:last-child{margin-bottom:0}.impersonation-dialog{display:flex;flex-direction:column;gap:var(--spacing-md)}.impersonation-user-list{max-height:320px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);padding:var(--spacing-xs);display:flex;flex-direction:column;gap:6px}.impersonation-user-row{width:100%;text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;padding:10px 12px;display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.impersonation-user-row:hover{border-color:var(--color-primary);background:#eff6ff}.impersonation-user-row.is-selected{border-color:var(--color-primary);background:#dbeafe}.impersonation-user-row__name{display:inline-block;font-weight:600;color:var(--color-text)}.impersonation-user-row__email{color:var(--color-text-secondary);font-size:12px}.impersonation-dialog__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.impersonation-dialog__empty{padding:var(--spacing-md);color:var(--color-text-secondary);font-size:13px;text-align:center}.customer-import-table tbody tr.customer-import-row--create td{background:#d1fae5}.customer-import-table tbody tr.customer-import-row--matched td{background:#dbeafe}.customer-import-table tbody tr.customer-import-row--ambiguous td{background:#fef3c7}.customer-import-table tbody tr.customer-import-row--error td,.customer-import-table tbody tr.customer-import-row--skipped td{background:#f1f5f9}.location-warning-modal{max-width:500px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.location-warning-modal .warning-icon{font-size:48px;text-align:center;margin-bottom:var(--spacing-lg)}.location-warning-modal .modal-body{padding:var(--spacing-2xl)}.location-warning-modal .modal-body p{margin-bottom:var(--spacing-lg);line-height:var(--line-height-relaxed)}.location-warning-modal .text-muted{font-size:13px;color:var(--color-text-secondary);margin-top:var(--spacing-xl)}.modal-overlay{display:flex;align-items:center;justify-content:center;position:fixed;inset:0;background:#00000080;z-index:12000}.completion-dialog{max-width:600px}.completion-dialog .form-group{margin-bottom:var(--spacing-xl)}.completion-dialog .form-group label{display:block;font-weight:500;margin-bottom:var(--spacing-sm);font-size:13px}.completion-dialog .checkbox-label{display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;padding:var(--spacing-sm) 0;font-weight:400}.completion-dialog .checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.completion-dialog .help-text{font-size:12px;color:var(--color-text-secondary);margin-top:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.completion-dialog .completion-override-tabs{display:inline-flex;gap:6px;margin-bottom:8px}.completion-dialog .completion-override-pane.hidden{display:none}.completion-dialog .completion-draft-status{min-height:1.2em}.completion-dialog .alert{padding:var(--spacing-lg);border-radius:var(--radius-md);font-size:13px;margin-top:var(--spacing-xl)}.completion-dialog .alert-info{background-color:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.completion-dialog .completion-service-code-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.completion-dialog .completion-service-code-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg-secondary)}.completion-dialog .completion-service-code-item__main{min-width:0}.completion-dialog .completion-service-code-item__title{font-size:13px;font-weight:600;color:var(--color-text)}.completion-dialog .completion-service-code-item__meta{margin-top:2px;font-size:12px;color:var(--color-text-secondary)}.completion-dialog .completion-service-code-item__actions{display:inline-flex;align-items:center;gap:6px}.booking-timeline-modal{display:flex;flex-direction:column;gap:12px}.booking-timeline-list{display:flex;flex-direction:column;gap:10px}.work-order-audit-filters{display:flex;flex-wrap:wrap;gap:8px}.work-order-audit-filter-btn{border:1px solid var(--color-border-light);background:var(--color-bg-primary);color:var(--color-text-secondary);border-radius:999px;padding:4px 10px;font-size:12px;line-height:1.4;cursor:pointer}.work-order-audit-filter-btn.is-active{border-color:var(--color-primary);color:var(--color-text);background:var(--color-primary-light)}.booking-timeline-item{border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:10px;background:var(--color-bg-secondary)}.booking-timeline-item__header{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.booking-timeline-item__changes{margin:8px 0 0;padding-left:16px;display:flex;flex-direction:column;gap:4px;font-size:12px}.modal-content{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:auto;padding:15px;max-width:90vw;max-height:90vh;max-height:90dvh}.panel{pointer-events:auto!important;isolation:isolate}.panel-backdrop{isolation:isolate}#work-order-form .wo-create-inline-row{display:flex;gap:8px}#work-order-form .wo-create-inline-input{flex:1}.work-order-email-compose .wo-create-inline-row{display:flex;gap:8px}.work-order-email-compose .wo-create-inline-input{flex:1}.work-order-email-compose__recipient-manual{margin-top:10px;padding:12px;border:1px solid var(--color-border-light);border-radius:8px;background:var(--color-bg-secondary)}.work-order-email-compose__recipient-manual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.work-order-email-compose__recipient-manual-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--color-text-secondary)}.work-order-email-compose__recipient-manual-grid input{background:var(--color-bg-primary)}.work-order-email-compose__recipient-help{display:block;margin-top:10px;color:var(--color-text-secondary);font-size:12px}#work-order-form .wo-create-tags-row{display:flex;flex-direction:row;align-items:flex-start;gap:8px}#work-order-form .wo-create-tags-row>label{margin:6px 0 0;white-space:nowrap}#work-order-form .wo-create-tags-content{flex:1;min-width:0}#work-order-form .wo-create-priority-inline{display:flex;align-items:center;gap:8px}#work-order-form .wo-create-priority-inline label{margin:0;white-space:nowrap}#work-order-form .wo-create-priority-inline select{flex:1}#work-order-form .wo-create-quote-toggle-row{display:flex;align-items:center;justify-content:flex-end;min-height:34px;gap:8px}#work-order-form .wo-create-quote-toggle-label{font-size:12px;font-weight:500;color:var(--color-text-secondary)}#work-order-form .wo-create-switch{position:relative;display:inline-flex;width:44px;height:24px;cursor:pointer;flex:0 0 auto}#work-order-form .wo-create-switch input{position:absolute;opacity:0;width:0;height:0}#work-order-form .wo-create-switch-slider{position:absolute;inset:0;border-radius:999px;background:var(--color-border);transition:background-color .15s ease}#work-order-form .wo-create-switch-slider:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s ease}#work-order-form .wo-create-switch input:checked+.wo-create-switch-slider{background:var(--color-primary)}#work-order-form .wo-create-switch input:checked+.wo-create-switch-slider:before{transform:translate(20px)}#work-order-form .wo-create-switch input:focus-visible+.wo-create-switch-slider{box-shadow:0 0 0 2px #2563eb40}#work-order-form .wo-create-tag-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}#work-order-form .wo-create-tag-option{display:inline-flex;align-items:center;gap:6px}#work-order-form .wo-create-photo-list{margin-top:8px;display:flex;flex-direction:column;gap:6px}#work-order-form .wo-create-photo-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border:1px solid var(--color-border-light);border-radius:6px;background:var(--color-bg-secondary)}#work-order-form .wo-create-photo-name{font-size:12px;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px}#work-order-form .wo-create-photo-remove{color:var(--color-danger)}#work-order-form .wo-create-booking-list{margin:8px 0;display:flex;flex-direction:column;gap:8px}#work-order-form .wo-create-seq-item{border:1px solid var(--color-border-light);border-radius:8px;padding:10px;background:var(--color-bg-secondary);display:flex;flex-direction:column;gap:8px}#work-order-form .wo-create-seq-row{display:flex;flex-direction:column;gap:4px}#work-order-form .wo-create-seq-row label,#work-order-form .wo-create-seq-top-grid label,#work-order-form .wo-create-seq-grid label{font-size:12px;color:var(--color-text-secondary)}#work-order-form .wo-create-seq-top-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:8px}#work-order-form .wo-create-seq-top-grid label{display:flex;flex-direction:column;gap:4px}#work-order-form .wo-create-seq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#work-order-form .wo-create-seq-grid label{display:flex;flex-direction:column;gap:4px}#work-order-form .wo-create-seq-actions{display:flex;justify-content:flex-end}#booking-form .booking-form__address-row{display:flex;gap:8px}#booking-form .booking-form__address-select{flex:1}#booking-form .booking-form__help{color:var(--color-text-secondary);font-size:12px}#booking-form .booking-form__selected-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}#booking-form .booking-form__wide-select{width:100%}#booking-form .booking-form__worker-item,#booking-form .booking-form__asset-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--color-bg-secondary);border-radius:4px}#booking-form .booking-form__worker-name-row{font-weight:500;font-size:13px;display:flex;gap:8px;align-items:center}#booking-form .booking-form__shadow-badge{font-size:11px}#booking-form .booking-form__worker-role{font-size:12px;margin-top:4px;padding:2px 4px}#booking-form .booking-form__remove-btn{color:var(--color-danger)}#booking-form .booking-form__asset-title{font-weight:500;font-size:13px}#booking-form .booking-form__asset-type{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.quote-cta{margin:4px 0;padding:6px;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px}.quote-cta__header{display:flex;align-items:center;gap:12px}.quote-cta__icon{font-size:20px}.quote-cta__title{font-weight:500;font-size:14px;color:#92400e}.quote-cta__description{font-size:12px;color:#92400e;margin-top:2px}.quote-cta__button{width:100%;margin-top:8px}.col-w-80{width:80px}.col-w-100{width:100px}.col-w-120{width:120px}.col-w-140{width:140px}.col-w-170{width:170px}.col-w-180{width:180px}.table-container{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 10px 24px #2123220a}.table,.data-table{width:100%;border-collapse:collapse;font-size:13px}.table thead,.data-table thead{background:#f1ece6}.table th,.data-table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:600;color:var(--color-text-secondary);font-size:12px;line-height:var(--line-height-tight);border-bottom:1px solid var(--color-border)}.table td,.data-table td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-light);line-height:var(--line-height-tight)}.table tbody tr:last-child td,.data-table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover,.data-table tbody tr:hover{background:#fbf8f4}.work-orders-table{table-layout:auto}.work-orders-table .work-orders-crn-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-orders-table .work-orders-description-cell{white-space:normal;line-height:1.35}.work-orders-table .work-orders-description-text{white-space:normal;line-height:1.35;overflow-wrap:anywhere;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.work-orders-filter-header{position:relative}.work-orders-filter-header>div{display:inline-flex;align-items:center;gap:4px}.work-orders-sort-btn{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.work-orders-sort-btn:hover{color:var(--color-primary)}.work-orders-filter-header.is-sorted{background:#fbf3f3}.work-orders-sort-btn.is-sorted{color:var(--color-primary);font-weight:600}.work-orders-sort-btn.is-sorted .work-orders-sort-icon{color:var(--color-primary)}.work-orders-sort-icon{font-size:11px;color:var(--color-text-secondary)}.work-orders-filter-btn{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:2px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-text-secondary);cursor:pointer}.work-orders-filter-btn:hover,.work-orders-filter-btn.is-open,.work-orders-filter-btn.is-active{border-color:var(--color-border);background:#fbf3f3;color:var(--color-primary)}.work-orders-filter-menu{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:10px}.work-orders-filter-menu__header{font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.03em}.work-orders-filter-menu__search{width:100%;margin-bottom:8px}.work-orders-filter-menu__options{max-height:220px;overflow:auto;border:1px solid var(--color-border-light);border-radius:6px;padding:6px;background:#fff}.work-orders-filter-menu__option{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 2px}.work-orders-filter-menu__option.hidden{display:none}.work-orders-filter-menu__date-field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;font-size:12px;color:var(--color-text-secondary)}.work-orders-filter-menu__date-field input{width:100%}.work-orders-filter-menu__actions{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}.work-orders-pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--color-border-light)}.work-orders-pagination__summary{font-size:12px;color:var(--color-text-secondary)}.work-orders-pagination__controls{display:flex;align-items:center;gap:8px}.work-orders-pagination__controls [data-wo-page-size],.work-orders-pagination__controls [data-quote-page-size],.work-orders-pagination__controls [data-asset-page-size]{width:96px}.work-orders-pagination__page{font-size:12px;color:var(--color-text-secondary)}.description-cell{max-width:320px;white-space:normal;overflow:hidden;text-overflow:unset}.description-cell .description-cell__content{white-space:normal;overflow-wrap:anywhere;line-height:1.35}.description-cell .description-cell__content.is-clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.description-cell .description-cell__toggle{margin-top:4px;padding:0;border:0;background:none;color:var(--color-primary);font-size:12px;font-weight:600;cursor:pointer}.description-cell.is-expanded .description-cell__content.is-clamped{display:block;overflow:visible}.description-cell.is-expanded .description-cell__toggle{color:var(--color-text-secondary)}.dashboard-customer-name{font-weight:500}.wo-row-description{display:none}.wo-row-description td.dashboard-description-row-cell{padding-top:0}.dashboard-description-row{display:block}.dashboard-description-row__content{display:block;min-width:0;color:var(--color-text-secondary);white-space:normal;overflow-wrap:anywhere;line-height:1.35}.dashboard-description-row__title{display:inline;white-space:nowrap;margin-right:6px;font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.dashboard-description-row__content.is-clamped{max-height:calc(1.35em * 3);overflow:hidden}.dashboard-description-row__toggle-wrap{width:100%;display:flex;justify-content:center;margin-top:6px}.dashboard-description-row .description-cell__toggle{margin:0}.dashboard-description-row.is-expanded .dashboard-description-row__content.is-clamped{display:block;max-height:none;overflow:visible}.customer-cell>div{display:flex;flex-direction:column;gap:2px}.customer-cell .customer-address{font-size:12px;color:var(--color-text-secondary)}.table-link{color:inherit;text-decoration:none;display:block;width:100%;height:100%}.table-link:hover{color:var(--color-primary);text-decoration:none}.fieldWorker.page-content{display:flex;flex-direction:column;gap:10px}.fieldWorker .outstanding-workOrders,.fieldWorker .todays-workOrders,.fieldWorker .tomorrows-workOrders,.fieldWorker .future-workOrders,.fieldWorker .completed-workOrders,.fieldWorker .history-workOrders{display:flex;flex-direction:column;gap:10px;padding:10px;margin:0}.fieldWorker .outstanding-workOrders .job,.fieldWorker .todays-workOrders .job,.fieldWorker .tomorrows-workOrders .job,.fieldWorker .future-workOrders .job,.fieldWorker .completed-workOrders .job,.fieldWorker .history-workOrders .job{padding:0;display:flex;flex-direction:column;gap:12px}.fieldWorker .dashboard-booking-card{padding:16px}.fieldWorker .dashboard-booking-card--highlight{box-shadow:0 0 0 2px #22c55e73,0 12px 28px #22c55e29;border-color:#22c55e73;animation:dashboard-booking-highlight-fade 4.5s ease-out 1}.fieldWorker .dashboard-booking-card-main{cursor:pointer;outline:none}.fieldWorker .dashboard-booking-card-main:focus-visible{border-radius:8px;box-shadow:0 0 0 2px var(--color-primary)}.fieldWorker .dashboard-booking-card-head{display:block;margin-bottom:12px}.fieldWorker .dashboard-booking-card-title-wrap{min-width:0}.fieldWorker .dashboard-booking-card-status-badge{float:right;margin-left:10px;margin-bottom:6px}.fieldWorker .dashboard-booking-card-title{font-weight:600;font-size:15px;margin-bottom:6px}.fieldWorker .dashboard-booking-card-meta{font-size:13px;color:var(--color-text-secondary);margin-bottom:4px}.fieldWorker .dashboard-booking-card-address,.fieldWorker .dashboard-booking-card-schedule{font-size:12px;color:var(--color-text-secondary);margin-bottom:4px}.fieldWorker .dashboard-booking-card-address{display:inline-flex;align-items:center;gap:6px}.fieldWorker .dashboard-booking-card-address__text{min-width:0}.fieldWorker .dashboard-booking-card-address__link{display:inline-flex;align-items:center;justify-content:center;color:inherit;text-decoration:none;flex:0 0 auto}.fieldWorker .dashboard-booking-card-address__link:hover{color:var(--color-primary)}.fieldWorker .dashboard-booking-card-schedule{margin-bottom:0}.fieldWorker .dashboard-booking-actions{display:flex;flex-wrap:wrap;justify-content:space-around;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}@keyframes dashboard-booking-highlight-fade{0%{box-shadow:0 0 0 3px #22c55e8c,0 14px 30px #22c55e33}to{box-shadow:0 0 0 2px #22c55e73,0 12px 28px #22c55e29}}@media(min-width:769px){.fieldWorker .dashboard-booking-card{display:flex;flex-direction:row;align-items:stretch;gap:12px}.fieldWorker .dashboard-booking-card-main{flex:1;min-width:0}.fieldWorker .dashboard-booking-actions{width:170px;margin-top:0;padding-top:0;padding-left:12px;border-top:none;border-left:1px solid var(--color-border);flex-direction:column;justify-content:space-around;align-items:stretch;gap:8px}.fieldWorker .dashboard-booking-actions .dashboard-booking-action-btn{width:100%;justify-content:center}}@media(max-width:322px){.dashboard-view-tabs{display:inline-flex;align-items:center;gap:3px}.dashboard-view-tabs .btn{min-height:36px;padding:4px 9px;font-size:12px;font-weight:600}}.outstanding-notice{background:#fef3c7;border:none;padding:10px;border-radius:8px;margin-bottom:0;display:flex;justify-content:start;gap:12px}.outstanding-notice .card-title{color:#92400e;font-size:14px}.dashboard-title-block{display:flex;flex-direction:column;gap:8px}.dashboard-view-tabs{display:inline-flex;align-items:center;gap:4px}.dashboard-view-tabs .btn{min-height:40px;padding:5px 12px;font-size:13px;font-weight:600}.dispatchWorker.page-content{display:flex;flex-direction:column;gap:10px}.dispatch-search-card{padding:10px}.dispatch-workorders-section .job{display:flex;flex-direction:column;gap:10px}.dispatch-workorder-card{padding:14px}.dispatch-workorder-main{cursor:pointer;outline:none}.dispatch-workorder-main:focus-visible{border-radius:8px;box-shadow:0 0 0 2px var(--color-primary)}.dispatch-workorder-head{display:block}.dispatch-workorder-title-wrap{min-width:0}.dispatch-workorder-status-badge{float:right;margin-left:10px;margin-bottom:6px}.dispatch-workorder-title{position:relative;font-weight:600;font-size:15px;margin-bottom:6px;max-height:56px;overflow:hidden}.dispatch-workorder-title.has-overflow:after{content:"";position:absolute;left:0;right:0;bottom:0;height:18px;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,0),var(--color-bg))}.dispatch-workorder-meta{font-size:13px;color:var(--color-text-secondary);margin-bottom:4px}.dispatch-workorder-address,.dispatch-workorder-schedule{font-size:12px;color:var(--color-text-secondary);margin-bottom:4px}.dispatch-workorder-divider{clear:both;border:0;border-top:1px solid var(--color-border);margin:10px 0}.dispatch-workorder-assigned{width:100%;border:0;background:transparent;text-align:left;padding:0;cursor:pointer;display:flex;flex-direction:column;gap:8px}.dispatch-workorder-assigned-label{font-size:12px;color:var(--color-text-secondary);font-weight:600}.dispatch-workorder-assigned-values .avatar-tag-group{justify-content:flex-start}.dispatch-workorder-assigned-empty{font-size:12px;color:var(--color-text-secondary)}.dispatch-booking-form .dispatch-worker-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow:auto;padding:8px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-secondary)}.dispatch-booking-form .dispatch-worker-help{font-size:12px;color:var(--color-text-secondary);margin-bottom:8px}.dispatch-booking-form .dispatch-worker-row{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:6px;cursor:pointer;justify-content:flex-start}.dispatch-booking-form .dispatch-worker-row:hover{background:var(--color-bg-tertiary)}.dispatch-booking-form .dispatch-worker-row.is-unavailable{background:#ef44440f}.dispatch-booking-form .dispatch-worker-row input[type=checkbox],.dispatch-booking-form .dispatch-worker-avatar{flex:0 0 auto}.dispatch-booking-form .dispatch-worker-name{font-size:13px;flex:1;min-width:0}.dispatch-booking-form .dispatch-worker-availability{flex:0 0 auto;font-size:11px;font-weight:600;padding:2px 6px;border-radius:999px}.dispatch-booking-form .dispatch-worker-availability.badge-success{background:var(--color-success);color:#fff}.dispatch-booking-form .dispatch-worker-availability.badge-warning{background:var(--color-warning);color:#111827}.dispatch-booking-form .dispatch-worker-availability.badge-danger{background:var(--color-danger);color:#fff}.dispatch-booking-form .dispatch-worker-availability.badge-secondary{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.fieldWorker details>summary.card-header{list-style:none;cursor:pointer}.fieldWorker details>summary.card-header::-webkit-details-marker{display:none}.fieldWorker .booking-completion-summary{margin-top:-4px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-secondary)}.fieldWorker .booking-completion-time{font-size:12px;color:var(--color-text-secondary)}.fieldWorker .booking-completion-notes{margin-top:8px}.fieldWorker .booking-completion-notes__content{display:block;font-size:12px;line-height:1.45;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word}.fieldWorker .booking-completion-notes__content.is-clamped{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}.fieldWorker .booking-completion-notes__toggle{margin-top:8px}.settings-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--spacing-xl);align-items:flex-start}.settings-mobile-nav{display:none}.manage-users-shell .settings-pane--standalone{min-height:auto}.settings-sidebar{position:sticky;top:calc(var(--spacing-xl));align-self:flex-start;display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-xl);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);min-width:0}.settings-sidebar-tenant{display:flex;flex-direction:column;gap:2px}.settings-sidebar-tenant p{font-weight:600;margin:0}.settings-sidebar-tenant span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.settings-search{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--spacing-md);gap:var(--spacing-sm);background:var(--color-bg-secondary)}.settings-search input{border:none;background:transparent;padding:var(--spacing-sm) 0;flex:1}.settings-search input:focus{outline:none}.settings-search-icon{font-size:14px;color:var(--color-text-muted)}.settings-search-empty{font-size:12px;color:var(--color-text-muted);padding:0 var(--spacing-xs)}.settings-search-results{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);background:#fff;display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-search-results[hidden]{display:none}.settings-search-results-header{display:flex;justify-content:space-between;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.settings-search-clear{border:none;background:transparent;color:var(--color-primary);font-size:12px;font-weight:600;cursor:pointer;padding:0}.settings-search-results-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-search-result{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);width:100%;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg-secondary);padding:var(--spacing-md);text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease}.settings-search-result:hover{background:#fff;border-color:var(--color-border)}.settings-search-result-copy{display:flex;flex-direction:column;gap:4px}.settings-search-result-label{font-weight:600}.settings-search-result-description{margin:0;font-size:12px;color:var(--color-text-secondary)}.settings-card-focus{border-color:#2563eb73;box-shadow:0 0 0 3px #3b82f61f;transition:border-color .2s ease,box-shadow .2s ease}.settings-search-result-category{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}.settings-search-results-empty{display:flex;flex-direction:column;gap:var(--spacing-sm);font-size:12px;color:var(--color-text-secondary)}.settings-markup-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.settings-markup-section{border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-md)}.settings-markup-section legend{font-weight:600;font-size:13px;padding:0 var(--spacing-xs)}.settings-markup-grid{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.settings-markup-grid label{font-size:13px;font-weight:600;color:var(--color-text)}.settings-markup-grid input,.settings-markup-grid select{max-width:260px}.settings-markup-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:center}.settings-customer-markup-card{margin-top:var(--spacing-lg)}.branding-card,.branding-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.branding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md)}.branding-grid .form-field-full{grid-column:1 / -1}.branding-assets{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--spacing-md)}.branding-asset-card{border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--color-bg-secondary);display:flex;flex-direction:column;gap:var(--spacing-md)}.branding-asset-header{display:flex;justify-content:space-between;gap:var(--spacing-md)}.branding-asset-header h4{margin:0;font-size:15px}.branding-asset-header p{margin:4px 0 0;font-size:12px}.branding-asset-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.branding-preview{min-height:120px;border:1px dashed var(--color-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:#fff;padding:var(--spacing-sm);text-align:center;color:var(--color-text-muted);overflow:hidden}.branding-preview img{max-height:140px;max-width:100%;object-fit:contain}.branding-upload{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center}.branding-upload input[type=file]{flex:1 1 180px}@media(max-width:960px){.branding-grid{grid-template-columns:1fr}}.template-builder{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--spacing-lg)}.template-manager{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--spacing-lg)}.template-list header,.template-editor header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.template-list-actions{display:flex;gap:var(--spacing-sm)}.template-list-body{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.template-table{display:flex;flex-direction:column;gap:6px}.template-table-row{display:grid;grid-template-columns:minmax(200px,2fr) 140px 120px 200px;gap:var(--spacing-md);align-items:center;padding:var(--spacing-sm);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:#fff}.template-table-header{background:var(--color-bg-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);border-style:dashed}.template-table-name{font-weight:600}.template-table-actions{display:flex;gap:var(--spacing-xs);justify-content:flex-end}.template-list-meta{font-size:12px;color:var(--color-text-muted)}.template-library{border-top:1px solid var(--color-border-light);margin-top:var(--spacing-md);padding-top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.template-library-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.template-library-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.template-library-item{border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-sm);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);background:var(--color-bg-secondary)}.template-library-actions{display:flex;gap:var(--spacing-sm)}.template-preview-modal{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);z-index:50}.template-preview-modal-content{background:#fff;border-radius:var(--radius-lg);width:min(900px,90vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.template-preview-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.template-preview-modal-body{flex:1;padding:var(--spacing-md);background:#f8fafc}.template-preview-modal-body iframe{width:100%;height:60vh;border:none;background:#fff}.template-editor-actions{display:flex;gap:var(--spacing-sm)}.template-editor-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.template-form-row{display:flex;justify-content:space-between;gap:var(--spacing-md)}.template-form-field.grow{flex-grow:1}.template-form-field{flex:0 0 auto}.template-toggle-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md);font-size:13px}.template-editor-form--standard [data-template-tenant-fragments-row]{display:none}.template-editor-mode-row{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.template-editor-mode-copy{color:var(--color-text-secondary)}.template-form-check{display:flex;justify-content:flex-start}.template-form-check input{width:auto;display:inline-block;flex:0 0 auto}.template-meta-checkbox-control input{margin:0}.template-standard-builder{border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--color-bg-secondary)}.template-builder-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:var(--spacing-md);align-items:start}.template-editor-form--advanced .template-builder-layout{display:block}.template-editor-form--advanced #report-template-standard-builder-host{display:none}.template-editor-form--standard .template-preview--full{margin-top:0}.template-editor-form--advanced .template-preview--full{margin-top:var(--spacing-md)}.template-standard-builder__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--spacing-md)}.template-standard-builder__card{border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:#fff}.template-standard-builder__summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;padding:var(--spacing-md);font-weight:600}.template-standard-builder__summary::-webkit-details-marker{display:none}.template-standard-builder__body{padding:0 var(--spacing-md) var(--spacing-md);overflow:hidden;transform-origin:top center}.template-standard-builder__section-head{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.template-standard-builder__section-head .invoice-builder-check{flex:1 1 auto;min-width:0}.template-standard-builder__checks{display:grid;gap:var(--spacing-xs)}.template-standard-builder__section-list,.template-standard-builder__field-list{display:grid;gap:var(--spacing-sm)}.template-standard-builder__section-row{display:flex;gap:var(--spacing-sm);align-items:center;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:8px 10px;background:linear-gradient(180deg,#fff,#fbfcfe)}.template-standard-builder__section-row .invoice-builder-check{flex:1 1 auto;min-width:0}.template-standard-builder__drag-handle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;background:transparent;color:var(--color-text-secondary);cursor:grab}.template-standard-builder__field-name{flex:0 1 180px;min-width:0;font-size:13px;font-weight:600;color:var(--color-text)}.template-standard-builder__section-title-preview{flex:0 1 140px;font-size:12px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.template-standard-builder__rename-spacer{width:32px;min-width:32px}.template-standard-builder__rename-button,.template-standard-builder__style-button,.template-standard-builder__remove-button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;width:32px;height:32px;padding:0;border-radius:999px}.template-standard-builder__style-button{color:#7c4dff;border-color:#7c4dff2e;background:#f7f3ff}.template-standard-builder__style-button:hover{background:#efe7ff;border-color:#7c4dff47}.template-standard-builder__rename-button{color:var(--color-text-secondary)}.template-standard-builder__remove-button{color:#b42318;border-color:#b423182e;background:#fff7f6}.template-standard-builder__remove-button:hover{background:#feeceb;border-color:#b4231847}.template-standard-builder__add-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.template-standard-builder__add-row .form-select{flex:1 1 auto;min-width:0}.template-standard-builder__add-row .btn{flex:0 0 auto}.template-style-editor{display:flex;flex-direction:column;gap:var(--spacing-md)}.template-style-editor__color-row{display:flex;align-items:center;gap:var(--spacing-md)}.template-style-editor__color-row input[type=color]{width:48px;height:36px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff}.template-style-editor__clear-check{font-size:12px;color:var(--color-text-secondary)}.invoice-builder-check{display:flex;align-items:center;gap:var(--spacing-sm);font-size:13px}.template-page-tabs{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.template-page-tabs .btn.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.template-editor-canvas{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:var(--spacing-md);align-items:stretch;min-height:560px}.template-blocks{order:2;border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-sm);background:var(--color-bg-secondary);display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-sm)}.template-blocks .gjs-block{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0;background:#fdfdfd;cursor:grab;font-size:12px;text-align:left;overflow:hidden}.template-blocks .gjs-block-label{color:#1f2937;font-weight:500}.template-blocks .rt-block-card{display:grid;gap:6px;padding:10px}.template-blocks .rt-block-card-title{font-size:12px;font-weight:700;color:#111827}.template-blocks .rt-block-card-body{min-height:38px;border:1px solid #d1d5db;border-radius:6px;background:#fff;padding:6px;display:grid;align-items:center}.template-blocks .rt-block-card-image .rt-block-card-body{padding:4px;background:linear-gradient(180deg,#f8fafc,#eef2f7);min-height:48px}.template-blocks .rt-block-card-image img{display:block;width:100%;max-height:44px;object-fit:contain;object-position:left center}.template-blocks .rt-block-empty{font-size:11px;color:#6b7280}.template-blocks .rt-lines{display:grid;gap:4px}.template-blocks .rt-lines span{display:block;height:5px;border-radius:999px;background:#cbd5e1}.template-blocks .rt-lines span.short{width:62%}.template-blocks .rt-cols{display:grid;grid-template-columns:1fr 1fr;gap:6px}.template-blocks .rt-cols span,.template-blocks .rt-grid span{display:block;height:24px;border-radius:4px;background:#dbeafe;border:1px solid #93c5fd}.template-blocks .rt-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.template-canvas{order:1;border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:visible;background:#fff}.template-canvas .gjs-cv-canvas{background:#fff}.template-canvas .gjs-editor{min-height:560px}.template-placeholder-row{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--spacing-md);align-items:end}.template-placeholder-row.open{grid-template-columns:1fr 1fr auto auto}.template-placeholder-row select{width:100%}.placeholder-drawer{grid-column:1 / -1;border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--color-bg-secondary);display:none;margin-top:var(--spacing-sm)}.template-placeholder-row.open .placeholder-drawer{display:block}.placeholder-drawer-header{display:flex;gap:var(--spacing-sm);align-items:center;margin-bottom:var(--spacing-sm)}.placeholder-drawer-header input{flex:1}.placeholder-drawer-body{display:flex;flex-direction:column;gap:var(--spacing-md)}.placeholder-group h5{margin:0 0 var(--spacing-xs) 0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.placeholder-item{border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:var(--spacing-sm);display:flex;flex-direction:column;gap:4px;text-align:left;background:#fff;cursor:pointer}.placeholder-item code{font-size:11px;color:var(--color-text-muted)}.placeholder-token{display:inline-block;padding:2px 6px;border-radius:6px;border:1px dashed #f59e0b;background:#fffbeb;color:#92400e;font-size:.9em;white-space:nowrap}.template-editor-section{border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-sm);background:var(--color-bg-secondary)}.template-editor-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--spacing-sm);font-weight:600}.template-editor-label small{font-weight:400;color:var(--color-text-muted)}.wysiwyg-toolbar{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.wysiwyg-toolbar button{border:1px solid var(--color-border);background:#fff;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px}.wysiwyg-editor{min-height:160px;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff}.wysiwyg-editor:focus{outline:2px solid rgba(17,94,234,.15)}.wysiwyg-source{width:100%;min-height:160px;margin-top:var(--spacing-sm);font-family:monospace;font-size:12px}.template-preview{border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-md);background:#fff;position:sticky;top:calc(var(--spacing-lg) + 8px)}.template-preview--full{position:static;margin-top:var(--spacing-md)}.template-advanced-editor{margin-top:var(--spacing-md)}.template-advanced-editor__status{margin-bottom:var(--spacing-sm);font-size:13px;color:var(--color-text-secondary)}.template-advanced-editor__frame{border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden;background:#fff;min-height:720px}.template-advanced-editor__frame iframe{display:block;width:100%;height:720px;border:none}.template-preview-sampledata{margin-top:var(--spacing-md)}.template-preview-sampledata textarea{min-height:220px}.template-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.template-preview-frame{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;min-height:240px}.template-preview-frame iframe{width:100%;height:920px;border:none}#report-sampledata-error.is-error{color:#b91c1c}@media(max-width:1024px){.template-builder-layout{grid-template-columns:1fr}.template-form-row{flex-direction:column}.template-form-field{min-width:0;width:100%;max-width:none}.template-standard-builder__grid,.template-editor-canvas,.template-placeholder-row,.template-placeholder-row.open{grid-template-columns:1fr}.template-table-row{grid-template-columns:1fr;align-items:flex-start}.template-table-actions{justify-content:flex-start}}.customer-markup-picker{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.customer-markup-picker-controls{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.customer-markup-picker select{min-width:240px}.customer-markup-meta{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.customer-markup-empty{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);font-size:13px;color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.customer-payment-terms{margin-top:var(--spacing-sm);padding:var(--spacing-md);border:1px solid var(--color-border-light)}.customer-payment-terms h4{margin:0 0 var(--spacing-sm);font-size:14px}.customer-payment-terms-toggle{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--spacing-sm)}.customer-payment-terms-toggle small{color:var(--color-text-secondary)}.customer-payment-terms-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-sm)}.workforce-manager-card{padding:var(--spacing-lg)}.workforce-manager-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.workforce-manager-placeholder{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);text-align:center;color:var(--color-text-secondary)}.workforce-embed{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--color-bg)}.workforce-embed-header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.workforce-embed-header h1{margin:0;font-size:22px}.workforce-embed-header p{margin:0}.workforce-embed-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.workforce-embed-subtext{margin-bottom:var(--spacing-md)}.workforce-error{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);text-align:center;color:var(--color-text-secondary)}.workforce-manager-card .table-container{margin-top:var(--spacing-md)}.workforce-manager-card .data-table{font-size:13px}.workforce-subsection{margin-top:var(--spacing-lg)}.workforce-subsection__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.workforce-subsection__header h2{margin:0 0 4px;font-size:18px}.workforce-subsection__header p{margin:0}.workforce-subsection__actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.workforce-service-code-table code{display:inline-block;padding:2px 6px;border-radius:var(--radius-sm);background:var(--color-bg-secondary);font-size:12px}.service-code-form{gap:var(--spacing-md)}.service-code-form__description,.service-code-form__tasks,.service-code-form__overrides{grid-column:1 / -1}.service-code-form__overrides-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.service-code-overrides-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.service-code-override-row{display:grid;grid-template-columns:minmax(160px,1fr) 90px 110px 1fr auto auto;gap:var(--spacing-xs);align-items:center}.service-code-override-row select,.service-code-override-row input{width:100%}.service-code-override-active{margin:0;white-space:nowrap}.service-code-overrides-empty{margin:0}.rate-editor-page .rate-editor-layout{display:grid;grid-template-columns:280px 1fr;gap:var(--spacing-lg)}.rate-editor-sidebar{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md);max-height:calc(100vh - 220px)}.rate-editor-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.rate-editor-sidebar-header h3{margin:0;font-size:15px}.rate-editor-sidebar-list{display:flex;flex-direction:column;gap:var(--spacing-sm);overflow-y:auto}.rate-editor-role{border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg-secondary);display:flex;flex-direction:column}.rate-editor-role-select{display:block;width:100%;border:0;background:transparent;text-align:left;padding:var(--spacing-sm);cursor:pointer}.rate-editor-role-summary{display:flex;align-items:center;gap:var(--spacing-xs)}.rate-editor-role-select p{margin:6px 0;color:var(--color-text-secondary);font-size:13px}.rate-editor-role-tools{display:flex;flex-wrap:wrap;gap:6px;padding:0 var(--spacing-sm) var(--spacing-sm)}.rate-editor-role.active{border-color:var(--color-primary);background:#e0edff}.rate-editor-role-meta{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);font-size:13px}.rate-editor-role-meta small{margin-left:auto;color:var(--color-text-secondary)}.rate-editor-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.rate-editor-role-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);margin:var(--spacing-md) 0}.rate-editor-role-detail-grid .label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.rate-editor-role-actions{display:flex;gap:var(--spacing-sm)}.rate-editor-markup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md);margin:var(--spacing-md) 0}.settings-form-message{margin-top:var(--spacing-sm);font-size:13px;font-weight:600}.settings-form-message.success{color:#065f46}.settings-form-message.error{color:#b91c1c}.settings-form-message.info{color:#1d4ed8}.settings-field-hint{font-size:12px;color:var(--color-text-secondary)}[data-markup-readonly=true]{opacity:.9}[data-third-party-value][hidden]{display:none}.settings-nav{display:flex;flex-direction:column;gap:4px}.settings-nav-item{display:flex;align-items:flex-start;gap:var(--spacing-md);border:none;background:transparent;text-align:left;padding:var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease,color .15s ease}.settings-nav-item:hover{background:var(--color-bg-secondary)}.settings-nav-item.active{background:var(--color-bg-secondary);border:1px solid var(--color-border)}.settings-nav-icon{font-size:18px;line-height:1}.settings-nav-label{font-weight:600;display:block}.settings-nav-description{margin:2px 0 0;font-size:12px;color:var(--color-text-secondary)}.settings-pane{min-height:600px}.settings-pane-inner{display:flex;flex-direction:column;gap:var(--spacing-xl)}.settings-panel-header{display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-panel-header h1{font-size:28px;margin:0}.settings-panel-subtitle{color:var(--color-text-secondary)}.settings-panel-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.settings-pane-section{display:flex;flex-direction:column;gap:var(--spacing-xl)}.settings-pane-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-xl)}.settings-pane-grid>div{display:flex;flex-direction:column}.settings-pane-empty,.settings-search-empty-pane{border:1px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary)}.settings-users-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.settings-users-stats strong{font-size:24px}.settings-users-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-sm)}.settings-users-search{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.settings-users-search .form-control{width:min(420px,100%)}.settings-user-filter{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);padding:var(--spacing-md);transition:border-color .15s ease,background .15s ease}.settings-user-filter:hover{border-color:var(--color-secondary);background:#fff}.settings-user-filter.active{border-color:var(--color-primary);background:#fff}.settings-user-filter-value{font-size:22px;font-weight:700;line-height:1.1}.settings-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-list li{display:flex;justify-content:space-between;align-items:center}.settings-list small{color:var(--color-text-secondary)}.settings-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.settings-pill{padding:6px 12px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg);font-weight:600;color:var(--color-text-secondary);align-self:flex-start}.settings-hero{display:flex;justify-content:space-between;gap:var(--spacing-xl);align-items:center}.settings-hero-primary h2{font-size:22px;margin-bottom:var(--spacing-sm)}.settings-subtext{color:var(--color-text-secondary);margin-top:var(--spacing-sm)}.settings-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.settings-hero-meta{display:grid;grid-template-columns:repeat(3,minmax(80px,1fr));gap:var(--spacing-lg);text-align:right}.settings-hero-meta p{margin-bottom:var(--spacing-xs);color:var(--color-text-secondary)}.settings-hero-meta strong{font-size:24px;color:var(--color-text)}.settings-card header{margin-bottom:var(--spacing-lg)}.settings-card header h3{font-size:16px;margin-bottom:var(--spacing-xs)}.settings-card header p{color:var(--color-text-secondary);font-size:12px}.settings-card dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-lg)}.settings-card dt{font-size:11px;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.08em}.settings-card dd{font-size:16px;font-weight:600}.settings-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.settings-table-shell{overflow-x:auto}.settings-table{width:100%;border-collapse:collapse;font-size:13px}.settings-table th,.settings-table td{padding:10px 12px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.settings-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.settings-table tbody tr:last-child td{border-bottom:0}.email-suppression-list{display:flex;flex-direction:column;gap:10px}.email-suppression-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--color-border-light);border-radius:10px;background:var(--color-bg-secondary)}.email-suppression-row__main{min-width:0}.email-suppression-row__title{font-weight:600;color:var(--color-text)}.email-suppression-row__meta,.email-suppression-row__reason{margin-top:4px;font-size:12px;color:var(--color-text-secondary)}.settings-note{display:block;margin-top:var(--spacing-lg);color:var(--color-text-muted)}.settings-spotlight,.settings-category-list{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-spotlight li,.settings-category-list li{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.settings-spotlight-label{font-weight:500}.settings-empty{color:var(--color-text-muted)}.settings-progress{flex:0 0 120px;height:6px;background:var(--color-bg-tertiary);border-radius:var(--radius-md);overflow:hidden}.settings-progress span{display:block;height:100%;background:var(--color-primary)}.settings-toast{position:sticky;bottom:var(--spacing-xl);left:auto;right:var(--spacing-xl);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-text);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-md);opacity:0;transform:translateY(8px);transition:all .2s ease;pointer-events:none}.settings-toast.show{opacity:1;transform:translateY(0)}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.dashboard-mobile-sort{display:none}@media(max-width:900px){.settings-shell{grid-template-columns:1fr;gap:var(--spacing-md)}.settings-sidebar{display:flex;position:static;padding:var(--spacing-md);gap:var(--spacing-sm)}.settings-sidebar-tenant,.settings-nav{display:none}.settings-search-results{max-height:40vh;overflow:auto}.settings-mobile-nav{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);position:sticky;top:calc(var(--spacing-sm) + env(safe-area-inset-top,0px));z-index:5}.settings-mobile-nav-label{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.settings-mobile-nav-select{min-width:0;width:100%}.settings-pane{min-height:auto}.settings-users-filters{display:flex;gap:var(--spacing-sm);overflow-x:auto;padding-bottom:4px;margin:0 calc(var(--spacing-xs) * -1);padding-inline:var(--spacing-xs);scroll-snap-type:x proximity;flex-wrap:wrap;justify-content:space-between}.settings-users-search .form-control{width:100%}.settings-user-filter{flex:0 0 auto;min-width:130px;max-width:160px;padding:var(--spacing-sm);scroll-snap-align:start}.settings-user-filter .text-muted{font-size:11px;line-height:1.2}.settings-user-filter small{display:none}.settings-user-filter-value{font-size:20px}.dashboard-mobile-sort{display:flex;align-items:center;gap:var(--spacing-sm);padding:0 var(--spacing-lg) var(--spacing-md) var(--spacing-lg)}.dashboard-mobile-sort__label{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.dashboard-mobile-sort__select{flex:1;min-width:0}.responsive-table thead{display:none}.responsive-table tbody{display:block}.responsive-table tbody tr{display:grid;grid-template-columns:1fr;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--color-bg);gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.responsive-table tbody tr:last-child{margin-bottom:0}.responsive-table tbody tr td{border:none;padding:var(--spacing-xs) 0;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.responsive-table tbody tr td.description-cell{white-space:normal}.responsive-table tbody tr td:before{content:attr(data-label);font-size:11px;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.05em}.responsive-table tbody tr td[data-label=View]{justify-content:flex-end}.responsive-table tbody tr td[data-label=View]:before{display:none}.responsive-table tbody tr.wo-row-main{display:grid;margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;padding-bottom:var(--spacing-xs)}.responsive-table tbody tr.wo-row-main td.dashboard-description-desktop-cell{display:none}.responsive-table tbody tr.wo-row-main td{border-bottom:none}.responsive-table tbody tr.wo-row-main td[data-label=View]{order:1}.responsive-table tbody tr.wo-row-main td[data-label=ID]{order:2}.responsive-table tbody tr.wo-row-main td[data-label=Customer]{order:3}.responsive-table tbody tr.wo-row-main td[data-label="Start Date"]{order:4}.responsive-table tbody tr.wo-row-main td[data-label=Status]{order:5}.responsive-table tbody tr.wo-row-main td[data-label=Priority]{order:6}.responsive-table tbody tr.wo-row-main td[data-label="Assigned To"]{order:7}.responsive-table tbody tr.wo-row-main td[data-label=Tags]{order:8}.responsive-table tbody tr.wo-row-description{display:grid;border-top:none;border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.responsive-table tbody tr.wo-row-description td.dashboard-description-row-cell{display:block;padding-top:0}.responsive-table tbody tr.wo-row-description td.dashboard-description-row-cell:before{display:none}.email-suppression-row{flex-direction:column;align-items:stretch}}@media(max-width:768px){.settings-hero{flex-direction:column;align-items:flex-start}.settings-hero-meta{grid-template-columns:repeat(2,minmax(80px,1fr));width:100%}.settings-pill{align-self:flex-end}}.swms-requirements-empty-state{display:flex;align-items:flex-start;justify-content:center;gap:12px;padding:24px 20px;text-align:left}.swms-requirements-empty-icon{flex:0 0 auto;color:var(--color-text-secondary);line-height:1}.swms-requirements-empty-copy{max-width:420px}.swms-requirements-empty-copy p{margin:0 0 6px}.swms-requirements-empty-copy .text-muted{margin-bottom:0}.settings-partner-access-card .settings-partner-assignment-list{display:flex;flex-direction:column;gap:12px}.settings-partner-assignment-item{border:1px solid var(--color-border);border-radius:12px;padding:14px 16px;background:var(--color-surface, #fff)}.settings-partner-assignment-item__head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.settings-partner-assignment-item__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.settings-partner-assignment-item__head h4{margin:0}.settings-partner-assignment-item__sub,.settings-partner-assignment-item__meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--color-text-secondary);font-size:.92rem;margin-top:6px}.settings-partner-assignment-item__notes{margin:10px 0 0;color:var(--color-text)}.partner-assignment-dialog{display:flex;flex-direction:column;gap:12px}.partner-assignment-dialog__grid{display:flex;gap:12px}.partner-assignment-dialog__grid>div{flex:1 1 0}.profile-page{max-width:1200px;margin:0 auto}.profile-header{display:flex;gap:var(--spacing-2xl);padding:var(--spacing-2xl);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-2xl)}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.profile-avatar{width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid var(--color-border);display:flex;align-items:center;justify-content:center;background:var(--color-primary)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-initials{font-size:48px;font-weight:600;color:#fff;text-transform:uppercase}.profile-header-info{flex:1;display:flex;flex-direction:column;justify-content:center;gap:var(--spacing-sm)}.profile-header-info h1{margin:0;font-size:28px;font-weight:600;color:var(--color-text)}.profile-email{font-size:14px;color:var(--color-text-secondary);margin:0}.profile-role{font-size:13px;color:var(--color-text-secondary);margin:0;font-weight:500}.profile-section{margin-bottom:var(--spacing-2xl)}.profile-section-header{margin-bottom:var(--spacing-xl)}.profile-section-header h2{margin:0 0 var(--spacing-xs) 0;font-size:20px;font-weight:600}.profile-section-description{margin:0;color:var(--color-text-secondary);font-size:14px}.profile-section-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.profile-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.profile-settings-grid--compact{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.profile-tenants{display:flex;flex-direction:column;gap:var(--spacing-xl)}.profile-tenant-card{border:2px solid var(--color-border)}.profile-tenant-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.profile-tenant-header h3{margin:0 0 var(--spacing-xs) 0;font-size:18px;font-weight:600}.profile-tenant-code{font-size:12px;font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-secondary);padding:4px 8px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em}.profile-page .form-group{margin-bottom:var(--spacing-lg)}.profile-page .form-group:last-child{margin-bottom:0}.profile-page .form-checkbox-group{margin-bottom:var(--spacing-md)}.profile-page .form-checkbox-group:last-child{margin-bottom:0}.profile-page .btn-block{width:100%}.profile-toast{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);padding:var(--spacing-md) var(--spacing-xl);background:var(--color-text);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(20px);transition:all .3s ease;pointer-events:none;z-index:10000;max-width:400px}.profile-toast--show{opacity:1;transform:translateY(0);pointer-events:auto}.profile-toast--success{background:var(--color-success)}.profile-toast--error{background:var(--color-danger)}.profile-toast--info{background:var(--color-info)}@media(max-width:768px){.profile-header{flex-direction:column;text-align:center;padding:var(--spacing-xl)}.profile-avatar-section,.profile-header-info{align-items:center}.profile-settings-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.profile-tenant-header{flex-direction:column;align-items:flex-start}.profile-section-actions{flex-direction:column}.profile-section-actions .btn{width:100%}}.schedule-container{display:flex;flex-direction:column;height:calc(100vh - var(--topbar-height));background:#fff}.schedule-header{display:block;padding:var(--spacing-xl) var(--spacing-2xl);border-bottom:1px solid var(--color-border);background:#fff;z-index:10}.schedule-title{font-size:20px;font-weight:600;margin:0}.schedule-controls{display:grid;grid-template-columns:1fr;justify-items:center;align-items:center;gap:var(--spacing-sm)}.schedule-primary-controls{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);flex-wrap:wrap;width:100%}.schedule-secondary-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);width:100%}.schedule-date-picker{display:flex;align-items:center;gap:var(--spacing-sm)}.schedule-date-picker input[type=date]{padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px}.schedule-view-modes{display:inline-flex;gap:6px}.schedule-range-label{text-align:left;font-size:12px;color:var(--color-text-secondary);min-width:0}#saveScheduleBtn.is-saving{cursor:wait}.schedule-save-spinner{width:12px;height:12px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:schedule-save-spin .8s linear infinite}@keyframes schedule-save-spin{to{transform:rotate(360deg)}}.schedule-notify-dialog{display:flex;flex-direction:column;gap:var(--spacing-md)}.schedule-notify-intro{margin:0;font-size:13px;color:var(--color-text-secondary)}.schedule-notify-list{max-height:320px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.schedule-notify-row{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:var(--spacing-sm);padding:6px 8px;border-radius:var(--radius-sm)}.schedule-notify-row:hover{background:var(--color-bg-secondary)}.schedule-notify-name{font-size:13px;color:var(--color-text)}.schedule-notify-method{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.schedule-notify-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.schedule-view{display:flex;flex:1;overflow:hidden;min-height:0}.worker-sidebar{width:200px;border-right:1px solid var(--color-border);background:var(--color-bg-secondary);overflow-y:auto;flex-shrink:0}.worker-sidebar-header{padding:var(--spacing-xl);font-weight:600;font-size:12px;text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.5px;border-bottom:1px solid var(--color-border);background:#fff;position:sticky;top:0;z-index:5;height:48px}.unassigned-pool{border-left:1px solid var(--color-border);background:#fff9e6;width:320px;max-width:360px;min-width:280px;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.unassigned-pool.drag-over{background:#f3f9ff;box-shadow:inset 0 0 0 2px var(--color-primary)}.unassigned-pool-header{padding:var(--spacing-lg) var(--spacing-xl);font-weight:600;font-size:13px;color:var(--color-warning);background:#fffbeb;border-bottom:1px solid var(--color-border)}.unassigned-bookings{padding:var(--spacing-lg) var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-md);overflow-y:auto;min-height:0;flex:1}.schedule-empty-pool{padding:12px 16px;color:#999;font-size:13px}.booking-chip{display:inline-flex;align-items:center;gap:var(--spacing-sm);position:relative;padding:var(--spacing-sm) var(--spacing-lg);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:13px;cursor:move;transition:all .2s;-webkit-user-select:none;user-select:none}.booking-chip:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.booking-chip.booking-popup-active{border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f633,var(--shadow-md)}.booking-chip.booking-work-order-highlight{border-color:#0891b2;box-shadow:0 0 0 2px #0891b238,var(--shadow-md)}.booking-chip.dragging{opacity:.5;transition:none}.booking-chip.dragging.copy-mode{cursor:copy;border-color:#16a34a;box-shadow:0 0 0 2px #16a34a33}.booking-chip-priority{width:8px;height:8px;border-radius:50%}.booking-chip-priority.fixed{background:var(--color-danger)}.booking-chip-priority.morning{background:var(--color-warning)}.booking-chip-priority.afternoon{background:var(--color-success)}.booking-chip-priority.call_ahead{background:var(--color-info)}.booking-chip-priority.flexible{background:var(--color-text-muted)}.booking-chip-label{flex:1;font-weight:500;max-height:75px;overflow:hidden}.booking-chip-duration{font-size:11px;color:var(--color-text-secondary)}.worker-row-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border);min-height:60px;background:#fff;position:relative}.worker-row-header.grouped{background:#f0f9ff}.worker-row-header.drag-over{background:#dbeafe;border:2px dashed var(--color-primary)}.worker-avatars{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.worker-sidebar .avatar-tag-shell{cursor:move}.worker-sidebar .avatar-tag.dragging{opacity:.5}.ungroup-btn{background:none;border:none;color:var(--color-text-muted);font-size:18px;cursor:pointer;padding:var(--spacing-sm);line-height:1;opacity:0;transition:opacity .2s}.worker-row-header.grouped:hover .ungroup-btn{opacity:1}.ungroup-btn:hover{color:var(--color-danger)}.worker-stats{font-size:11px;color:var(--color-text-secondary);padding:0 var(--spacing-xl) var(--spacing-md);border-bottom:1px solid var(--color-border);background:#fff}.timeline-area{flex:1;overflow:auto;position:relative}@media(pointer:coarse)and (orientation:portrait){.schedule-view{flex-direction:column}.worker-sidebar{width:100%;max-height:220px;border-right:none;border-bottom:1px solid var(--color-border)}.unassigned-pool{width:100%;max-width:none;min-width:0;max-height:220px;border-left:none;border-top:1px solid var(--color-border)}}.timeline-grid{min-width:1280px}.timeline-header{display:grid;grid-template-columns:repeat(16,80px)}.timeline-hour{padding:0 2px;text-align:center;font-size:12px;font-weight:500;color:var(--color-text-secondary);border-right:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border);background:#fff;position:sticky;top:0;z-index:5;height:48px;display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1}.timeline-hour.day-start{border-left:2px solid var(--color-border);font-weight:600;color:var(--color-text)}.timeline-grid--week .timeline-hour,.timeline-grid--month .timeline-hour{font-size:10px}.timeline-grid--month .timeline-hour.day-start{font-size:11px;font-weight:700}.timeline-row{display:grid;grid-template-columns:repeat(16,80px);min-height:60px}.timeline-cell{border-right:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border);position:relative;overflow:visible;background:#fff}.timeline-cell.day-start{border-left:2px solid var(--color-border-light)}.timeline-row.grouped .timeline-cell{background:#fafafa}.timeline-cell.drag-over{background:#dbeafe}body.schedule-copy-mode .timeline-cell.drag-over{background:#dcfce7}.schedule-drag-preview{z-index:1300;opacity:.92;transition:none!important;will-change:transform}body.schedule-touch-drag-active .timeline-area{touch-action:none}.schedule-drag-preview.copy-mode:after{content:"Copy";position:absolute;top:-9px;right:-8px;background:#16a34a;color:#fff;font-size:10px;font-weight:700;line-height:1;padding:3px 6px;border-radius:999px;pointer-events:none;box-shadow:0 6px 14px #16a34a59}.timeline-cell.current-time{background:#fef3c7}.booking-block{position:absolute;top:4px;left:4px;right:4px;height:52px;background:var(--color-primary);border-radius:var(--radius-lg);padding:var(--spacing-md);color:#fff;font-size:12px;cursor:move;overflow:visible;box-shadow:var(--shadow-md);transition:all .2s;display:flex;flex-direction:column;gap:var(--spacing-sm);user-select:none;-webkit-user-select:none;-webkit-user-drag:element;z-index:1}.booking-block:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px);z-index:10}.booking-block.booking-popup-active{box-shadow:0 0 0 2px #ffffffd9,0 0 0 4px #3b82f659,var(--shadow-lg);z-index:20}.booking-block.booking-work-order-highlight{box-shadow:0 0 0 2px #ffffffd1,0 0 0 4px #0891b280,var(--shadow-lg);z-index:18}.booking-block.dragging{opacity:.5;z-index:100;transition:none;pointer-events:none}.booking-block.resizing{transition:none}.booking-block.dragging.copy-mode{cursor:copy;box-shadow:0 0 0 2px #ffffffbf,0 0 0 4px #16a34a8c,var(--shadow-lg)}.booking-block-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.booking-block-wo{font-weight:600;font-size:11px;opacity:.9}.booking-block-time{font-size:10px;opacity:.8}.booking-block-desc{font-size:11px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.booking-drag-handle{position:absolute;top:3px;right:3px;width:14px;height:14px;transform:none;border-radius:999px;background:#ffffff38;color:#fff;font-size:10px;font-weight:700;line-height:1;display:none;align-items:center;justify-content:center;pointer-events:auto;-webkit-user-select:none;user-select:none;cursor:grab;touch-action:none;z-index:3}.booking-drag-handle:active{cursor:grabbing}.booking-resize-handle{position:absolute;right:0;top:0;bottom:0;width:8px;cursor:ew-resize;background:#fff3;opacity:0;transition:opacity .2s;touch-action:none}.booking-block:hover .booking-resize-handle{opacity:1}.booking-resize-handle:hover{background:#fff6}.booking-priority-indicator{position:absolute;top:-2px;left:-2px;width:12px;height:12px;border-radius:50%;border:2px solid white}.booking-priority-indicator.fixed{background:var(--color-danger)}.booking-priority-indicator.morning{background:var(--color-warning)}.booking-priority-indicator.afternoon{background:var(--color-success)}.booking-priority-indicator.call_ahead{background:var(--color-info)}.booking-priority-indicator.flexible{background:var(--color-text-muted)}.schedule-booking-popup{position:fixed;width:360px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1200}.schedule-booking-popup__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.schedule-booking-popup__title{font-size:13px;font-weight:700;color:var(--color-text)}.schedule-booking-popup__close{border:none;background:transparent;color:var(--color-text-muted);font-size:18px;line-height:1;cursor:pointer;padding:0 var(--spacing-xs)}.schedule-booking-popup__close:hover{color:var(--color-text)}.schedule-booking-popup__body{padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.schedule-booking-popup__line{font-size:12px;color:var(--color-text-secondary)}.schedule-booking-popup__form{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm) var(--spacing-md)}.schedule-booking-popup__field{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--color-text-secondary)}.schedule-booking-popup__field:nth-child(5){grid-column:1 / -1}.schedule-booking-popup__field input,.schedule-booking-popup__field select,.schedule-booking-popup__field textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:7px 8px;font-size:12px;color:var(--color-text);background:#fff;font-family:inherit}.schedule-booking-popup__field textarea{resize:vertical;min-height:68px}.schedule-booking-popup__desc{font-size:12px;color:var(--color-text);margin-top:var(--spacing-sm);white-space:normal;overflow-wrap:anywhere}.schedule-booking-popup__actions{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border-light);display:flex;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:flex-end}.schedule-booking-popup__actions [data-action=open-details]{margin-right:auto}.assignment-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:var(--radius-lg);box-shadow:0 8px 32px #0003;padding:var(--spacing-2xl);z-index:1000;min-width:320px}.assignment-dialog h3{margin:0 0 var(--spacing-xl);font-size:16px;font-weight:600}.assignment-dialog label{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;margin-bottom:var(--spacing-md)}.assignment-dialog label:hover{background:var(--color-bg-secondary)}.assignment-dialog-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl);justify-content:flex-end}.dialog-overlay{position:fixed;inset:0;background:#0000004d;z-index:999}.current-time-line{position:absolute;top:0;bottom:0;width:2px;background:var(--color-danger);z-index:10;pointer-events:none}.current-time-dot{position:absolute;top:-4px;left:-4px;width:10px;height:10px;background:var(--color-danger);border-radius:50%}.timeline-cell.working-hours{background:#fff}.timeline-cell.non-working-hours,.timeline-cell.partial-working-hours{background:repeating-linear-gradient(45deg,#fafafa,#fafafa 10px,#f5f5f5 10px 20px)}.timeline-cell.partial-working-hours:before{content:"";position:absolute;top:0;bottom:0;left:var(--work-start, 0%);width:var(--work-width, 0%);background:#fff;pointer-events:none}.timeline-row.grouped .timeline-cell.working-hours{background:#fafafa}.timeline-row.grouped .timeline-cell.non-working-hours,.timeline-row.grouped .timeline-cell.partial-working-hours{background:repeating-linear-gradient(45deg,#f5f5f5,#f5f5f5 10px,#f0f0f0 10px 20px)}.timeline-row.grouped .timeline-cell.partial-working-hours:before{background:#fafafa}@media(pointer:coarse)and (orientation:portrait){.schedule-container{--mobile-time-column-width: 44px;--mobile-worker-column-width: 60px;--mobile-slot-height: 44px}.schedule-header{padding:var(--spacing-md) var(--spacing-md)}.schedule-controls{gap:6px}.schedule-primary-controls{justify-content:stretch;width:100%;gap:6px;flex-wrap:nowrap}.schedule-secondary-controls{width:100%;gap:8px}.schedule-primary-controls>.btn{flex:0 0 auto}.schedule-date-picker{flex:1 1 auto;min-width:0;gap:4px}.schedule-date-picker .btn{padding-left:8px;padding-right:8px}.schedule-date-picker input[type=date]{flex:1 1 auto;min-width:0;padding-left:8px;padding-right:8px}.schedule-range-label{flex:1 1 auto;min-width:0;width:auto}.schedule-view{display:flex;flex-direction:column}.unassigned-pool{display:none}.worker-sidebar{width:100%;max-height:none;min-height:32px;overflow-x:auto;overflow-y:hidden;border-right:none;border-bottom:1px solid var(--color-border);background:#fff}.worker-sidebar-header{display:none}.worker-mobile-strip{display:flex;align-items:center;min-width:max-content;padding-left:var(--mobile-time-column-width)}.worker-row-header.worker-row-header-mobile{width:var(--mobile-worker-column-width);flex:0 0 var(--mobile-worker-column-width);min-height:32px;height:32px;padding:2px 4px;border-bottom:none;border-right:1px solid var(--color-border-light);justify-content:center;background:#fff}.worker-row-header.worker-row-header-mobile .worker-avatars{justify-content:center}.worker-row-header.worker-row-header-mobile .avatar-tag{--avatar-tag-size: 24px}.timeline-area{overflow:auto}.timeline-grid.timeline-grid--mobile{min-width:0;width:fit-content}.timeline-grid--mobile .timeline-mobile-row{display:grid;grid-template-columns:var(--mobile-time-column-width) repeat(var(--mobile-worker-count, 1),var(--mobile-worker-column-width));min-height:var(--mobile-slot-height);height:var(--mobile-slot-height)}.timeline-grid--mobile .timeline-mobile-time{position:sticky;left:0;z-index:6;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border-light);background:#fff;color:var(--color-text-secondary);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 4px;white-space:nowrap}.timeline-grid--mobile .timeline-cell-mobile{min-height:var(--mobile-slot-height);height:var(--mobile-slot-height)}.timeline-grid--mobile .timeline-cell.partial-working-hours:before{left:0;right:0;top:var(--work-start, 0%);bottom:auto;width:auto;height:var(--work-width, 0%)}.booking-block.booking-block-mobile{top:2px;left:2px;right:2px;min-height:20px;padding:5px 6px;border-radius:8px;gap:2px}.booking-block.booking-block-mobile .booking-block-header{justify-content:center;align-items:center;flex-direction:column;gap:2px}.booking-block.booking-block-mobile .booking-block-time{font-size:9px;opacity:.95;line-height:1;text-align:center}.booking-block.booking-block-mobile .booking-block-wo{font-size:9px;opacity:.9;line-height:1;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-block.booking-block-mobile .booking-block-desc{word-wrap:anywhere;font-size:7pt;overflow:hidden;text-overflow:unset;white-space:break-spaces}.booking-block.booking-block-mobile .booking-priority-indicator{top:-1px;left:-1px;width:10px;height:10px}.booking-block.booking-block-mobile .booking-resize-handle{inset:auto 0 0;width:auto;height:8px;cursor:ns-resize;background:#ffffff38;opacity:0;transition:opacity .15s}.booking-block.booking-block-mobile:hover .booking-resize-handle{opacity:1}}@media(pointer:coarse)and (orientation:landscape){.schedule-container{--landscape-timebar-height: 24px}.schedule-header{padding:var(--spacing-md) var(--spacing-md);overflow-x:auto}.schedule-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap;width:100%;min-width:max-content}.schedule-primary-controls{justify-content:flex-start;width:auto;flex:0 0 auto;gap:6px;flex-wrap:nowrap}.schedule-secondary-controls{width:auto;min-width:0;flex:1 1 auto;justify-content:flex-end;gap:8px}.schedule-primary-controls>.btn{flex:0 0 auto}.schedule-date-picker{flex:0 0 auto;min-width:0;gap:4px}.schedule-date-picker .btn{padding-left:8px;padding-right:8px}.schedule-date-picker input[type=date]{min-width:130px;padding-left:8px;padding-right:8px}.schedule-range-label{flex:0 1 auto;min-width:0;max-width:220px;width:auto;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-view-modes{flex:0 0 auto}.schedule-view{flex-direction:row}.worker-sidebar{width:32px;max-height:none;min-height:0;padding-top:var(--landscape-timebar-height);overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--color-border);border-bottom:none;box-sizing:border-box}.worker-sidebar-header{display:none}.worker-row-header{min-height:60px;padding:0;justify-content:center}.worker-row-header .worker-avatars{justify-content:center;gap:0}.worker-sidebar .avatar-tag{--avatar-tag-size: 24px}.worker-row-header .ungroup-btn{display:none}.timeline-hour{height:var(--landscape-timebar-height);font-size:10px}.timeline-grid--week .timeline-hour,.timeline-grid--month .timeline-hour{font-size:9px}.unassigned-pool{display:none}}@media(pointer:coarse){.booking-drag-handle{display:flex;width:20px;height:20px;top:4px;left:4px;transform:none;background:#ffffff57;font-size:12px;box-shadow:0 1px 3px #00000040}.booking-resize-handle{opacity:1;background:#ffffff52}.booking-block.booking-block-mobile .booking-resize-handle{height:10px}}.autocomplete-wrapper{position:relative}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;max-height:200px;overflow-y:auto;display:none}.autocomplete-dropdown[style*="display: block"]{display:block}.autocomplete-item{padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;font-size:13px;border-bottom:1px solid var(--color-border-light)}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:var(--color-bg-secondary)}.input-with-prefix{display:flex;align-items:stretch}.input-with-prefix .input-prefix{display:flex;align-items:center;padding:0 var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-right:none;border-radius:var(--radius-md) 0 0 var(--radius-md);font-size:13px;color:var(--color-text-secondary)}.input-with-prefix input{border-radius:0 var(--radius-md) var(--radius-md) 0;flex:1}.checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;font-size:13px;padding:var(--spacing-xs) 0}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.checkbox-label input[type=checkbox]:disabled+span{opacity:.5}.required{color:var(--color-danger)}.cost-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.cost-list-empty{padding:var(--spacing-xl);text-align:center}.cost-list-empty p{margin:0}.cost-item{display:flex;align-items:flex-start;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.cost-item-main{flex:1;min-width:0}.cost-item-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.cost-icon{font-size:16px}.cost-type-badge{font-size:11px;font-weight:500;padding:2px 6px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.cost-label{font-weight:500;color:var(--color-text)}.cost-item-details{display:flex;gap:var(--spacing-lg);font-size:12px;color:var(--color-text-secondary)}.cost-vendor,.cost-invoice{display:flex;align-items:center;gap:var(--spacing-xs)}.cost-service-code-context{color:var(--color-text-secondary)}.cost-item-numbers{text-align:right;flex-shrink:0}.cost-calculation{font-size:12px;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.cost-total{font-size:14px;font-weight:600;color:var(--color-text)}.tax-badge{display:inline-block;font-size:10px;padding:1px 4px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.cost-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.cost-list-compact .cost-item{padding:var(--spacing-md)}.cost-item-compact{display:flex;align-items:center;gap:var(--spacing-md)}.cost-item-compact .cost-icon{font-size:14px}.cost-item-compact .cost-label{flex:1;font-size:13px}.cost-item-compact .cost-qty{font-size:12px;color:var(--color-text-secondary)}.cost-item-compact .cost-amount{font-weight:500;min-width:60px;text-align:right}.cost-item-compact .cost-actions{margin-left:var(--spacing-sm)}.cost-item-compact .btn-icon{padding:2px;width:24px;height:24px;font-size:14px;background:transparent;border:none;cursor:pointer;opacity:.6;transition:opacity .15s}.cost-item-compact .btn-icon:hover{opacity:1}.cost-totals{border-top:1px solid var(--color-border);padding-top:var(--spacing-lg);margin-top:var(--spacing-md)}.cost-total-row{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;font-size:13px}.cost-total-row.cost-grand-total{font-weight:600;font-size:14px;border-top:1px solid var(--color-border-light);padding-top:var(--spacing-md);margin-top:var(--spacing-sm)}.costs-section{margin-top:var(--spacing-xl)}.costs-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.costs-section-header h3{margin:0;font-size:14px;font-weight:600}.add-cost-btn-compact{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:13px;width:100%;justify-content:center;transition:all .15s}.add-cost-btn-compact:hover{background:var(--color-bg-tertiary);border-color:var(--color-primary);color:var(--color-primary)}.modal-content{overflow:auto;padding:15px}.map-page{display:flex;flex-direction:column;flex:1;overflow:hidden}.map-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-shrink:0}.map-header__title h1{font-size:18px;font-weight:600;margin:0}.map-controls{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.map-controls__group{display:flex;align-items:center;gap:var(--spacing-sm)}.map-controls .form-control{min-width:120px;height:32px;font-size:13px}.map-controls input[type=date]{min-width:140px}.map-mobile-filters-toggle{display:none;align-items:center;gap:4px}.map-mobile-filters-toggle__count{font-size:11px;color:var(--color-text-secondary)}.map-content{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.map-container{flex:1;position:relative;min-height:300px}.map-container .maplibregl-map{width:100%;height:100%}.map-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);color:var(--color-text-secondary)}.map-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--color-danger)}.map-marker{cursor:pointer;margin:0;padding:0;box-sizing:border-box}.maplibregl-marker.spiderfied{transition:transform .4s ease-out}.map-marker--avatar{width:36px;height:36px;position:relative}.map-marker__avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:13px;text-transform:uppercase;border:2px solid white;box-shadow:0 2px 4px #0000004d}.map-marker__type-badge{position:absolute;bottom:-3px;left:-3px;width:16px;height:16px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.map-marker__status{position:absolute;top:-2px;left:-2px;width:12px;height:12px;border-radius:50%;border:2px solid white}.map-marker--icon{width:36px;height:36px;position:relative}.map-marker--icon .map-marker__icon{width:36px;height:36px;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.map-cluster{width:40px;height:40px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;border:3px solid white;box-shadow:0 2px 6px #0000004d;cursor:pointer;margin:0;padding:0;box-sizing:border-box}.map-marker--worker-location{position:relative;width:36px;height:36px;margin:0;padding:0;box-sizing:border-box}.map-marker__pulse{position:absolute;inset:-4px;border-radius:50%;border:2px solid currentColor;animation:map-pulse 2s infinite;opacity:.6;pointer-events:none}@keyframes map-pulse{0%{transform:scale(1);opacity:.6}50%{transform:scale(1.3);opacity:0}to{transform:scale(1);opacity:0}}.map-worker-toggles{display:flex;flex-wrap:wrap;gap:8px;background:var(--color-bg)}.map-worker-toggle{cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center}.map-worker-toggle .avatar-tag{display:inline-flex!important}.map-worker-toggle--inactive{opacity:.3;filter:grayscale(.5)}.map-worker-toggle:hover:not(.map-worker-toggle--inactive){opacity:1;transform:scale(1.02)}.map-popup{font-size:13px;line-height:1.4}.map-popup__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);padding-right:24px;gap:var(--spacing-sm);flex-wrap:nowrap}.map-popup__order{font-weight:700;color:var(--color-primary)}.map-popup__title{font-weight:600;font-size:14px;margin-bottom:var(--spacing-xs);max-height:150px;overflow:auto}.map-popup__customer,.map-popup__address{color:var(--color-text-secondary);font-size:12px;margin-bottom:var(--spacing-sm)}.map-popup__time{font-size:12px;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.map-popup__workers{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.map-popup__worker-badge{width:24px;height:24px;border-radius:50%;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;text-transform:uppercase}.map-popup__actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.map-popup__actions .btn{flex:1;text-align:center}.map-popup__booking-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.map-popup__booking-actions .btn{flex:1 1 calc(50% - var(--spacing-xs))}.maplibregl-popup-content{padding:var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-width:280px}.maplibregl-popup-close-button{font-size:18px;padding:4px 8px;color:var(--color-text-secondary)}.maplibregl-popup-close-button:hover{color:var(--color-text);background:transparent}.map-list-panel{position:absolute;bottom:0;left:0;right:0;background:var(--color-bg);border-top:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -4px 12px #0000001a;transition:transform .3s ease;max-height:50%;display:flex;flex-direction:column;z-index:100}.map-list-panel.collapsed{transform:translateY(calc(100% - 44px))}.map-list-panel__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);cursor:pointer;flex-shrink:0}.map-list-panel__title{font-weight:600;font-size:14px}.map-list-panel__toggle{background:none;border:none;padding:var(--spacing-sm);cursor:pointer;color:var(--color-text-secondary);font-size:12px}.map-list-panel__content{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.map-list-panel__empty,.map-list-panel__loading{padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary)}.map-list-panel__item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;transition:background .15s}.map-list-panel__item:hover{background:var(--color-bg-secondary)}.map-list-panel__item-order{width:28px;height:28px;background:var(--color-primary);color:#fff;border-radius:50%;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.map-list-panel__item-content{flex:1;min-width:0}.map-list-panel__item-title{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-list-panel__item-address{font-size:12px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-list-panel__item-meta{font-size:11px;color:var(--color-text-muted)}.map-list-panel__item-status{flex-shrink:0}.map-list-panel__item-nav{flex-shrink:0;padding:var(--spacing-sm) var(--spacing-md)}.map-list-panel .badge{font-size:11px;padding:2px 6px;border-radius:3px}.map-filters{display:flex;gap:var(--spacing-md);flex-wrap:wrap}@media(min-width:769px){.map-list-panel{position:absolute;top:var(--spacing-lg);left:var(--spacing-lg);bottom:auto;right:auto;width:320px;max-height:calc(100% - 32px);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transform:none}.map-list-panel.collapsed{transform:translateY(0)}.map-list-panel.collapsed .map-list-panel__content{display:none}.map-list-panel__header{border-radius:var(--radius-lg) var(--radius-lg) 0 0}}@media(max-width:768px){.map-header{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-md);align-items:stretch}.map-page--field .map-controls{justify-content:space-between}.map-page--field .map-controls .form-control{min-width:0;flex:1}.map-page--field .map-controls input[type=date]{min-width:0}.map-list-panel__item{padding:var(--spacing-sm) var(--spacing-md)}#map-list-toggle{transform:rotate(180deg)}.map-header__title,#map-recenter{display:none}.map-page--field .map-controls{display:grid;grid-template-columns:50% 50%;box-sizing:border-box;width:100%;order:1}.map-page--field .map-controls .map-controls__group{flex:1;justify-content:center}.map-page--office .map-mobile-filters-toggle{display:inline-flex;margin-left:0;order:1}.map-page--office .map-controls{display:none;width:100%;order:3;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.map-page--office.map-page--filters-open .map-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.map-page--office .map-controls .map-controls__group{width:100%}.map-page--office .map-controls .map-controls__group:last-of-type{grid-column:1 / -1}.map-page--office .map-controls .form-control{width:100%;min-width:0}.map-page--office #map-recenter{display:none}.map-page--office .map-worker-toggles{order:0;flex:1;min-width:0;width:auto;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding-bottom:2px;gap:6px}.map-page--office.map-page--filters-split .map-worker-toggles{order:2;width:100%;flex:0 0 100%}.map-page--office .map-worker-toggle{flex:0 0 auto}.map-page--office .map-worker-toggle .avatar-tag{--avatar-tag-diameter: 28px;--avatar-tag-font-size: 11px}}.address-autocomplete{position:relative;width:100%}.address-autocomplete__input-wrapper{position:relative;display:flex;align-items:center}.address-autocomplete__input{padding-right:32px}.address-autocomplete__clear{position:absolute;right:8px;background:none;border:none;padding:4px 8px;cursor:pointer;color:var(--color-text-secondary);font-size:18px;line-height:1}.address-autocomplete__clear:hover{color:var(--color-text)}.address-autocomplete__list{position:absolute;top:100%;left:0;right:0;z-index:1000;max-height:300px;overflow-y:auto;background:var(--color-bg);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-lg);margin:0;padding:0;list-style:none;display:none}.address-autocomplete__item{padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;border-bottom:1px solid var(--color-border-light)}.address-autocomplete__item:last-child{border-bottom:none}.address-autocomplete__item:hover,.address-autocomplete__item.highlighted{background:var(--color-bg-secondary)}.address-autocomplete__item-primary{font-size:13px;font-weight:500;color:var(--color-text)}.address-autocomplete__item-secondary{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.asset-types-page{padding:var(--spacing-xl)}.asset-types-container{margin-top:var(--spacing-xl)}.library-type-item{transition:background-color .2s}.library-type-item:hover:not(:has(input:disabled)){background-color:var(--color-bg-secondary)}.style-editor{padding:var(--spacing-lg);background:var(--color-bg-secondary);border-radius:4px}.radio-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.radio-label{display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;padding:var(--spacing-md);border-radius:4px;transition:background-color .2s}.radio-label:hover{background-color:var(--color-bg-secondary)}.radio-label input[type=radio]{cursor:pointer}.radio-label input[type=radio]:disabled{cursor:not-allowed}.assets-page{padding:var(--spacing-xl)}.filters-bar{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.assets-container{margin-top:var(--spacing-xl)}.asset-detail{padding:var(--spacing-lg)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.detail-item{display:flex;flex-direction:column;gap:var(--spacing-sm)}.detail-item label{font-size:12px;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-item>div{color:var(--color-text)}.asset-map-section{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.asset-map-section-title{margin:0 0 var(--spacing-lg) 0;font-size:14px}.asset-location-map{height:280px;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.asset-location-map-message{margin:0}.clickable-row{cursor:pointer;transition:background-color .2s}.clickable-row:hover{background-color:var(--color-bg-secondary)}.list-item{transition:background-color .2s}.list-item:hover{background-color:var(--color-bg-secondary)}.panel-backdrop{position:fixed;inset:0;background:#0003;z-index:9999;pointer-events:none;opacity:0;transition:opacity .3s ease}@media(max-width:768px){.panel-backdrop{background:#00000080;pointer-events:auto}}.panel{position:fixed;top:0;right:0;bottom:0;min-width:400px;max-width:90%;background:var(--color-bg);box-shadow:-2px 0 16px #0003;z-index:10000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}@media(max-width:768px){.panel{width:100%;min-width:100%;max-width:100%}}.panel-resize-handle{position:absolute;left:0;top:0;bottom:0;width:4px;cursor:ew-resize;z-index:1;background:transparent;transition:background .2s}.panel-resize-handle:hover{background:var(--color-primary)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xl) 20px;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);flex-shrink:0}.panel-header h2{margin:0;font-size:16px;font-weight:500}.panel-header>div{display:flex;align-items:center;gap:var(--spacing-md)}.panel-close-btn .icon{width:16px;height:16px;stroke-width:2.5}.panel-header .btn{height:24px}.panel-body{flex:1;overflow-y:auto;padding:20px}@media(max-width:768px){.panel-header{padding:var(--spacing-lg) 16px}.panel-header>div{gap:12px}.panel-header .btn:not(.panel-close-btn){height:32px;padding:0 14px}.panel-header .btn.panel-close-btn{height:32px;width:32px}}.panel-close-btn{padding:0;min-width:28px;width:28px;height:28px;border-radius:var(--radius-md);border-color:var(--color-secondary);background:var(--color-bg);color:var(--color-text)}.question-photo{margin-bottom:var(--spacing-lg)}.photo-upload-area{margin-bottom:var(--spacing-md)}.photo-upload-btn{display:inline-flex;align-items:center;gap:8px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.photo-thumbnail{position:relative;aspect-ratio:1;border:2px solid var(--color-border);border-radius:8px;overflow:hidden;background:var(--color-bg-secondary)}.photo-thumbnail-img{width:100%;height:100%;object-fit:cover}.photo-delete-btn{position:absolute;top:4px;right:4px;width:28px;height:28px;border:none;border-radius:50%;background:#dc2626e6;color:#fff;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s}.photo-delete-btn:hover{background:#b91c1c}.attachment-list{margin-top:var(--spacing-lg)}.attachment-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.attachment-list-header h3{margin:0;font-size:14px;font-weight:600}.attachment-drop-zone{border:2px dashed var(--color-border);border-radius:8px;padding:var(--spacing-xl);text-align:center;background:var(--color-bg-secondary);transition:all .2s;cursor:pointer}.attachment-drop-zone:hover{border-color:var(--color-primary);background:var(--color-bg)}.attachment-drop-zone.drag-over{border-color:var(--color-primary);background:var(--color-primary-light, #e0f2fe)}.attachment-drop-zone-icon{font-size:48px;margin-bottom:var(--spacing-sm);opacity:.5}.attachment-drop-zone-text{font-size:14px;color:var(--color-text-secondary)}.attachment-items{margin-top:var(--spacing-md);display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-sm)}.attachment-item{display:flex;flex-direction:row;align-items:flex-start;gap:12px;flex:1 1 240px;max-width:280px;min-width:0;padding:12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);transition:background .2s,border-color .2s}.attachment-item:hover{background:var(--color-bg-secondary);border-color:var(--color-border-strong, var(--color-border))}.attachment-item-icon{width:70px;height:70px;font-size:24px;flex-shrink:0;border-radius:8px;background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center}.attachment-item-thumbnail{width:70px;height:70px;flex-shrink:0;border-radius:8px;overflow:hidden;background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer}.attachment-thumb-img{width:100%;height:100%;object-fit:cover;display:block}.attachment-item-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px;align-self:stretch}.attachment-item-name{font-weight:500;font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-item-meta{font-size:12px;color:var(--color-text-secondary);line-height:1.4}.attachment-item-comment{font-size:12px;line-height:1.45;color:var(--color-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.attachment-item-actions{display:flex;justify-content:flex-start;align-items:center;gap:var(--spacing-sm);flex-shrink:0;margin-top:auto}.attachment-item-actions .btn{padding:4px 12px;font-size:12px}.attachment-item-menu-wrap{position:relative;display:flex;align-items:center}.attachment-menu-toggle{min-width:34px;padding:4px 8px}.attachment-item-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:190px;display:none;flex-direction:column;padding:6px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);box-shadow:0 10px 24px #0f172a29;z-index:20}.attachment-item-menu--up{top:auto;bottom:calc(100% + 4px)}.attachment-item-menu.is-open{display:flex}.attachment-item-menu__action{width:100%;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--color-text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.attachment-item-menu__action:hover{background:var(--color-bg-secondary)}.attachment-item-menu__action--danger{color:var(--color-danger, #b91c1c)}.attachment-empty-state,.attachment-items .loading-state{width:100%}.attachment-upload-progress{margin-top:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary)}.attachment-upload-progress-bar{width:100%;height:8px;background:var(--color-bg);border-radius:4px;overflow:hidden;margin-top:var(--spacing-sm)}.attachment-upload-progress-fill{height:100%;background:var(--color-primary);transition:width .3s}.attachment-upload-popover{position:fixed;right:16px;bottom:16px;width:min(420px,calc(100vw - 32px));max-height:min(70vh,520px);background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 12px 28px #0f172a33;z-index:13050;display:flex;flex-direction:column;overflow:hidden}.attachment-upload-popover__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--color-border-light)}.attachment-upload-popover__title{font-size:14px;font-weight:600}.attachment-upload-popover__close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer}.attachment-upload-popover__close:disabled{cursor:default;opacity:.4}.attachment-upload-popover__summary{padding:8px 12px 4px;font-size:12px;color:var(--color-text-secondary)}.attachment-upload-popover__overall-bar{height:6px;margin:0 12px 10px;border-radius:99px;background:var(--color-bg-secondary);overflow:hidden}.attachment-upload-popover__overall-fill{height:100%;background:var(--color-primary);transition:width .2s ease}.attachment-upload-popover.is-complete .attachment-upload-popover__overall-fill{background:var(--color-success, #22c55e)}.attachment-upload-popover__list{display:flex;flex-direction:column;gap:8px;padding:0 12px 12px;overflow-y:auto}.attachment-upload-item{display:flex;align-items:flex-start;gap:10px;padding:8px;border:1px solid var(--color-border-light);border-radius:8px;background:var(--color-bg-secondary)}.attachment-upload-item__preview{width:44px;height:44px;border-radius:6px;overflow:hidden;background:var(--color-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.attachment-upload-item__preview img{width:100%;height:100%;object-fit:cover}.attachment-upload-item__file-icon{opacity:.7}.attachment-upload-item__body{min-width:0;flex:1}.attachment-upload-item__name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-upload-item__meta{margin-top:2px;font-size:11px;color:var(--color-text-secondary)}.attachment-upload-item__bar{height:4px;margin-top:6px;border-radius:99px;background:var(--color-bg);overflow:hidden}.attachment-upload-item__comment-wrap{margin-top:8px}.attachment-upload-item__comment{width:100%;min-height:54px;resize:vertical;padding:8px 10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text);font:inherit;font-size:12px;line-height:1.4}.attachment-upload-item__comment-help{margin-top:4px;font-size:11px;color:var(--color-text-secondary)}.attachment-upload-item__fill{height:100%;width:0;background:var(--color-primary);transition:width .2s ease}.attachment-upload-item.is-failed .attachment-upload-item__fill{background:var(--color-danger)}.attachment-upload-item.is-done .attachment-upload-item__fill{background:var(--color-success, #22c55e)}.attachment-upload-item__error{margin-top:4px;font-size:11px;color:var(--color-danger)}.attachment-empty-state{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary);font-size:14px}@media(max-width:768px){.attachment-items{flex-direction:row;flex-wrap:wrap;justify-content:space-around}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--spacing-sm)}.attachment-item{flex-direction:column;align-items:center}.attachment-item-actions{width:100%;justify-content:space-around}.attachment-upload-popover{right:10px;left:10px;bottom:10px;width:auto;max-height:min(65vh,460px)}.attachment-item-name{word-wrap:break-word;max-width:140px}}#invoices-page .invoice-list-summary{margin-top:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-md);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-sm);background:var(--color-bg)}#invoices-page .invoice-list-summary-item{display:flex;flex-direction:column;gap:2px}#invoices-page .invoice-list-summary-item-emphasis .invoice-list-summary-value{color:var(--color-danger)}#invoices-page .invoice-list-summary-label{font-size:12px;color:var(--color-text-secondary)}#invoices-page .invoice-list-summary-value{font-size:14px;font-weight:600}.invoice-editor .page-header{align-items:flex-start;gap:var(--spacing-md)}.invoice-editor-title-block{display:flex;flex-direction:column;gap:4px}.invoice-editor-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:flex-end}.invoice-editor-actions-bottom{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.invoice-editor-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--spacing-lg)}.invoice-editor-main,.invoice-editor-sidebar{display:flex;flex-direction:column;gap:var(--spacing-lg)}.invoice-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md)}@media(min-width:769px){.invoice-lines-table{table-layout:fixed;width:100%}.invoice-lines-table th:first-child,.invoice-lines-table .invoice-line-cell-handle{width:32px}.invoice-lines-table th:nth-child(2),.invoice-lines-table .invoice-line-cell-description{width:auto}.invoice-lines-table th:nth-child(3),.invoice-lines-table .invoice-line-cell-qty{width:84px}.invoice-lines-table th:nth-child(4),.invoice-lines-table .invoice-line-cell-unit-price{width:84px}.invoice-lines-table th:nth-child(5),.invoice-lines-table .invoice-line-cell-tax-mode{width:110px}.invoice-lines-table th:nth-child(6),.invoice-lines-table .invoice-line-cell-total{width:110px}.invoice-lines-table th:nth-child(7),.invoice-lines-table .invoice-line-cell-actions{width:92px}.invoice-lines-table th:nth-child(8){width:92px}}.invoice-meta-details[open] .invoice-meta-summary{margin-bottom:var(--spacing-md)}.invoice-meta-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);cursor:pointer;list-style:none}.invoice-meta-summary__item{display:flex;align-items:baseline;gap:6px;min-width:0}.invoice-meta-summary__label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.invoice-meta-summary:after{content:"▾";font-size:16px;line-height:1;color:var(--color-text-secondary);flex:0 0 auto}.invoice-meta-details[open] .invoice-meta-summary:after{transform:rotate(180deg)}.invoice-lines-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.invoice-lines-table .invoice-line-input{width:100%;padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:12px}.invoice-lines-table td{vertical-align:middle}.invoice-lines-table .checkbox-label{display:inline-flex;align-items:center;gap:6px;font-size:12px}.invoice-lines-table .invoice-tax-mode-controls{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px}.invoice-line-total{font-weight:600}.invoice-line-handle-cell{width:36px;text-align:center}.invoice-drag-handle{cursor:grab;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;color:var(--color-text-secondary)}.invoice-drag-handle:active{cursor:grabbing}.invoice-totals{display:flex;flex-direction:column;gap:var(--spacing-sm)}.invoice-total-row{display:flex;justify-content:space-between;font-size:13px}.invoice-total-final{border-top:1px solid var(--color-border-light);padding-top:var(--spacing-sm);font-size:15px}.invoice-preview{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);background:#fff;max-height:420px;max-width:100%;overflow:auto;box-sizing:border-box}.invoice-preview-frame{font-size:12px;max-width:100%;overflow-x:auto}.invoice-preview iframe,.invoice-preview object,.invoice-preview embed,.invoice-preview img,.invoice-preview table,.invoice-preview pre,.invoice-preview-frame iframe,.invoice-preview-frame object,.invoice-preview-frame embed,.invoice-preview-frame img,.invoice-preview-frame table,.invoice-preview-frame pre{max-width:100%}.invoice-preview-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--spacing-sm);cursor:pointer;list-style:none}.invoice-preview-header::-webkit-details-marker{display:none}.invoice-preview-details[open] .invoice-preview-header{margin-bottom:var(--spacing-sm)}.invoice-preview-details:not([open]) .invoice-preview-header{margin-bottom:0}@media(max-width:1024px){.invoice-editor-grid{grid-template-columns:1fr}}@media(max-width:768px){.invoice-editor .page-header{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.invoice-editor-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-sm);justify-content:stretch}.invoice-editor-actions .btn{width:100%;justify-content:center}.invoice-meta-grid{grid-template-columns:1fr}.invoice-meta-summary{flex-direction:column;align-items:flex-start}.invoice-meta-summary__item{flex-direction:column;align-items:flex-start;gap:2px}.invoice-lines-header{flex-wrap:wrap;gap:var(--spacing-sm)}.invoice-lines-header .btn{width:100%}.invoice-lines-table thead{display:none}.invoice-lines-table,.invoice-lines-table tbody,.invoice-lines-table tr,.invoice-lines-table td{display:block;width:100%}.invoice-lines-table tbody tr{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);background:var(--color-bg)}.invoice-lines-table tbody tr:after{content:"";display:block;clear:both}.invoice-lines-table tbody tr:last-child{margin-bottom:0}.invoice-lines-table td{border:0;padding:0;margin-bottom:var(--spacing-sm)}.invoice-line-cell-qty,.invoice-line-cell-unit-price,.invoice-line-cell-tax-mode,.invoice-line-cell-total{display:block!important;float:left;width:calc(50% - (var(--spacing-sm) / 2))!important;vertical-align:top;box-sizing:border-box}.invoice-line-cell-qty,.invoice-line-cell-tax-mode{margin-right:var(--spacing-sm)}.invoice-line-cell-unit-price,.invoice-line-cell-total{margin-right:0}.invoice-line-cell-handle,.invoice-line-cell-actions{margin-bottom:0}.invoice-line-cell-handle:before,.invoice-line-cell-actions:before{content:none}.invoice-lines-table td:before{content:attr(data-label);display:block;margin-bottom:4px;font-size:11px;font-weight:600;color:var(--color-text-secondary)}.invoice-line-handle-cell{width:auto;text-align:left}.invoice-line-cell-total{font-size:14px}.invoice-line-cell-actions .btn{width:100%}.invoice-preview{max-height:300px}.invoice-preview-header{align-items:center;margin-bottom:0}#invoices-page .invoice-list-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.search-bar{margin-bottom:1rem}.search-bar-simple{display:flex;gap:.5rem;align-items:center}.search-bar-simple .search-input{flex:1;padding:.5rem;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:.9rem}.search-bar-simple .search-input:focus{outline:none;border-color:var(--primary-color, #007bff)}.search-bar-simple .search-toggle{white-space:nowrap;padding:.5rem 1rem;font-size:.9rem}.search-bar-advanced{display:none;margin-top:1rem;padding:1rem;background-color:var(--background-light, #f8f9fa);border:1px solid var(--border-color, #ddd);border-radius:4px}.search-bar-advanced.active{display:block}.search-advanced-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.search-advanced-header h4{margin:0;font-size:1rem;font-weight:600}.search-advanced-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.search-field{display:flex;flex-direction:column}.search-field label{font-size:.85rem;font-weight:500;margin-bottom:.25rem;color:var(--text-secondary, #6c757d)}.search-field input,.search-field select{padding:.4rem;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:.9rem}.search-field input:focus,.search-field select:focus{outline:none;border-color:var(--primary-color, #007bff)}.search-advanced-actions{display:flex;gap:.5rem;justify-content:flex-end}.search-advanced-actions .btn{padding:.4rem 1rem;font-size:.9rem}.search-bar[data-search-mode=advanced] .search-bar-simple{display:none}.multi-select-container{position:relative}.multi-select-display{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px;border:1px solid var(--border-color, #ddd);border-radius:4px;min-height:38px;background-color:#fff}.multi-select-tags{display:flex;flex-wrap:wrap;gap:4px;flex:1}.multi-select-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:500;line-height:1.4}.multi-select-remove{background:none;border:none;color:inherit;font-size:16px;line-height:1;cursor:pointer;padding:0;margin-left:2px;opacity:.8;transition:opacity .2s}.multi-select-remove:hover{opacity:1}.multi-select-toggle{display:inline-flex;align-items:center;padding:4px 8px;background:var(--color-bg-secondary, #f3f4f6);border:1px dashed var(--border-color, #d1d5db);border-radius:4px;font-size:12px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .2s;white-space:nowrap}.multi-select-toggle:hover{background:var(--color-bg-tertiary, #e5e7eb);color:var(--color-text, #374151);border-color:var(--color-border-dark, #9ca3af)}.multi-select-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:4px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;min-width:100%;max-width:300px;z-index:1000}.multi-select-search{width:100%;padding:8px;border:none;border-bottom:1px solid var(--border-color, #e5e7eb);font-size:13px}.multi-select-search:focus{outline:none;border-color:var(--primary-color, #3b82f6)}.multi-select-options{max-height:200px;overflow-y:auto}.multi-select-option{padding:8px 12px;cursor:pointer;transition:background-color .2s}.multi-select-option:hover{background-color:var(--color-bg-secondary, #f9fafb)}.multi-select-option.selected{background-color:var(--color-bg-secondary, #f3f4f6)}.multi-select-option .tag-badge{pointer-events:none}@media(max-width:768px){.search-advanced-fields{grid-template-columns:1fr}.search-advanced-header{flex-direction:column;align-items:flex-start;gap:.5rem}.search-advanced-actions{flex-direction:column;width:100%}.search-advanced-actions .btn{width:100%}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-dialog{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-width:600px;width:90%;max-height:90vh;display:flex;flex-direction:column;animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content{display:flex;flex-direction:column;max-height:90vh}.modal-header{border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--color-text);line-height:var(--line-height-tight)}.modal-close{background:none;border:none;font-size:20px;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:background-color .15s ease}.modal-close:hover{background-color:var(--color-bg-secondary);color:var(--color-text)}.modal-body{padding:var(--spacing-xl);overflow-y:auto;flex:1}.modal-loading-body{text-align:center;padding:2rem}.convert-dialog-warning-copy{margin:var(--spacing-sm) 0 0 0;font-size:13px}.modal-footer{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--spacing-md);flex-shrink:0}.conversion-info{background:var(--color-bg-secondary);padding:var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);font-size:13px;line-height:var(--line-height-normal)}.conversion-info p{margin:var(--spacing-sm) 0}.conversion-info p:first-child{margin-top:0}.conversion-info p:last-child{margin-bottom:0}.line-items-preview{background:var(--color-bg-secondary);padding:var(--spacing-lg);border-radius:var(--radius-md);margin-top:var(--spacing-lg);font-size:13px}.line-items-preview strong{display:block;margin-bottom:var(--spacing-sm);color:var(--color-text);font-size:13px}.line-items-preview ul{margin:0;padding-left:var(--spacing-xl)}.line-items-preview li{margin:var(--spacing-xs) 0;color:var(--color-text-secondary);font-size:13px;line-height:var(--line-height-normal)}.modal-body .form-group{margin-bottom:5px}.modal-body .form-group:last-child{margin-bottom:0}.modal-body .form-control{width:100%;padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;line-height:var(--line-height-normal);font-family:inherit;transition:all .15s}.modal-body .form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.modal-body .form-control:disabled{background-color:var(--color-bg-tertiary);cursor:not-allowed;opacity:.6}.modal-body label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;font-size:12px;color:var(--color-text-secondary);line-height:var(--line-height-tight)}.modal-body .checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:400;cursor:pointer;font-size:13px}.modal-body .checkbox-label input[type=checkbox]{width:auto;margin:0;cursor:pointer}.modal-body .form-text{display:block;margin-top:var(--spacing-sm);font-size:12px;color:var(--color-text-secondary);line-height:var(--line-height-tight)}.modal-body .text-danger{color:var(--color-danger)}.modal-body .form-text a{color:var(--color-primary);text-decoration:none}.modal-body .form-text a:hover{text-decoration:underline}.alert{padding:var(--spacing-lg);border-radius:var(--radius-md);margin-top:var(--spacing-lg);border:1px solid transparent;font-size:13px;line-height:var(--line-height-normal)}.alert-info{background-color:#dbeafe;border-color:#bfdbfe;color:#1e40af}.alert-warning{background-color:#fef3c7;border-color:#fde68a;color:#92400e}.text-warning{color:#92400e}.modal-dialog-lg{max-width:700px}@media(max-width:768px){.modal-dialog{width:95%;max-width:none;margin:var(--spacing-lg)}.modal-header h3,.modal-header h2{padding-left:10px}.modal-body{padding:var(--spacing-lg) 0}.modal-footer{padding:var(--spacing-md) var(--spacing-lg);flex-direction:column;padding-left:0;padding-right:0}.conversion-info,.line-items-preview{padding:var(--spacing-md)}}.tag-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:500;line-height:1;margin-right:4px;margin-bottom:4px;white-space:nowrap}.tag-badges{display:flex;flex-wrap:wrap;gap:4px}.color-picker-group{display:flex;gap:8px;align-items:center}.color-picker-group input[type=color]{width:48px;height:38px;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius, 4px);cursor:pointer;padding:2px}.color-picker-group input[type=text]{flex:0 0 auto}.color-picker-group .tag-badge{margin:0;padding:6px 12px}.checkbox-group{display:flex;flex-direction:column;gap:8px;margin-top:8px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}#entity-checkboxes{margin-top:12px;padding:12px;background-color:var(--color-bg-secondary, #f9fafb);border-radius:var(--radius, 4px);border:1px solid var(--color-border, #e5e7eb)}.library-tags-list{display:flex;flex-direction:column;gap:12px;overflow-y:auto}.library-tag-card{border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius, 4px);padding:12px;background-color:var(--color-bg, #fff)}.library-tag-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.library-tag-body{font-size:13px;color:var(--color-text-secondary, #6b7280)}.library-tag-body p{margin:0}.tag-management-container{margin-top:24px}.tag-management-embed .tag-management-container{margin-top:0}.tag-management-embed__header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.tag-management-embed__header h3{margin:0}.tag-management-embed__header p{margin:4px 0 0}.tag-management-embed__actions{display:inline-flex;gap:8px}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.radio-label input[type=radio]{cursor:pointer;width:16px;height:16px}.tag-checkboxes{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.tag-checkbox-label{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius, 4px);cursor:pointer;transition:background-color .2s}.tag-checkbox-label:hover{background-color:var(--color-bg-secondary, #f9fafb)}.tag-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.tag-checkbox-label .tag-badge{margin:0}.tag-description{font-size:12px;color:var(--color-text-secondary, #6b7280);flex:1}.tags-display{display:flex;flex-direction:column;gap:8px}.tags-inline-editor{position:relative}.tag-badges-container{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag-badge-removable{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;line-height:1}.tag-remove-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:inherit;font-size:16px;line-height:1;cursor:pointer;padding:0;margin-left:2px;opacity:.7;transition:opacity .2s}.tag-remove-btn .icon{width:12px;height:12px;stroke-width:2.5}.tag-remove-btn:hover{opacity:1}.tag-add-btn{display:inline-flex;align-items:center;padding:4px 10px;background:var(--color-bg-secondary, #f3f4f6);border:1px dashed var(--color-border, #d1d5db);border-radius:12px;font-size:12px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .2s}.tag-add-btn:hover{background:var(--color-bg-tertiary, #e5e7eb);color:var(--color-text, #374151);border-color:var(--color-border-dark, #9ca3af)}.tag-dropdown{position:absolute;top:100%;left:0;margin-top:8px;background:#fff;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius, 6px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;min-width:280px;max-width:400px;max-height:300px;display:flex;flex-direction:column;z-index:1000}.tag-dropdown[hidden]{display:none}.tag-dropdown-header{padding:8px;border-bottom:1px solid var(--color-border, #e5e7eb)}.tag-search-input{width:100%;padding:6px 10px;border:1px solid var(--color-border, #e5e7eb);border-radius:4px;font-size:13px}.tag-search-input:focus{outline:none;border-color:var(--color-primary, #3b82f6)}.tag-dropdown-list{overflow-y:auto;max-height:240px}.tag-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border:none;background:none;width:100%;text-align:left;cursor:pointer;transition:background-color .2s}.tag-dropdown-item:hover{background-color:var(--color-bg-secondary, #f9fafb)}.tag-dropdown-item .tag-description{font-size:11px;color:var(--color-text-secondary, #6b7280);flex:1}.tag-dropdown-loading,.tag-dropdown-empty{padding:16px;text-align:center;color:var(--color-text-secondary, #6b7280);font-size:13px}@media(max-width:768px){.tag-management-embed__header{flex-direction:column;align-items:flex-start;gap:12px}.tag-management-embed__actions{width:100%;display:flex;gap:8px}.tag-management-embed__actions button{flex:1}.color-picker-group{flex-wrap:wrap}}.risk-matrix-container{overflow-x:auto;margin:8px 0}.risk-matrix-table{border-collapse:collapse;width:auto;min-width:300px;font-size:.85rem}.risk-matrix-table th,.risk-matrix-table td{border:2px solid #fff;padding:6px 10px;text-align:center;min-width:80px}.risk-matrix-corner{min-width:100px;background:#f9fafb;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.risk-matrix-x-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;text-align:center;width:100%;white-space:nowrap}.risk-matrix-y-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;padding:8px 4px;white-space:nowrap}.risk-matrix-col-header{background:#f3f4f6;font-weight:600;font-size:.8rem;color:#374151}.risk-matrix-row-header{background:#f3f4f6;font-weight:600;font-size:.8rem;color:#374151;text-align:right;padding-right:12px}.risk-matrix-cell{color:#fff;font-weight:600;font-size:.75rem;text-shadow:0 1px 2px rgba(0,0,0,.3);transition:opacity .15s;cursor:default}.risk-matrix-cell:hover{opacity:.85}.risk-matrix-legend{display:flex;gap:16px;margin-top:8px;flex-wrap:wrap}.risk-matrix-legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#374151}.risk-matrix-legend-swatch{display:inline-block;width:14px;height:14px;border-radius:3px;flex-shrink:0}.risk-matrix-empty{color:#9ca3af;font-style:italic;padding:16px;text-align:center}.risk-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.risk-badge-none{background:#f3f4f6;color:#9ca3af}.risk-model-editor{display:flex;flex-direction:column;gap:16px}.risk-model-steps{display:flex;gap:0;border-bottom:2px solid #e5e7eb;margin-bottom:8px}.risk-model-step{padding:8px 16px;font-size:.85rem;font-weight:500;color:#9ca3af;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:default;-webkit-user-select:none;user-select:none}.risk-model-step.active{color:#3b82f6;border-bottom-color:#3b82f6}.risk-category-table input[type=color]{width:36px;height:30px;padding:2px;border:1px solid #d1d5db;border-radius:4px;cursor:pointer}.risk-matrix-editor-table{border-collapse:collapse}.risk-matrix-editor-table th,.risk-matrix-editor-table td{border:2px solid #fff;padding:4px;text-align:center}.risk-matrix-editor-cell{min-width:90px;transition:background-color .2s}.matrix-cell-select{width:100%;background:transparent;border:none;color:#fff;font-weight:600;font-size:.8rem;text-align:center;cursor:pointer;text-shadow:0 1px 2px rgba(0,0,0,.3)}.matrix-cell-select option{background:#fff;color:#1f2937;text-shadow:none}@media(max-width:767px){.risk-matrix-table th,.risk-matrix-table td{padding:4px 6px;min-width:60px;font-size:.7rem}.risk-model-steps{flex-wrap:wrap}.risk-model-step{padding:6px 10px;font-size:.8rem}}.swms-template-editor .swms-instance-section{margin-bottom:12px}.swms-template-task-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.swms-template-task-tools h4{margin:0}.swms-task-row{padding:12px;margin-bottom:8px;border:1px solid #e5e7eb;border-radius:6px}.swms-task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.swms-task-num{font-weight:600;color:#6b7280;font-size:.85rem}.swms-ppe-section{margin-bottom:8px}.swms-ppe-checklist{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;min-height:28px}.swms-ppe-tag{display:inline-flex;align-items:center;gap:4px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:16px;padding:3px 10px;font-size:.8rem;font-weight:500}.swms-ppe-tag-remove{background:none;border:none;color:#93c5fd;cursor:pointer;font-size:1rem;line-height:1;padding:0 2px}.swms-ppe-tag-remove:hover{color:#dc2626}.swms-ppe-add{position:relative;max-width:300px}.swms-permit-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.swms-permit-label{font-weight:500;font-size:.85rem;color:#374151;min-width:140px}.swms-permit-row .permit-label{flex:1}.swms-permit-row .permit-number{width:180px}.swms-instance-dialog{display:flex;flex-direction:column;gap:4px}.swms-instance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.swms-instance-status{display:flex;align-items:center;gap:8px}.swms-instance-actions{display:flex;gap:6px}.swms-instance-section{margin-bottom:12px}.swms-instance-section h4{font-size:.9rem;font-weight:600;color:#374151;margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid #f3f4f6}.swms-tasks-table{font-size:.85rem;width:100%;table-layout:fixed}.swms-tasks-table th{font-size:.75rem;text-transform:uppercase;color:#6b7280;font-weight:600}.swms-tasks-table th,.swms-tasks-table td{vertical-align:top}.swms-tasks-table th:nth-child(1),.swms-tasks-table td:nth-child(1){width:40px}.swms-task-risk-col{width:145px}.swms-tasks-table textarea{font-size:.85rem;min-height:50px;width:100%}.swms-tasks-table select{font-size:.8rem;width:100%;min-width:0}.swms-task-actions-col{width:52px}.task-risk-picker-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:32px;padding:4px 6px;border:1px solid var(--color-border, #d1d5db);border-radius:6px;background:#fff;cursor:pointer}.task-risk-picker-btn:hover{background:#f8fafc}.task-risk-picker-btn:disabled{cursor:not-allowed;opacity:.6}.task-risk-picker-btn .risk-badge{max-width:100%}.swms-risk-picker-overlay{position:fixed;inset:0;background:#0f172a47;z-index:20050;display:flex;align-items:center;justify-content:center;padding:16px}.swms-risk-picker{width:min(420px,100%);background:#fff;border-radius:10px;border:1px solid #dbe2ea;box-shadow:0 12px 32px #0f172a33;padding:14px}.swms-risk-picker h4{margin:0 0 10px;font-size:.9rem}.swms-risk-picker-preview{margin-bottom:8px}#swms-tasks-container,#st-tasks-container{overflow-x:auto}#swms-tasks-container .swms-tasks-table,#st-tasks-container .swms-tasks-table{min-width:700px}.swms-signatures-list{display:flex;flex-direction:column;gap:6px}.swms-signature-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.swms-signature-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.swms-settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:12px}.swms-settings-card{border:1px solid #e5e7eb;border-radius:8px;padding:16px;background:#fff;cursor:pointer;transition:border-color .15s}.swms-settings-card:hover{border-color:#3b82f6}.swms-settings-card h4{margin:0 0 4px;font-size:.9rem;border:none;padding:0}.swms-settings-card p{margin:0;font-size:.8rem;color:#6b7280}.swms-wo-list{display:flex;flex-direction:column;gap:6px}.swms-wo-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:background-color .15s}.swms-wo-item:hover{background:#eff6ff}.swms-wo-item-info{display:flex;align-items:center;gap:8px}.swms-wo-item-meta{font-size:.8rem;color:#6b7280}@media(max-width:767px){.swms-instance-header{flex-direction:column;align-items:flex-start;gap:8px}.swms-tasks-table{font-size:.8rem}.swms-tasks-table th,.swms-tasks-table td{padding:8px}.swms-tasks-table th:nth-child(1),.swms-tasks-table td:nth-child(1){width:30px}.swms-task-risk-col{width:105px}.swms-task-actions-col{width:42px}.swms-tasks-table textarea{font-size:.8rem;min-height:40px}.swms-tasks-table select{font-size:.78rem}#swms-tasks-container .swms-tasks-table,#st-tasks-container .swms-tasks-table{min-width:640px}.swms-settings-grid{grid-template-columns:1fr}}@media(max-width:480px){.swms-task-risk-col{width:98px}}.quotes-view{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.view-header h1{margin:0;font-size:16px;font-weight:600;color:var(--color-text)}.header-buttons{display:flex;gap:var(--spacing-md)}.quotes-list{margin-top:var(--spacing-lg)}.status-badge{display:inline-block;padding:2px 6px;border-radius:var(--radius-sm);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;line-height:var(--line-height-tight)}.status-info{background:#dbeafe;color:#1e40af}.status-expired{background:#fee2e2;color:#991b1b}.status-cancelled{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.status-default{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.status-badge+.badge{margin-left:var(--spacing-sm)}.text-right{text-align:right}.empty-state{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md)}.empty-state p{font-size:13px;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md)}.loading-spinner p{color:var(--color-text-secondary);font-size:13px}@media(max-width:768px){.quotes-view{padding:var(--spacing-md)}.view-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-lg)}.view-header h1{font-size:15px}.quotes-view .data-table{font-size:12px}.quotes-view .data-table th,.quotes-view .data-table td{padding:var(--spacing-md)}.quotes-view .data-table th:nth-child(3),.quotes-view .data-table td:nth-child(3),.quotes-view .data-table th:nth-child(5),.quotes-view .data-table td:nth-child(5){display:none}.quotes-view .status-badge{font-size:10px;padding:2px 4px}}.quote-editor{padding:var(--spacing-md);max-width:1200px;margin:0 auto}.quote-editor.loading{display:flex;justify-content:center;align-items:center;min-height:400px}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.editor-header h1{margin:0 0 var(--spacing-xs) 0;font-size:16px;font-weight:600;color:var(--color-text);line-height:var(--line-height-tight)}.header-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.editor-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.editor-section h2{margin:0 0 var(--spacing-md) 0;font-size:14px;font-weight:600;color:var(--color-text)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.section-header h2{margin:0}.customer-info{padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);font-size:13px;line-height:var(--line-height-normal)}.customer-info div{margin-bottom:var(--spacing-xs)}.customer-info div:last-child{margin-bottom:0}.form-group{margin-bottom:var(--spacing-md)}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;font-size:12px;color:var(--color-text-secondary);line-height:var(--line-height-tight)}.form-control{width:100%;padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;line-height:var(--line-height-normal);font-family:inherit;transition:all .15s}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-control:disabled,.form-control:readonly{background-color:var(--color-bg-tertiary);cursor:not-allowed;opacity:.6}.form-control-sm{padding:4px 6px;font-size:12px}.form-text{display:block;margin-top:var(--spacing-sm);font-size:12px;color:var(--color-text-secondary);line-height:var(--line-height-tight)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}textarea.form-control{resize:vertical;min-height:60px}.line-items-container{overflow-x:auto}.line-items-table{width:100%;border-collapse:collapse;margin-top:var(--spacing-lg);font-size:13px}.line-items-table thead{background-color:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.line-items-table th{padding:var(--spacing-md) var(--spacing-sm);text-align:left;font-weight:600;font-size:12px;color:var(--color-text-secondary);line-height:var(--line-height-tight)}.line-items-table td{padding:var(--spacing-md) var(--spacing-sm);border-top:1px solid var(--color-border-light);vertical-align:middle;line-height:var(--line-height-tight)}.line-items-table input[type=text],.line-items-table input[type=number]{width:100%}.line-items-table input[type=checkbox]{width:auto;margin:0}.totals-section{background:var(--color-bg-secondary);border:1px solid var(--color-border)}.totals-grid{max-width:400px;margin-left:auto}.total-row{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light);font-size:13px;line-height:var(--line-height-tight)}.total-row:last-child{border-bottom:none}.total-row-final{font-size:14px;font-weight:600;padding-top:var(--spacing-md);border-top:1px solid var(--color-border);margin-top:var(--spacing-sm)}.total-amount{font-family:monospace;font-size:13px}.total-row-final .total-amount{font-size:15px;color:var(--color-success)}.actions-section{background:#fef3c7}.action-buttons{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.line-items-container .empty-state{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px dashed var(--color-border);margin-top:var(--spacing-lg)}.line-items-container .empty-state p{margin:0 0 var(--spacing-lg) 0;color:var(--color-text-secondary);font-size:13px}.error-state{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md)}.error-state h2{color:var(--color-danger);font-size:16px;margin-bottom:var(--spacing-lg)}.error-state p{color:var(--color-text-secondary);font-size:13px;margin-bottom:var(--spacing-lg)}.status-badge{display:inline-block;padding:2px 6px;border-radius:var(--radius-sm);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;margin-left:var(--spacing-lg);line-height:var(--line-height-tight)}.status-draft{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.status-pending{background:#fef3c7;color:#92400e}.status-rejected{background:#fee2e2;color:#991b1b}.status-approved{background:#dbeafe;color:#1e40af}.status-sent{background:#dbeafe;color:#1e3a8a}.status-success{background:#d1fae5;color:#065f46}@media(max-width:768px){.quote-editor{padding:var(--spacing-md)}.editor-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-lg)}.header-actions{width:100%;flex-direction:column}.form-row{grid-template-columns:1fr}.line-items-table{font-size:12px}.line-items-table th,.line-items-table td{padding:var(--spacing-sm) var(--spacing-xs)}.action-buttons{flex-direction:column}.totals-grid{max-width:100%}}.quick-quote{min-height:100vh;min-height:100dvh;background:var(--color-bg-secondary)}.quick-quote-header{position:sticky;top:0;background:#fff;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--spacing-lg);box-shadow:var(--shadow-sm)}.quick-quote-header h1{margin:0;font-size:16px;font-weight:600;color:var(--color-text);line-height:var(--line-height-tight)}.quick-quote-form{padding:var(--spacing-lg);max-width:600px;margin:0 auto}.quick-quote-form .form-group{margin-bottom:var(--spacing-xl)}.quick-quote-form .form-group label{display:block;font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-text);font-size:12px;line-height:var(--line-height-tight)}.quick-quote-form .form-control{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;line-height:var(--line-height-normal);font-family:inherit;transition:all .15s}.quick-quote-form .form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-control-lg{padding:12px 14px;font-size:15px}.photo-upload-area{margin-top:var(--spacing-sm)}.photo-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.photo-preview-item{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-tertiary);border:1px solid var(--color-border)}.photo-preview-item img{width:100%;height:100%;object-fit:cover}.photo-remove{position:absolute;top:4px;right:4px;background:var(--color-danger);color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.quick-line-items{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.line-item-row{margin-bottom:var(--spacing-md)}.line-item-row:last-child{margin-bottom:0}.line-item-amounts{display:grid;grid-template-columns:1fr auto 1fr auto 1.5fr auto;gap:var(--spacing-sm);align-items:center;font-size:13px}.line-item-amounts .multiply,.line-item-amounts .equals{color:var(--color-text-secondary);font-weight:600;font-size:14px}.line-subtotal{font-weight:600;font-size:14px;color:var(--color-success);text-align:right}.quick-totals{margin-bottom:var(--spacing-xl)}.quick-totals .total-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light);font-size:13px;line-height:var(--line-height-tight)}.quick-totals .total-row:last-child{border-bottom:none}.quick-totals .total-final{margin-top:var(--spacing-sm);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);font-size:14px;font-weight:600}.quick-totals .amount{font-family:monospace;font-size:14px}.quick-totals .total-final .amount{font-size:16px;color:var(--color-success)}.location-info{padding:var(--spacing-lg);background:#fef3c7;border-radius:var(--radius-md);text-align:center;margin-bottom:var(--spacing-xl);font-size:13px;line-height:var(--line-height-tight)}.location-info.location-captured{background:#d1fae5}.location-info small{color:var(--color-text)}.quick-quote-actions{padding-bottom:var(--spacing-2xl)}.quick-quote.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh}.loading-spinner{text-align:center}@media(max-width:768px){.quick-quote-form{padding:var(--spacing-md)}.line-item-amounts{grid-template-columns:1fr auto 1fr;gap:var(--spacing-sm)}.line-item-amounts .multiply{grid-column:2}.line-item-amounts .equals,.line-subtotal{grid-column:1 / -1;margin-top:var(--spacing-sm)}.line-subtotal{text-align:center;padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md)}}.admin-shell{display:grid;grid-template-columns:280px 1fr;gap:0;height:100%;overflow:hidden}.admin-sidebar{background:var(--surface-1);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;overflow-y:auto}.admin-sidebar-header{padding:24px 20px;border-bottom:1px solid var(--border-color)}.admin-sidebar-header h2{font-size:18px;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.admin-sidebar-header p{font-size:13px;color:var(--text-secondary);margin:0}.admin-nav{display:flex;flex-direction:column;gap:2px;padding:12px 8px}.admin-nav-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border:none;background:transparent;border-radius:6px;cursor:pointer;text-align:left;transition:background-color .15s ease;width:100%}.admin-nav-item:hover{background:var(--surface-2)}.admin-nav-item.active{background:var(--primary-bg);color:var(--primary-color)}.admin-nav-icon{font-size:20px;flex-shrink:0;line-height:1;margin-top:2px}.admin-nav-label{display:block;font-weight:500;font-size:14px;margin-bottom:2px}.admin-nav-description{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.4}.admin-nav-item.active .admin-nav-description{color:inherit;opacity:.8}.admin-pane{background:var(--surface-0);overflow-y:auto;height:100%}.admin-pane-inner{padding:32px 40px;max-width:1200px}.admin-pane-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-secondary);padding:40px}.admin-pane-empty p{font-size:16px;margin:0 0 8px;color:var(--text-primary)}.admin-pane-empty small{font-size:14px;color:var(--text-secondary)}.admin-panel-header{margin-bottom:32px}.admin-panel-header--with-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.admin-panel-header h1{font-size:28px;font-weight:600;margin:0 0 8px;color:var(--text-primary)}.admin-panel-subtitle{font-size:15px;color:var(--text-secondary);margin:0}.admin-pane-section{margin-bottom:32px}.permission-groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.permission-group-card{background:var(--surface-1);border:1px solid var(--border-color);border-radius:8px;padding:20px;transition:box-shadow .2s ease,border-color .2s ease}.permission-group-card:hover{box-shadow:0 4px 12px #00000014;border-color:var(--primary-color)}.permission-group-card h4{font-size:16px;font-weight:600;margin:0;color:var(--text-primary)}.permission-group-card p{margin:0;font-size:14px;color:var(--text-secondary)}.permission-group-management__actions{margin-bottom:24px}.permission-group-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.permission-group-card__badges,.permission-group-card__actions{display:flex;gap:6px;flex-wrap:wrap}.permission-group-card__badges{gap:4px}.permission-group-card__meta{font-size:.9rem;color:#6b7280;margin-bottom:12px}.permission-group-users-empty{color:#6b7280;margin:20px 0}.permission-group-users-table-wrap{margin-top:16px;overflow-x:auto}.permission-group-users-actions{margin-top:24px;display:flex;justify-content:flex-end}.tenants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.tenant-card{background:var(--surface-1);border:1px solid var(--border-color);border-radius:8px;padding:20px;transition:box-shadow .2s ease,border-color .2s ease}.tenant-card:hover{box-shadow:0 4px 12px #00000014;border-color:var(--primary-color)}.tenant-card h4{font-size:16px;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.tenant-card p{margin:0;font-size:14px;color:var(--text-secondary)}.admin-section-header{margin-bottom:16px}.admin-section-header h3{margin:0 0 6px;font-size:18px}.admin-section-header p{margin:0;color:var(--text-secondary);font-size:14px}.admin-database-warning{padding:14px 16px;border:1px solid #f59e0b;background:#fff7ed;border-radius:8px}.admin-database-warning p{margin:6px 0 0}.database-tools-row{display:flex;align-items:end;gap:12px;margin-bottom:12px}.database-tools-field{flex:1 1 auto;min-width:0}.database-tools-actions{display:flex;gap:8px;flex:0 0 auto}.database-tools-note{margin-bottom:16px;font-size:13px;color:var(--text-secondary)}.database-migration-summary-list,.database-migration-results{display:flex;flex-direction:column;gap:10px}.database-migration-results{margin-top:16px}.database-migration-results h4{margin:0 0 4px}.database-migration-history{margin-top:16px}.database-migration-history summary{cursor:pointer;font-weight:600;margin-bottom:12px}.database-migration-history[open] summary{margin-bottom:12px}.database-migration-summary-row,.database-migration-result-row{display:flex;justify-content:space-between;gap:12px;align-items:start;padding:12px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--surface-1)}.database-migration-summary-row__name{font-weight:600}.database-migration-summary-row__meta,.database-migration-result-row__message{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-secondary);font-size:13px;margin-top:4px}.database-migration-summary-row__pending{margin-top:6px;font-size:13px;color:var(--text-secondary)}.database-browser-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.database-browser-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--border-color);border-radius:8px;background:var(--surface-1)}.database-browser-card__label{font-weight:600;color:var(--text-primary)}.database-browser-card__detail{font-size:13px;color:var(--text-secondary)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary)}.loading-state .spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .6s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.loading-state span{font-size:14px}.empty-state{text-align:center;padding:20px;color:var(--text-secondary)}.empty-state p{font-size:15px;margin:0 0 8px}.empty-state .text-muted{font-size:13px;opacity:.7}.simple-table{width:100%;border-collapse:collapse;font-size:14px}.simple-table th{text-align:left;padding:10px 12px;background:var(--surface-2);color:var(--text-secondary);font-weight:500;font-size:13px;border-bottom:2px solid var(--border-color)}.simple-table td{padding:10px 12px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.simple-table tbody tr:last-child td{border-bottom:none}.user-management__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.user-management__filters{display:grid;grid-template-columns:minmax(220px,1fr) 200px;gap:12px;margin-bottom:16px}.user-management__table-wrap{overflow-x:auto;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-1)}.user-management__table th,.user-management__table td{vertical-align:top}.user-management__identity{display:grid;gap:4px}.user-management__identity span{color:var(--text-secondary);font-size:13px}.user-management__tenant-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}.user-management__actions{display:flex;flex-wrap:wrap;gap:6px}.global-user-editor-form{display:grid;gap:14px}.global-user-editor-form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.global-user-editor-form__toggles{display:flex;gap:20px;flex-wrap:wrap}.global-user-editor-form__assignments{border:1px solid var(--border-color);border-radius:10px;padding:12px;display:grid;gap:10px}.global-user-editor-form__assignments-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.global-user-editor-form__assignments-header h4{margin:0}.global-user-editor-form__assignment-list{display:grid;gap:8px}.global-user-editor-form__assignment-list-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,.9fr) 72px 92px;gap:8px;align-items:center;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-secondary)}.global-user-editor-form__assignment-head-cell{display:block;width:100%;text-align:left}.global-user-editor-form__assignment-list.is-disabled{opacity:.55}.global-user-editor-form__assignment-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,.9fr) 72px 92px;gap:8px;align-items:center}.global-user-editor-form__assignment-active{margin:0}.global-user-editor-form__actions{margin-top:2px}.global-user-editor-form__hint{margin:0;font-size:12px}.global-user-reset-form__actions{justify-content:flex-end;gap:8px}.partner-profile-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.partner-profile-card{background:var(--surface-1);border:1px solid var(--border-color);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:14px}.partner-profile-card--inactive{opacity:.8}.partner-profile-card__header h4{margin:0;font-size:17px}.partner-profile-card__sub{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.partner-profile-card__legal{color:var(--text-secondary);font-size:13px}.partner-profile-card__contact{display:flex;flex-wrap:wrap;gap:10px;font-size:14px;color:var(--text-secondary)}.partner-profile-card__contact a{color:var(--primary-color);text-decoration:none}.partner-profile-card__bio{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.5}.partner-profile-card__section{display:flex;flex-direction:column;gap:8px}.partner-profile-card__section-title{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.partner-chip-list{display:flex;flex-wrap:wrap;gap:8px}.partner-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border-color);font-size:13px}.partner-empty-copy{color:var(--text-secondary);font-size:13px}.partner-user-options{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto;padding:8px 0}.partner-user-option{display:flex;align-items:flex-start;gap:10px;font-size:14px}.partner-user-option small{display:block;color:var(--text-secondary)}.partner-user-picker{display:flex;flex-direction:column;gap:10px}.partner-user-picker__selected{display:flex;flex-wrap:wrap;gap:8px;min-height:40px}.partner-selected-user-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border-color);font-size:13px}.partner-selected-user-tag__label{line-height:1.2}.partner-selected-user-tag__remove{border:none;background:transparent;color:var(--text-secondary);padding:0;cursor:pointer;font-size:16px;line-height:1}.partner-selected-user-tag__remove:hover{color:var(--text-primary)}.partner-user-picker__results{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto}.partner-user-picker__result{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;border:1px solid var(--border-color);background:var(--surface-1);border-radius:8px;padding:10px 12px;cursor:pointer;text-align:left}.partner-user-picker__result:hover{border-color:var(--primary-color);background:var(--surface-2)}.partner-user-picker__result small,.partner-user-picker__empty{color:var(--text-secondary);font-size:13px}.commercial-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.commercial-summary-card{background:var(--surface-1);border:1px solid var(--border-color);border-radius:8px;padding:16px}.commercial-summary-card__label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.commercial-summary-card__value{font-size:28px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.commercial-summary-card__meta{font-size:13px;color:var(--text-secondary)}.billing-action-row{display:flex;flex-wrap:wrap;gap:8px}.admin-section-header--with-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-section-header--with-actions .btn{flex-shrink:0}.billing-plan-catalog{display:flex;flex-direction:column;gap:14px}.billing-plan-list{display:grid;gap:10px}.billing-plan-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border-color);border-radius:8px;background:var(--surface-1)}.billing-plan-card__title{font-weight:600;color:var(--text-primary)}.billing-plan-card__meta{margin-top:2px;font-size:13px;color:var(--text-secondary)}.billing-plan-card__badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.billing-plan-form{display:grid;gap:12px;padding:14px;border:1px solid var(--border-color);border-radius:8px;background:var(--surface-1)}.billing-plan-form-panel{max-width:1100px}.billing-plan-form__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.billing-plan-form__header h4{margin:0}.billing-plan-mapping-list{display:grid;gap:8px}.billing-plan-mapping-row{display:grid;grid-template-columns:110px 110px minmax(150px,1fr) minmax(140px,1fr) minmax(130px,1fr) auto auto;gap:8px;align-items:center}.billing-plan-mapping-row--head{font-size:12px;font-weight:600;color:var(--text-secondary)}.billing-plan-mapping-row__active{margin:0;white-space:nowrap}.commercial-tenant-list{display:flex;flex-direction:column;gap:14px}.commercial-tenant-card{background:var(--surface-1);border:1px solid var(--border-color);border-radius:10px;padding:16px}.commercial-tenant-card--over{border-color:#dc2626}.commercial-tenant-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.commercial-tenant-card__header h4{margin:0 0 4px;font-size:17px}.commercial-tenant-card__sub{font-size:12px;color:var(--text-secondary);letter-spacing:.04em}.commercial-tenant-card__status{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.commercial-tenant-card__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.commercial-metric{border:1px solid var(--border-color);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px}.commercial-metric__label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.commercial-metric strong{font-size:18px;color:var(--text-primary)}.commercial-metric small,.commercial-tenant-card__note{font-size:12px;color:var(--text-secondary)}@media(max-width:768px){.admin-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.admin-sidebar{border-right:none;border-bottom:1px solid var(--border-color);height:auto}.admin-nav{flex-direction:row;overflow-x:auto;padding:8px}.admin-nav-item{flex-direction:column;align-items:center;min-width:100px;gap:6px}.admin-nav-icon{margin-top:0}.admin-nav-label{font-size:13px}.admin-nav-description{display:none}.admin-pane-inner{padding:24px 20px}.user-management__header{flex-direction:column;align-items:stretch}.user-management__filters,.global-user-editor-form__row{grid-template-columns:1fr}.global-user-editor-form__assignment-list-head{display:none}.global-user-editor-form__assignment-row{grid-template-columns:1fr}.admin-section-header--with-actions{flex-direction:column;align-items:stretch}.billing-plan-mapping-row{grid-template-columns:1fr}.billing-plan-mapping-row--head{display:none}}.hidden{display:none!important}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.text-muted{color:var(--color-text-secondary)}.text-sm{font-size:12px}.text-xs{font-size:11px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:768px){.form-group{gap:0;margin-bottom:0}.form-group label{font-size:11px;margin-bottom:1px;font-weight:500}.form-group input,.form-group select,.form-group textarea,.form-control{padding:3px 6px;font-size:16px;line-height:1.2}.form-group omni-select,.form-field omni-select,omni-select{font-size:16px!important;--omni-select-font-size: 16px;max-width:calc(100% - 78px)}.search-field input,.dashboard-mobile-sort__select,.schedule-booking-popup__field input,.schedule-booking-popup__field select,.form-renderer .question-input,.form-renderer input[type=text],.form-renderer input[type=number],.form-renderer input[type=date],.form-renderer input[type=time],.form-renderer input[type=datetime-local],.form-renderer textarea,.form-renderer select{font-size:16px!important}.form-group textarea{padding:3px 6px}.form-group small{font-size:9px;line-height:1.1;margin-top:0;display:block}.form-row-2,.form-row-3{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;align-items:stretch;gap:var(--spacing-sm);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 10px)}.form-actions .btn{width:100%}.form-actions [id*=cancel],.form-actions [id$=-cancel-btn],.form-actions [data-action=cancel],.form-actions [data-action^=cancel],.form-actions [data-schedule-exception-cancel],.modal-footer [id*=cancel],.modal-footer [id$=-cancel-btn],.modal-footer [data-action=cancel],.modal-footer [data-action^=cancel],.address-dialog__actions [id*=cancel],.address-dialog__actions [id$=-cancel-btn]{display:none!important}.stepper-nav{padding-bottom:calc(var(--spacing-lg) + env(safe-area-inset-bottom,0px) + 10px)}.address-dialog{gap:0}.address-dialog .form-group{gap:0;margin-bottom:2px}#address-search{font-size:16px!important;line-height:1.2}.address-dialog .form-group:last-child{margin-bottom:0}.address-dialog .side-by-side{grid-template-columns:1fr;grid-template-rows:auto;gap:0}.address-dialog__divider{display:none}.address-dialog__form-fields{grid-column:1;grid-row:1;order:1;margin-bottom:8px}.address-dialog__form{gap:0}.address-dialog__form-hint{font-size:9px;margin-top:0;margin-bottom:1px;line-height:1.1}.address-dialog__form-row-2{grid-template-columns:1fr;gap:2px}.address-dialog__map-container{grid-column:1;grid-row:2;order:2;margin-bottom:8px}.address-dialog__map-wrapper{gap:0}.address-dialog__map{min-height:200px}.address-dialog__map-hint{font-size:9px;margin-top:0;line-height:1.1}.address-dialog__actions{grid-column:1;grid-row:3;order:3;flex-direction:column-reverse;gap:6px;align-self:stretch;margin-top:0}.address-dialog__actions .btn{padding:10px;font-size:15px}.address-dialog__actions .btn{width:100%;min-width:unset}.address-dialog__form-fields .form-group{margin-bottom:0}}@media(max-width:699px){:root{--topbar-height: 56px}.map-header{flex-direction:row;gap:var(--spacing-md);align-items:stretch}.app-main{padding-top:var(--spacing-lg)}.impersonation-banner{align-items:center;gap:8px;padding:4px 8px}.impersonation-banner__text{white-space:nowrap}.impersonation-banner__actions{width:auto;gap:8px;justify-content:flex-end}.impersonation-banner .btn{min-height:28px;padding:2px 8px;font-size:11px;gap:4px}.page-content{padding:var(--spacing-lg)}.login-page{min-height:100dvh;align-items:center;justify-content:center;padding:var(--spacing-lg);padding-top:calc(env(safe-area-inset-top,0px) + var(--spacing-lg));padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--spacing-lg));overflow-y:auto;-webkit-overflow-scrolling:touch}body.mobile-keyboard-open .login-page{align-items:flex-start;justify-content:flex-start;padding-top:calc(env(safe-area-inset-top,0px) + var(--spacing-xl));padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--spacing-xl))}.login-box{max-width:90%;padding:var(--spacing-xl);margin:0 auto}.tenant-picker__list--scrollable{height:auto;max-height:min(308px,42vh)}.topbar-menu-btn{display:flex;margin:0;gap:5px}#tenant-selector-btn{flex-grow:1}.app-sidebar{position:fixed;top:calc(var(--topbar-height) + var(--impersonation-banner-height));left:0;bottom:0;width:280px;transform:translate(-100%);transition:transform .3s ease}.app-sidebar:hover{width:280px}.nav-item{font-size:18px}.nav-item-text{opacity:1}.sidebar-account{display:block}.app-layout.mobile-nav-open .app-sidebar{transform:translate(0)}.app-layout.mobile-nav-open .app-sidebar-overlay{opacity:1;pointer-events:auto}.app-sidebar:hover~.app-sidebar-overlay{opacity:0;pointer-events:none}.app-layout.mobile-nav-open .app-sidebar:hover~.app-sidebar-overlay{opacity:1;pointer-events:auto}#main-content{margin:0;padding:0}.topbar-account{display:none}.customer-cell>div{align-items:flex-end}.dashboard-stats{gap:5px;justify-content:space-between}.dashboard-stats .card.stat-card{display:flex;flex-direction:column;padding:3px 0}.dashboard-stats .card.stat-card .mb-sm{margin-bottom:0}#refresh-dashboard .dashboard-action-label,#new-work-order .dashboard-action-label{display:none}#refresh-dashboard,#new-work-order{min-width:40px;min-height:40px;justify-content:center;padding-inline:12px}#refresh-dashboard .icon,#new-work-order .icon{width:16px;height:16px}@media(max-width:322px){#refresh-dashboard,#new-work-order{min-width:36px;min-height:36px;padding-inline:6px;font-weight:600}}.dashboard-view-tabs .btn{min-height:40px;padding:6px 12px;font-size:13px;font-weight:600}.recent-work-orders .card-header,.recent-work-orders .workOrder-created{display:none}.fieldWorker.page-content{display:flex;flex-direction:column;gap:5px}.fieldWorker .outstanding-workOrders,.fieldWorker .todays-workOrders,.fieldWorker .tomorrows-workOrders,.fieldWorker .future-workOrders,.fieldWorker .completed-workOrders,.fieldWorker .history-workOrders{display:flex;flex-direction:column;gap:5px;padding:5px;margin:0}.fieldWorker .outstanding-workOrders .job,.fieldWorker .todays-workOrders .job,.fieldWorker .tomorrows-workOrders .job,.fieldWorker .future-workOrders .job,.fieldWorker .completed-workOrders .job,.fieldWorker .history-workOrders .job{padding:0;display:flex;flex-direction:column;gap:12px}.outstanding-notice{background:#fef3c7;border:none;padding:5px;border-radius:4px;margin-bottom:0;display:flex;justify-content:center;gap:12px}.outstanding-notice .card-title{color:#92400e;font-size:14px}.work-order-detail .work-order-summary-card{padding:0}.work-order-detail .work-order-summary-header{margin-bottom:10px}.work-order-detail .work-order-summary-title{font-size:16px}.work-order-detail .work-order-summary-grid:not(.is-expanded) .work-order-detail-extra{display:none}.work-order-detail .work-order-summary-toggle{display:inline-flex}.work-order-detail .detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:5px;margin-bottom:0}.work-order-detail .detail-grid .detail-item{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap}.work-order-detail .detail-grid .detail-item.detail-item-full{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px}.work-order-detail .detail-grid .detail-item.detail-item-full>div,.work-order-detail .work-order-description-block,.work-order-detail .tags-inline-editor,.work-order-detail .tag-badges-container{width:100%;min-width:0}.work-order-detail .detail-item-inline-flow>.tags-inline-editor,.work-order-detail .detail-item-inline-flow>.tags-inline-editor .tag-badges-container{width:auto}.work-order-detail .service-code-summary-header{flex-wrap:wrap;align-items:flex-start}.work-order-detail .service-code-summary-header-left{flex-wrap:wrap}.work-order-detail .service-code-summary-body{min-width:min(280px,calc(100vw - 48px));max-width:calc(100vw - 48px)}.work-order-detail .bookings{margin-top:12px;padding-top:8px;border-top:1px solid var(--color-border)}.work-order-detail .work-order-detail-tabs{flex-wrap:wrap;margin-top:14px;margin-bottom:12px;gap:12px;overflow-x:auto}.work-order-detail .work-order-detail-tab-btn,.work-order-detail .work-order-activity-tab-btn{flex:0 0 auto;padding:7px 0}.work-order-detail .work-order-activity-section{margin-top:14px;padding:0}.work-order-detail .work-order-activity-header{display:block}.work-order-detail .work-order-activity-tabs-wrap{gap:0}.work-order-detail .work-order-activity-tabs-arrow{display:none}.work-order-detail .work-order-activity-tabs{flex-wrap:nowrap;gap:12px;overflow-x:auto;padding-bottom:0}.work-order-detail .work-order-activity-panel-header{align-items:flex-start}.work-order-detail .work-order-activity-all-tools{align-items:center;gap:6px}.work-order-detail .work-order-activity-quick-comment{min-width:0}.work-order-detail .work-order-activity-quick-comment input{height:30px}.work-order-detail .work-order-activity-quick-comment .btn{height:30px;padding-inline:8px}.work-order-detail .work-order-activity-add-btn{width:30px;min-width:30px;height:30px}.work-order-detail .work-order-activity-timeline-item{grid-template-columns:24px 1fr;gap:8px;padding-bottom:12px}.work-order-detail .work-order-activity-timeline-icon,.work-order-detail .work-order-activity-timeline-media{width:24px;height:24px}.work-order-detail .work-order-activity-attachment-preview .work-order-activity-timeline-media{width:38px;height:38px}.work-order-detail .work-order-activity-timeline-item:not(:last-child):after{left:11px;top:26px}.work-order-detail .work-order-activity-timeline-text{font-size:13px}.work-order-detail .work-order-activity-timeline-meta{font-size:11px}.work-order-detail .work-order-communication{min-height:0}.entity-comment__header{gap:8px}.entity-comment__actions{flex-wrap:nowrap}.entity-comments__composer-actions{align-items:flex-start}.work-order-detail .work-order-communication__header{align-items:flex-start;flex-direction:column}.work-order-detail .work-order-communication__list{min-height:0}.work-order-detail .work-order-email-detail__header{flex-direction:column;align-items:flex-start}.work-order-detail .work-order-email-detail__frame{max-height:60vh}.work-order-email-compose__actions{flex-direction:column}.work-order-detail .bookings .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.work-order-detail .bookings .header h3{margin:0;font-size:14px}.work-order-detail .work-order-forms-gate__header{align-items:flex-start;flex-direction:column}.work-order-detail .work-order-forms-table thead{display:none}.work-order-detail #work-order-forms-list>.table-container{border:none;border-radius:0;background:transparent}.work-order-detail .work-order-forms-table tbody tr{display:grid;gap:0;margin-bottom:12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface, #fff);overflow:hidden}.work-order-detail .work-order-forms-table tbody td{border:none;border-bottom:1px solid var(--color-border-subtle, var(--color-border));padding:10px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;white-space:normal;word-break:break-word}.work-order-detail .work-order-forms-table tbody td:last-child{border-bottom:none}.work-order-detail .work-order-forms-table tbody td:before{content:attr(data-label);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.work-order-detail .work-order-forms-table tbody td[data-label=Form]{order:1}.work-order-detail .work-order-forms-table tbody td[data-label=Status]{order:2}.work-order-detail .work-order-forms-table tbody td[data-label=Submitted]{order:3}.work-order-detail .work-order-forms-table tbody td[data-label="Submitted By"]{order:4}.work-order-detail .work-order-forms-table tbody td[data-label=Booking]{order:5}.work-order-detail .work-order-forms-table tbody td[data-label=Type]{order:6}.work-order-detail .work-order-forms-table tbody td[data-label=Actions]{order:7}.work-order-detail .work-order-forms-table tbody td[data-label=Actions] .btn{width:100%}.select-form-modal,.fill-form-modal,.submission-view-modal,.booking-jsa-modal{width:calc(100vw - 16px)}.booking-jsa-actions{flex-wrap:wrap;gap:6px}.work-order-detail .cost-item{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;padding:3px;gap:3px}.work-order-detail .cost-item .cost-item-main{display:flex;justify-content:space-between;flex-grow:1;width:100%;grid-column-start:span 2;grid-row-start:1;grid-row-end:2}.work-order-detail .cost-item .cost-item-numbers{display:flex;flex-direction:row;justify-content:space-between;flex-grow:1;grid-row-start:2;grid-row-end:3;grid-column:1}.work-order-detail .cost-item .cost-item-numbers .cost-calculation{display:none}.work-order-detail .cost-item .cost-actions{grid-row-start:2;grid-row-end:3;grid-column:2;display:flex;justify-content:end}}@media(max-width:360px){:root{--spacing-lg: 6px}.dispatch-workorder-card{padding:var(--spacing-lg)}#refresh-dashboard,#new-work-order{min-width:36px;min-height:36px;padding-inline:6px;font-weight:600}.dashboard-view-tabs{display:inline-flex;align-items:center;gap:3px}.dashboard-view-tabs .btn{min-height:36px;padding:4px 9px;font-size:12px;font-weight:600}.work-order-detail .booking-list,.work-order-detail.fieldWorker .booking-list,.work-order-detail.officeWorker .booking-list{gap:0}.work-order-detail .booking-item,.work-order-detail.fieldWorker .booking-item,.work-order-detail.officeWorker .booking-item{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;border-top:1px solid var(--color-border)}.work-order-detail .booking-item:last-child,.work-order-detail.fieldWorker .booking-item:last-child,.work-order-detail.officeWorker .booking-item:last-child{border-bottom:1px solid var(--color-border)}.work-order-detail .booking-item-main,.work-order-detail.fieldWorker .booking-item-main,.work-order-detail.officeWorker .booking-item-main{margin-bottom:0;padding:8px 0}.work-order-detail .booking-actions-wrap,.work-order-detail.fieldWorker .booking-actions-wrap,.work-order-detail.officeWorker .booking-actions-wrap{padding:0 0 8px}}@media(max-width:768px){.stat-card{text-align:center;flex:1 1 0;display:flex;flex-direction:column;justify-content:space-between}.dashboard-stats{display:flex}.card.borderless{border:none;box-shadow:none;padding:0;background-color:transparent}}@media(max-width:768px){.modal-overlay{align-items:flex-start;justify-content:center;overflow-y:auto;padding:10px;padding-top:calc(env(safe-area-inset-top,0px) + 10px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 10px);-webkit-overflow-scrolling:touch}.modal-overlay .modal-content{width:100%;max-width:none;max-height:calc(100vh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));margin:0}.modal-dialog,.tenant-modal-content{max-width:calc(100% - 20px);width:100%;height:auto;max-height:calc(100% - 20px);border-radius:5px;margin:0;padding:10px}.report-editor-frame-dialog-shell{width:calc(100% - 20px);max-width:calc(100% - 20px);height:calc(100vh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));height:calc(100dvh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:10px}.pdf-preview-dialog{width:calc(100% - 20px);max-width:calc(100% - 20px);height:calc(100vh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));height:calc(100dvh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.tenant-modal{align-items:stretch;justify-content:flex-start}.modal-body{max-height:none}.panel-body{padding:var(--spacing-lg)}.modal-dialog .modal-header{padding:0 5px 5px;margin-bottom:5px}.modal-dialog .modal-body{padding:0}#work-order-form .wo-create-inline-row{flex-direction:row;align-items:stretch}#work-order-form .wo-create-inline-row .btn{width:auto;flex:0 0 auto}.work-order-email-compose .wo-create-inline-row{flex-direction:column}.work-order-email-compose__recipient-manual-grid,#work-order-form .wo-create-seq-grid,#work-order-form .wo-create-seq-top-grid{grid-template-columns:1fr}.impersonation-user-list{max-height:46vh}.impersonation-user-row{flex-direction:column;align-items:flex-start}.impersonation-dialog__actions{flex-direction:column-reverse}.impersonation-dialog__actions .btn{width:100%;justify-content:center}}
