.fwkBoard{box-sizing:border-box;flex-direction:column;justify-content:flex-start;width:100%;height:100%;padding:8px 8px 0;display:flex}.fwkBoard.noPadding{padding:0}.fwkPageBand{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);position:relative}.fwkPageBand>.container-fluid{max-width:var(--page-width,none);margin-left:auto;margin-right:auto}.fwkPageBand .no-gutter{--bs-gutter-x:0px}.fwkPageBand .row.equal-height{align-items:stretch}.fwkPageBand .row.equal-height>[class*=col-]{flex-direction:column;display:flex}.fwkPageBand .row.equal-height>[class*=col-]>*{flex:1}.hero{width:100%;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#ffffffd9 0%,#fff9 40%,#fff3 70%,#fff0 100%);position:absolute;inset:0}.hero.overlay-light:after{background:linear-gradient(90deg,#ffffff80 0%,#ffffff4d 30%,#fff0 60%)}.hero.overlay-none:after{display:none}.hero img{width:100%;height:auto;display:block}.text{color:#fff;opacity:0;z-index:2;font-size:2rem;font-weight:700;transition:bottom 1s ease-in-out,opacity 1s ease-in-out;position:absolute;bottom:-50px;left:50%;transform:translate(-50%)}.text.show{opacity:1;bottom:50%;transform:translate(-50%,50%)}.zoom-pan-container{position:relative;overflow:hidden}.zoom-pan-container img{transition:transform 5s}.zoom-pan-container:hover img{transform:scale(1.1)}.slavery{height:100%}.slavery h2{text-transform:uppercase;letter-spacing:-.02em;color:var(--colour-text);margin-bottom:1.5rem;font-family:Roboto Condensed,Roboto,sans-serif;font-size:1.75rem;font-weight:700}.slavery h2:before{content:"";background-color:var(--accent-colour);width:60px;height:4px;margin-bottom:1rem;display:block}.slavery p{color:var(--text-muted);margin-bottom:1rem;font-family:Roboto,Open Sans,sans-serif;font-size:1rem;line-height:1.7}.slavery ul{color:var(--text-muted);margin:1rem 0;padding-left:1.5rem;font-family:Roboto,Open Sans,sans-serif;font-size:1rem;line-height:1.7}.slavery ul li{margin-bottom:.5rem}.slavery.white{background:var(--paper-colour)}.slavery.lightGray{background:var(--bg-muted)}.slavery.darkGray{background:var(--colour-dark)}.slavery.darkGray h2{color:var(--text-inverse)}.slavery.darkGray h2:before{background-color:var(--text-inverse)}.slavery.darkGray p,.slavery.darkGray ul,.slavery.darkGray li{color:var(--text-on-dark)}.statements .hero{min-height:300px}.statements #herotext{z-index:2;color:var(--colour-text);text-transform:uppercase;letter-spacing:-.02em;font-family:Roboto Condensed,Roboto,sans-serif;font-size:3rem;font-weight:700;line-height:1;position:absolute;bottom:40px;left:40px}.statements #herotext:before{content:"";background-color:var(--accent-colour);width:60px;height:4px;margin-bottom:15px;display:block}@media (width<=768px){.statements #herotext{font-size:2rem;bottom:30px;left:20px}}.statements .infoBox{padding:60px}@media (width<=768px){.statements .infoBox{padding:40px 20px}}.statements .infoBox h2{text-transform:uppercase;letter-spacing:-.02em;color:var(--colour-text);margin-bottom:1.5rem;font-family:Roboto Condensed,Roboto,sans-serif;font-size:1.75rem;font-weight:700}.statements .infoBox h2:before{content:"";background-color:var(--accent-colour);width:60px;height:4px;margin-bottom:1rem;display:block}.statements .infoBox p{color:var(--text-muted);margin-bottom:1rem;font-family:Roboto,Open Sans,sans-serif;font-size:1rem;line-height:1.7}.statements .infoBox ul{color:var(--text-muted);margin:1rem 0;padding-left:1.5rem;font-family:Roboto,Open Sans,sans-serif;font-size:1rem;line-height:1.7}.statements .infoBox ul li{margin-bottom:.5rem}.statements .infoBox.white{background:var(--paper-colour)}.statements .infoBox.lightGray{background:var(--bg-muted)}.statements .infoBox.darkGray{background:var(--colour-dark)}.statements .infoBox.darkGray h2{color:var(--text-inverse)}.statements .infoBox.darkGray h2:before{background-color:var(--text-inverse)}.statements .infoBox.darkGray p,.statements .infoBox.darkGray ul,.statements .infoBox.darkGray li{color:var(--text-on-dark)}#productvariantsboard .variant-price{color:#22c55e;font-weight:700}#productvariantsboard .variant-stock-low{color:#f59e0b}#productvariantsboard .variant-stock-out{color:#ef4444}#productimagesboard .image-thumbnail{object-fit:cover;border-radius:4px;width:50px;height:50px}#productimagesboard .image-list-thumbnail{object-fit:cover;border-radius:4px;width:40px;height:40px}#productimagesboard .image-item-preview{justify-content:center;align-items:center;width:50px;display:flex}.image-preview-container{text-align:center;margin-bottom:16px}.image-preview-container .image-preview{border-radius:8px;max-width:300px;max-height:300px;box-shadow:0 2px 8px #0000001a}#productcategoriesboard .category-image-preview{border-radius:4px;max-width:100px;max-height:100px;margin-top:8px}#productattributesboard .attribute-options{background:#f5f5f5;border-radius:4px;margin-top:8px;padding:8px}#productsboard .product-thumbnail{object-fit:cover;border-radius:4px;width:50px;height:50px}#productsboard .product-price{color:#22c55e;font-weight:700}#productsboard .product-stock-low{color:#f59e0b}#productsboard .product-stock-out{color:#ef4444}#productsboard .product-featured-badge{color:#fff;background:#8b5cf6;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:10px}.privacy{height:100%}.privacy h2{text-transform:uppercase;letter-spacing:-.02em;color:var(--colour-text);margin-bottom:1.5rem;font-family:Roboto Condensed,Roboto,sans-serif;font-size:1.75rem;font-weight:700}.privacy h2:before{content:"";background-color:var(--accent-colour);width:60px;height:4px;margin-bottom:1rem;display:block}.privacy p{color:var(--text-muted);margin-bottom:1rem;font-family:Roboto,Open Sans,sans-serif;font-size:1rem;line-height:1.7}.privacy ul{color:var(--text-muted);margin:1rem 0;padding-left:1.5rem;font-family:Roboto,Open Sans,sans-serif;font-size:1rem;line-height:1.7}.privacy ul li{margin-bottom:.5rem}.privacy a{color:var(--accent-colour);font-weight:500;text-decoration:none}.privacy a:hover{text-decoration:underline}.privacy .cookie-table{border-collapse:collapse;width:100%;margin-top:1rem;font-family:Roboto,Open Sans,sans-serif;font-size:.9rem}.privacy .cookie-table thead th{text-align:left;border-bottom:2px solid var(--accent-colour);color:var(--colour-text);padding:12px 8px;font-weight:700}.privacy .cookie-table tbody td{border-bottom:1px solid var(--border-colour);vertical-align:top;color:var(--text-muted);padding:12px 8px}.privacy .cookie-table tbody tr:last-child td{border-bottom:none}.privacy.white{background:var(--paper-colour)}.privacy.lightGray{background:var(--bg-muted)}.privacy.darkGray{background:var(--colour-dark)}.privacy.darkGray h2{color:var(--text-inverse)}.privacy.darkGray h2:before{background-color:var(--text-inverse)}.privacy.darkGray p,.privacy.darkGray ul,.privacy.darkGray li{color:var(--text-on-dark)}.privacy.darkGray a{color:var(--text-inverse)}.privacy.darkGray .cookie-table thead th{color:var(--text-inverse);border-bottom-color:var(--text-on-dark)}.privacy.darkGray .cookie-table tbody td{color:var(--text-on-dark);border-bottom-color:var(--border-on-dark)}.privacy .hero{min-height:300px}.privacy #herotext{z-index:2;color:var(--text-dark,#000);text-transform:uppercase;letter-spacing:-.02em;font-family:Roboto Condensed,Roboto,sans-serif;font-size:3rem;font-weight:700;line-height:1;position:absolute;bottom:40px;left:40px}.privacy #herotext:before{content:"";background-color:var(--primary-color,#de411b);width:60px;height:4px;margin-bottom:15px;display:block}@media (width<=768px){.privacy #herotext{font-size:2rem;bottom:30px;left:20px}}.privacy .infoBox{padding:60px}@media (width<=768px){.privacy .infoBox{padding:40px 20px}}.storage-dashboard .dashboard-widgets{margin-bottom:20px}.storage-dashboard .fwkCard table td,.storage-dashboard .fwkCard table th{padding:2px 8px}.storage-dashboard .scrub-error-list{max-height:400px;overflow-y:auto}.storage-dashboard .scrub-status-missing{color:#dc3545;font-weight:600}.storage-dashboard .scrub-status-error{color:#fd7e14;font-weight:600}.storage-dashboard .cell-path{text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}.storage-dashboard .cell-guid{font-family:monospace;font-size:.85em}.storage-dashboard .section-header td{color:var(--text-muted,#6c757d);text-transform:uppercase;letter-spacing:.05em;font-size:.85em;font-weight:600}.storage-dashboard .orphan-row td{color:#dc3545;font-weight:600}.storage-dashboard .shash-pending-row td{color:#d97706;font-weight:600}.storage-dashboard .no-data{color:var(--text-muted,#6c757d);text-align:center;padding:20px 0;font-style:italic}.storage-dashboard .fwkCardContainer{margin-bottom:16px}.storage-admin-panel{max-width:1200px;height:100%;margin:0 auto;padding:24px;overflow-y:auto}.storage-admin-panel h1{color:var(--colour-text,#1f2937);border-bottom:2px solid var(--border-colour,#e5e7eb);margin-bottom:24px;padding-bottom:12px;font-size:1.75rem;font-weight:600}.storage-admin-panel .admin-message{border-radius:8px;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.storage-admin-panel .admin-message i{font-size:1.25rem}.storage-admin-panel .admin-message span{flex:1}.storage-admin-panel .admin-message button{cursor:pointer;opacity:.6;background:0 0;border:none;padding:4px}.storage-admin-panel .admin-message button:hover{opacity:1}.storage-admin-panel .admin-message.success{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.storage-admin-panel .admin-message.error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.storage-admin-panel .admin-content{flex-direction:column;gap:32px;display:flex}.storage-admin-panel .admin-section{background:var(--paper-colour-1,#fff);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.storage-admin-panel .admin-section h2{color:var(--colour-text,#374151);align-items:center;gap:10px;margin:0 0 20px;font-size:1.25rem;font-weight:600;display:flex}.storage-admin-panel .admin-section h2 i{color:var(--accent-colour,#3b82f6)}.storage-admin-panel .admin-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.storage-admin-panel .admin-card{background:var(--paper-colour-2,#f9fafb);border:1px solid var(--border-colour,#e5e7eb);border-radius:8px;padding:20px}.storage-admin-panel .admin-card .card-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.storage-admin-panel .admin-card .card-header i{color:var(--text-muted,#6b7280);font-size:1.25rem}.storage-admin-panel .admin-card .card-header h3{color:var(--colour-text,#1f2937);margin:0;font-size:1rem;font-weight:600}.storage-admin-panel .admin-card p{color:var(--text-muted,#6b7280);margin:0 0 16px;font-size:.875rem;line-height:1.5}.storage-admin-panel .admin-card.warning{border-color:var(--warning-border,#fde68a);background:var(--warning-bg,#fffbeb)}.storage-admin-panel .admin-card.warning .card-header i{color:var(--warning-colour,#d97706)}.storage-admin-panel .admin-card.danger{border-color:var(--error-border,#fecaca);background:var(--error-bg,#fef2f2)}.storage-admin-panel .admin-card.danger .card-header i{color:var(--error-colour,#dc2626)}.storage-admin-panel .confirm-message{text-align:center;flex-direction:column;align-items:center;padding:16px;display:flex}.storage-admin-panel .confirm-message .warning-icon{color:#f59e0b;margin-bottom:16px;font-size:3rem}.storage-admin-panel .confirm-message p{color:var(--colour-text,#374151);margin:0;font-size:1rem;line-height:1.6}#msgtemplates{width:100%}#msgtemplates .button{font-size:unset;margin-top:8px}#msgtemplates .fwkTextField{min-width:5em}#msgtemplates .emailCcBccRow{align-items:flex-end;gap:12px;display:flex}#msgtemplates .emailCcBccRow .fwkTextFieldX[type=email]{flex:1;min-width:0}#msgtemplates .preview-loading{text-align:center;color:var(--text-muted);padding:20px}#msgtemplates .preview-error{background-color:var(--error-bg);border:1px solid var(--error-border);color:var(--error-colour);border-radius:4px;padding:15px}#msgtemplates .preview-content{flex-direction:column;gap:20px;display:flex}#msgtemplates .preview-channel{border:1px solid var(--border-colour);background-color:var(--bg-muted);border-radius:4px;padding:15px}#msgtemplates .preview-channel h3{border-bottom:1px solid var(--border-colour);color:var(--colour-text);margin:0 0 10px;padding-bottom:5px}#msgtemplates .preview-field{margin-bottom:8px}#msgtemplates .preview-field strong{color:var(--text-muted);margin-right:5px}#msgtemplates .preview-body{background-color:var(--paper-colour);border:1px solid var(--border-muted);white-space:pre-wrap;border-radius:3px;max-height:150px;margin-top:5px;padding:10px;font-family:inherit;overflow-y:auto}#msgtemplates .test-send-form{flex-direction:column;gap:15px;display:flex}#msgtemplates .test-send-result{border-radius:4px;margin-top:10px;padding:12px}#msgtemplates .test-send-result.error{background-color:var(--error-bg);border:1px solid var(--error-border);color:var(--error-colour)}#msgtemplates .test-send-result.success{background-color:var(--success-bg);border:1px solid var(--success-border);color:var(--success-colour)}#msgtemplates .test-send-result.pending{background-color:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-colour)}#msgtemplates .test-send-result .success{color:var(--success-colour)}#msgtemplates .test-send-result .error{color:var(--error-colour)}#msgtemplates .template-variables-help{border:1px solid var(--border-colour);background-color:var(--bg-muted);border-radius:4px;margin:15px 0}#msgtemplates .template-variables-help details summary{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:10px 15px;font-weight:500}#msgtemplates .template-variables-help details summary i{color:var(--accent-colour);margin-right:8px}#msgtemplates .template-variables-help details summary:hover{background-color:var(--hover-colour)}#msgtemplates .template-variables-help details[open] summary{border-bottom:1px solid var(--border-colour)}#msgtemplates .template-variables-help .help-content{padding:15px}#msgtemplates .template-variables-help .help-content p{color:var(--text-muted);margin:0 0 10px}#msgtemplates .template-variables-help .help-content code{background-color:var(--bg-muted);color:var(--error-colour);border-radius:3px;padding:2px 6px;font-family:monospace;font-size:13px}#msgtemplates .template-variables-help .help-content table{border-collapse:collapse;width:100%;margin:10px 0}#msgtemplates .template-variables-help .help-content table th,#msgtemplates .template-variables-help .help-content table td{text-align:left;border-bottom:1px solid var(--border-colour);padding:8px 12px}#msgtemplates .template-variables-help .help-content table th{background-color:var(--bg-muted);color:var(--colour-text);font-weight:600}#msgtemplates .template-variables-help .help-content table tr:last-child td{border-bottom:none}#msgtemplates .template-variables-help .help-content table tr:hover td{background-color:var(--hover-colour)}#msgtemplates .template-variables-help .help-content .help-note{background-color:var(--warning-bg);color:var(--warning-colour);border-radius:4px;margin-top:10px;padding:10px;font-size:13px}.msg-settings{max-width:1200px;margin:0 auto;padding:20px}.msg-settings.loading{min-height:200px;color:var(--text-muted);justify-content:center;align-items:center;font-size:1.1em;display:flex}.msg-settings.loading i{margin-right:10px}.msg-settings .settings-header{border-bottom:1px solid var(--border-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;padding-bottom:15px;display:flex}.msg-settings .settings-header h1{color:var(--colour-text);margin:0;font-size:1.5em}.msg-settings .settings-header .header-actions{align-items:center;gap:15px;display:flex}.msg-settings .settings-header .test-result{border-radius:4px;align-items:center;gap:8px;padding:8px 15px;font-size:.9em;display:flex}.msg-settings .settings-header .test-result.success{background:var(--success-bg);color:var(--success-colour)}.msg-settings .settings-header .test-result.pending{background:var(--warning-bg);color:var(--warning-colour)}.msg-settings .settings-header .test-result.error{background:var(--error-bg);color:var(--error-colour)}.msg-settings .settings-container{gap:25px;display:flex}@media (width<=768px){.msg-settings .settings-container{flex-direction:column}}.msg-settings .settings-nav{flex-direction:column;flex:0 0 200px;gap:5px;display:flex}@media (width<=768px){.msg-settings .settings-nav{flex-flow:wrap;flex:none}}.msg-settings .settings-nav .nav-item{background:var(--bg-muted);color:var(--text-muted);cursor:pointer;text-align:left;border:none;border-radius:6px;align-items:center;gap:10px;padding:12px 15px;font-size:.95em;transition:all .2s;display:flex}.msg-settings .settings-nav .nav-item:hover{background:var(--hover-colour)}.msg-settings .settings-nav .nav-item.active{background:var(--accent-colour);color:var(--text-inverse)}.msg-settings .settings-nav .nav-item.active i{color:var(--text-inverse)}.msg-settings .settings-nav .nav-item i{text-align:center;width:20px;color:var(--text-muted)}.msg-settings .settings-content{flex:1;min-width:0}.msg-settings .settings-section{background:var(--paper-colour);border-radius:8px;padding:25px;box-shadow:0 2px 4px #00000014}.msg-settings .section-header{margin-bottom:25px}.msg-settings .section-header h2{color:var(--colour-text);align-items:center;gap:10px;margin:0 0 8px;font-size:1.2em;display:flex}.msg-settings .section-header h2 i{color:var(--accent-colour)}.msg-settings .section-header .section-description{color:var(--text-muted);margin:0;font-size:.9em}.msg-settings .section-header .section-description a{color:var(--accent-colour)}.msg-settings .section-header .section-description a:hover{text-decoration:underline}.msg-settings .settings-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=600px){.msg-settings .settings-grid{grid-template-columns:1fr}}.msg-settings .checkbox-group{background:var(--bg-muted);border-radius:6px;flex-direction:column;gap:10px;margin-top:10px;padding:15px;display:flex}.msg-settings .section-actions{border-top:1px solid var(--border-muted);margin-top:20px;padding-top:15px}.msg-settings .provider-toggle{background:var(--bg-muted);border-radius:6px;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:20px;padding:15px;display:flex}.msg-settings .provider-card{border:1px solid var(--border-colour);border-radius:8px;margin-bottom:20px;overflow:hidden}.msg-settings .provider-card .provider-header{background:var(--bg-muted);border-bottom:1px solid var(--border-colour);justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.msg-settings .provider-card .provider-badge{background:var(--accent-colour);color:var(--text-inverse);border-radius:12px;padding:4px 10px;font-size:.75em;font-weight:500}.msg-settings .provider-card .provider-badge.secondary{background:var(--text-muted)}.msg-settings .provider-card .provider-fields{padding:20px}.msg-settings .provider-card .provider-actions{border-top:1px solid var(--border-muted);margin-top:15px;padding-top:15px}.msg-settings .info-box{background:var(--info-bg);border-left:4px solid var(--accent-colour);border-radius:6px;gap:15px;margin-top:20px;padding:15px 20px;display:flex}.msg-settings .info-box>i{color:var(--accent-colour);flex-shrink:0;font-size:1.2em}.msg-settings .info-box strong{color:var(--colour-text);margin-bottom:8px;display:block}.msg-settings .info-box ol{margin:0;padding-left:20px}.msg-settings .info-box ol li{color:var(--text-muted);margin-bottom:5px;font-size:.9em}.msg-settings .rate-limit-card{background:var(--bg-muted);border-radius:8px;padding:20px}.msg-settings .rate-limit-card h3{color:var(--colour-text);margin:0 0 15px;font-size:1em}.msg-settings .rate-limit-window{background:var(--bg-muted);border-radius:8px;margin-top:20px;padding:20px}.msg-settings .rate-limit-window .help-text{color:var(--text-muted);margin-top:8px;font-size:.85em;display:block}.msgQueue{width:100%}.msgQueue .button{font-size:unset;margin-top:8px}.msgQueue .fwkTextField{min-width:5em}.msgQueueItem{flex-direction:column;gap:4px;display:flex}.msgQueueItem .itemHeader{align-items:center;gap:8px;display:flex}.msgQueueItem .itemHeader i{color:var(--text-muted)}.msgQueueItem .itemHeader .recipient{font-weight:500}.msgQueueHeader{grid-template-columns:1fr auto;align-items:center;column-gap:10px;width:100%;display:grid}.msgQueueHeader h1{margin:0}.channel-badge{color:var(--text-inverse);text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:12px}.channel-badge.email{background-color:var(--accent-colour)}.channel-badge.sms,.channel-badge.whatsapp{background-color:var(--success-colour)}.delivery-status{color:var(--text-inverse);border-radius:4px;padding:2px 8px;font-size:11px}.delivery-status.queued{background-color:var(--warning-colour)}.delivery-status.sent{background-color:var(--accent-colour)}.delivery-status.delivered,.delivery-status.read{background-color:var(--success-colour)}.delivery-status.failed,.delivery-status.undelivered{background-color:var(--error-colour)}.msg-analytics{max-width:1200px;margin:0 auto;padding:20px}.msg-analytics .analytics-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.msg-analytics .analytics-header h1{margin:0;font-size:1.5em}.msg-analytics .analytics-header .date-filters{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.msg-analytics .analytics-header .date-filters label{align-items:center;gap:5px;font-size:.9em;display:flex}.msg-analytics .analytics-header .date-filters label input[type=date]{border:1px solid var(--border-colour);border-radius:4px;padding:5px 10px}.msg-analytics .analytics-header .date-filters .refresh-btn{background:var(--accent-colour);color:var(--text-inverse);cursor:pointer;border:none;border-radius:4px;align-items:center;gap:5px;padding:6px 12px;display:flex}.msg-analytics .analytics-header .date-filters .refresh-btn:hover{background:var(--accent-colour-light)}.msg-analytics .loading,.msg-analytics .error{text-align:center;padding:20px;font-size:1.1em}.msg-analytics .error{color:var(--error-colour);background:var(--error-bg);border-radius:4px}.msg-analytics .no-data{color:var(--text-muted);padding:10px;font-style:italic}.msg-analytics .analytics-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:25px;display:grid}.msg-analytics .analytics-cards .card{background:var(--paper-colour);text-align:center;border-left:4px solid var(--border-colour);border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.msg-analytics .analytics-cards .card.total{border-left-color:var(--accent-colour)}.msg-analytics .analytics-cards .card.sent{border-left-color:var(--success-colour)}.msg-analytics .analytics-cards .card.failed{border-left-color:var(--error-colour)}.msg-analytics .analytics-cards .card.scheduled{border-left-color:var(--info-colour)}.msg-analytics .analytics-cards .card .card-value{color:var(--colour-text);font-size:2em;font-weight:700}.msg-analytics .analytics-cards .card .card-label{color:var(--text-muted);margin-top:5px;font-size:.85em}.msg-analytics .analytics-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=768px){.msg-analytics .analytics-grid{grid-template-columns:1fr}}.msg-analytics .analytics-grid .grid-column{flex-direction:column;gap:20px;display:flex}.msg-analytics .channel-breakdown,.msg-analytics .status-breakdown,.msg-analytics .daily-trends{background:var(--paper-colour);border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.msg-analytics .channel-breakdown h3,.msg-analytics .status-breakdown h3,.msg-analytics .daily-trends h3{color:var(--colour-text);border-bottom:1px solid var(--border-muted);margin:0 0 15px;padding-bottom:10px;font-size:1.1em}.msg-analytics .channel-bars .channel-row{align-items:center;margin-bottom:10px;display:flex}.msg-analytics .channel-bars .channel-row .channel-name{width:80px;font-size:.9em;font-weight:500}.msg-analytics .channel-bars .channel-row .channel-bar-container{background:var(--bg-muted);border-radius:10px;flex:1;height:20px;margin:0 10px;overflow:hidden}.msg-analytics .channel-bars .channel-row .channel-bar{border-radius:10px;height:100%;transition:width .3s}.msg-analytics .channel-bars .channel-row .channel-bar.email{background:var(--accent-colour)}.msg-analytics .channel-bars .channel-row .channel-bar.sms,.msg-analytics .channel-bars .channel-row .channel-bar.whatsapp{background:var(--success-colour)}.msg-analytics .channel-bars .channel-row .channel-count{text-align:right;width:100px;color:var(--text-muted);font-size:.85em}.msg-analytics .status-table,.msg-analytics .daily-table{border-collapse:collapse;width:100%}.msg-analytics .status-table th,.msg-analytics .daily-table th,.msg-analytics .status-table td,.msg-analytics .daily-table td{text-align:left;border-bottom:1px solid var(--border-muted);padding:8px 12px}.msg-analytics .status-table th,.msg-analytics .daily-table th{color:var(--colour-text);font-size:.85em;font-weight:600}.msg-analytics .status-table td,.msg-analytics .daily-table td{font-size:.9em}.msg-analytics .status-table tr:last-child td,.msg-analytics .daily-table tr:last-child td{border-bottom:none}.msg-analytics .status-badge{border-radius:4px;padding:3px 8px;font-size:.8em;font-weight:500;display:inline-block}.msg-analytics .status-badge.sent{background:var(--success-bg);color:var(--success-colour)}.msg-analytics .status-badge.failed{background:var(--error-bg);color:var(--error-colour)}.msg-analytics .status-badge.queued{background:var(--warning-bg);color:var(--warning-colour)}.msg-analytics .status-badge.scheduled,.msg-analytics .status-badge.retry{background:var(--info-bg);color:var(--info-colour)}.msg-analytics .daily-table td.sent{color:var(--success-colour)}.msg-analytics .daily-table td.failed{color:var(--error-colour)}.fwkActiveUsersWidget .fwkIconButton.button{background:var(--user-profile-bg);border:1px solid var(--user-profile-border);box-shadow:none;color:var(--user-profile-color);border-radius:50px;padding:.5rem .75rem;font-size:.875rem;font-weight:600}.fwkActiveUsersWidget .fwkIconButton.button:hover:not(.disabled){background:var(--user-profile-hover-bg);box-shadow:none;transform:none}.fwkActiveUsersWidget.fwkPopup .content{background:0 0;margin-top:8px;padding:0}.activeUsersPopup{background:var(--paper-colour,#fff);border:1px solid var(--border-light,#e0e0e0);min-width:280px;max-width:360px;box-shadow:0 4px 16px #0000001f}.activeUsersPopup .popupHeader{text-transform:uppercase;letter-spacing:.05em;color:var(--colour-text-secondary,#6b7280);border-bottom:1px solid var(--border-light,#e0e0e0);padding:10px 16px;font-size:.8rem;font-weight:600}.activeUsersPopup .sessionRow{border-bottom:1px solid var(--border-light,#f0f0f0);align-items:center;gap:10px;padding:10px 16px;display:flex}.activeUsersPopup .sessionRow:last-child{border-bottom:none}.activeUsersPopup .sessionInfo{flex:1;min-width:0}.activeUsersPopup .sessionName{color:var(--colour-text,#1f2937);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:500;overflow:hidden}.activeUsersPopup .sessionMeta{color:var(--colour-text-secondary,#6b7280);margin-top:2px;font-size:.75rem}.activeUsersPopup .sessionDuration{color:var(--accent-colour,#1976d2);white-space:nowrap;font-size:.8rem;font-weight:600}.activeUsersPopup .noSessions{color:var(--colour-text-secondary,#6b7280);text-align:center;padding:16px;font-size:.875rem}.fwkLogin{background-color:var(--paper-colour);border-radius:1rem;flex-direction:column;align-items:center;gap:1.5rem;width:100%;min-width:320px;max-width:380px;margin:5rem auto;padding:2.5rem 2rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 10px 20px -2px #0000001a,0 20px 40px -4px #00000014}.fwkLogin:before{content:"";background:linear-gradient(90deg, var(--accent-colour) 0%, color-mix(in srgb, var(--accent-colour) 70%, white) 100%);height:4px;position:absolute;top:0;left:0;right:0}.fwkLogin .loginIcon{background:linear-gradient(135deg, var(--accent-colour) 0%, color-mix(in srgb, var(--accent-colour) 80%, black) 100%);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:.5rem;font-size:1.75rem;display:flex;box-shadow:0 4px 12px #00000026}.fwkLogin .loginIcon i{font-size:inherit}.fwkLogin .sign{color:var(--text-colour,#1a1a1a);letter-spacing:-.025em;text-align:center;margin:0;font-size:1.5rem;font-weight:600}.fwkLogin .loginSubtitle{color:var(--text-light,#666);text-align:center;margin-top:-.75rem;font-size:.9rem}.fwkLogin .loginForm,.fwkLogin .form1{flex-direction:column;align-items:stretch;row-gap:1.25rem;width:100%;display:flex}.fwkLogin .loginForm .fwkTextFieldX,.fwkLogin .form1 .fwkTextFieldX{width:100%;min-width:0;max-width:none}.fwkLogin .loginForm .fwkTextFieldX .control,.fwkLogin .form1 .fwkTextFieldX .control{border-radius:.5rem;transition:all .2s}.fwkLogin .loginForm .fwkTextFieldX .control:hover:not(:focus-within),.fwkLogin .form1 .fwkTextFieldX .control:hover:not(:focus-within){border-color:var(--border-colour,#ccc)}:is(.fwkLogin .loginForm>div:has(.fwkIconButton),.fwkLogin .form1>div:has(.fwkIconButton)){margin-top:.5rem}.fwkLogin .loginForm .fwkIconButton,.fwkLogin .form1 .fwkIconButton{border-radius:.5rem;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.fwkLogin .loginForm .fwkIconButton.button,.fwkLogin .form1 .fwkIconButton.button{background:linear-gradient(135deg, var(--accent-colour) 0%, color-mix(in srgb, var(--accent-colour) 85%, black) 100%);color:#fff;border:none;box-shadow:0 2px 8px #00000026}.fwkLogin .loginForm .fwkIconButton.button:hover:not(:disabled),.fwkLogin .form1 .fwkIconButton.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0003}.fwkLogin .loginForm .fwkIconButton.button:active:not(:disabled),.fwkLogin .form1 .fwkIconButton.button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #00000026}.fwkLogin .loginForm .fwkIconButton.button:disabled,.fwkLogin .form1 .fwkIconButton.button:disabled{opacity:.5;cursor:not-allowed;background:var(--border-colour,#ccc)}.fwkLogin .loginError{color:var(--error-colour);text-align:center;background-color:var(--error-bg);border:1px solid var(--error-border);box-sizing:border-box;border-radius:.5rem;width:100%;padding:.75rem 1rem;font-size:.875rem}.fwkLogin .loginSuccess{color:var(--success-colour);text-align:center;background-color:var(--success-bg);border:1px solid var(--success-border);box-sizing:border-box;border-radius:.5rem;width:100%;padding:.75rem 1rem;font-size:.875rem}.fwkLogin .loginFooter{justify-content:center;gap:1.5rem;margin-top:.5rem;font-size:.875rem;display:flex}.fwkLogin .loginFooter a{color:var(--accent-colour);text-decoration:none;transition:opacity .2s}.fwkLogin .loginFooter a:hover{opacity:.8;text-decoration:underline}@media (width<=480px){.fwkLogin{min-width:unset;max-width:unset;width:calc(100% - 2rem);margin:2rem 1rem;padding:2rem 1.5rem 1.5rem}}.fwkFirstRunSetup .sign,.fwkFirstRunSetup .loginForm .fwkTextField{margin-bottom:.5rem}.fwkLoginSplitPanel{width:100vw;height:100vh;display:flex;overflow:hidden}.fwkLoginSplitPanel .splitPanel-left{background-color:var(--paper-colour,#fff);box-sizing:border-box;flex:0 0 45%;justify-content:center;align-items:center;min-width:400px;max-width:600px;padding:2rem;display:flex}.fwkLoginSplitPanel .splitPanel-form{width:100%;max-width:320px}.fwkLoginSplitPanel .greeting{color:var(--text-light,#666);margin:0 0 .25rem;font-size:1.25rem;font-weight:400}.fwkLoginSplitPanel .welcome{color:var(--text-colour,#1a1a1a);margin:0 0 2rem;font-size:1.75rem;font-weight:700}.fwkLoginSplitPanel .loginForm{flex-direction:column;gap:1.25rem;display:flex}.fwkLoginSplitPanel .loginForm .fieldGroup{flex-direction:column;gap:.5rem;display:flex}.fwkLoginSplitPanel .loginForm .fieldGroup label{color:var(--text-colour,#1a1a1a);font-size:.875rem;font-weight:500}.fwkLoginSplitPanel .loginForm .fwkTextFieldX{width:100%;min-width:0;max-width:none}.fwkLoginSplitPanel .loginForm .fwkTextFieldX .control{background-color:var(--input-bg,#f5f5f5);border:1px solid var(--border-colour,#e0e0e0);border-radius:.5rem;transition:all .2s}.fwkLoginSplitPanel .loginForm .fwkTextFieldX .control:focus-within{background-color:var(--paper-colour,#fff);border-color:var(--accent-colour);box-shadow:0 0 0 3px #3b82f61a}.fwkLoginSplitPanel .loginForm .fwkIconButton{border-radius:.5rem;width:100%;margin-top:.5rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.fwkLoginSplitPanel .loginForm .fwkIconButton.button{background:var(--accent-colour,#3b82f6);color:#fff;border:none}.fwkLoginSplitPanel .loginForm .fwkIconButton.button:hover:not(:disabled){filter:brightness(1.1)}.fwkLoginSplitPanel .loginForm .fwkIconButton.button:disabled{opacity:.5;cursor:not-allowed}.fwkLoginSplitPanel .loginError{color:var(--error-colour);text-align:center;background-color:var(--error-bg,#fef2f2);border:1px solid var(--error-border,#fecaca);border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem}.fwkLoginSplitPanel .splitPanel-right{background-position:50%;background-repeat:no-repeat;background-size:cover;background-color:var(--accent-colour,#3b82f6);flex:1}.fwkLoginSplitPanel.centered{background-color:var(--paper-colour,#fff);justify-content:center}.fwkLoginSplitPanel.centered .splitPanel-left{max-width:unset;min-width:unset;flex:1;width:100%}@media (width<=900px){.fwkLoginSplitPanel{flex-direction:column}.fwkLoginSplitPanel .splitPanel-left{min-width:unset;max-width:unset;flex:none;width:100%;padding:2rem 1.5rem}.fwkLoginSplitPanel .splitPanel-right{flex:1;min-height:200px}}@media (width<=480px){.fwkLoginSplitPanel .splitPanel-left{padding:1.5rem 1rem}.fwkLoginSplitPanel .splitPanel-form{max-width:100%}.fwkLoginSplitPanel .welcome{font-size:1.5rem}}.userContainer{flex-wrap:wrap;place-content:center;align-items:center;height:100%;display:flex}.user{text-align:center;text-transform:uppercase;border-radius:5px;margin:10px;display:grid}.userIcon{font-size:5vh}.pinPadContainer{grid-gap:1vh;text-align:center;color:#fff;width:36vw;margin-left:32vw;margin-right:32vw;display:grid}.userTitle{background-color:#000000bf;font-size:5vh}.pinPad{text-align:center;min-height:40vh;display:inherit;grid-gap:.3vw;background-color:#fff;grid-template-columns:auto auto auto}.pinPadNumber{cursor:pointer;background-color:#00000080;font-size:12vh}.pinPadResult{background-color:#00000040;height:14vh;font-size:18vh}.pinPadButtons{background-color:#0000001a;grid-template-columns:auto auto;height:10vh;font-size:6vh;display:grid}.pinPadOk{cursor:not-allowed;background-color:gray;margin:.5vw}.pinPadCancel{cursor:pointer;background-color:#dc143c;margin:.5vw}.fwkUserProfileButton .menuText{text-transform:capitalize}.fwkUserProfileButton .user-avatar-button{background:var(--user-profile-bg);border:1px solid var(--user-profile-border);cursor:pointer;color:var(--user-profile-color);border-radius:50px;align-items:center;gap:.5rem;padding:.25rem 1rem .25rem .25rem;font-size:.875rem;font-weight:500;transition:background-color .15s;display:inline-flex}.fwkUserProfileButton .user-avatar-button .user-avatar-img{object-fit:cover;border:2px solid var(--user-avatar-border,var(--user-profile-border));border-radius:50%;width:1.75rem;height:1.75rem;margin-right:.5rem}.fwkUserProfileButton .user-avatar-button .user-avatar-name{white-space:nowrap}.fwkUserProfileButton .user-avatar-button:hover{background:var(--user-profile-hover-bg)}.fwkUserProfileButton .fwkIconButton.button{background:var(--user-profile-bg);border:1px solid var(--user-profile-border);box-shadow:none;color:var(--user-profile-color);border-radius:50px;padding:.5rem 1rem .5rem .5rem;font-size:.875rem;font-weight:500}.fwkUserProfileButton .fwkIconButton.button:before{content:"";background:var(--user-avatar-bg);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;margin-right:.5rem;font-family:FontAwesome;font-size:.75rem;display:inline-flex}.fwkUserProfileButton .fwkIconButton.button:hover:not(.disabled){background:var(--user-profile-hover-bg);box-shadow:none;transform:none}.fwkUserProfileButton.fwkPopup .content{background:0 0;margin-top:8px;padding:0}.registry-viewer{max-width:1200px;margin:0 auto;padding:20px}.registry-viewer.loading{min-height:200px;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.registry-viewer .header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.registry-viewer .header h2{color:var(--text-primary);margin:0}.registry-viewer .header .header-info{align-items:center;gap:16px;display:flex}.registry-viewer .header .last-update{color:var(--text-secondary);font-size:.85rem}.registry-viewer .header .refresh-button{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:.85rem}.registry-viewer .header .refresh-button:hover{background:var(--primary-dark)}.registry-viewer .status-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:24px;padding:16px}.registry-viewer .status-section h3{color:var(--text-primary);margin:0 0 16px;font-size:1.1rem}.registry-viewer .status-section .section-hint{color:var(--text-secondary);margin:0 0 12px;font-size:.85rem}.registry-viewer .status-indicator{align-items:center;gap:8px;display:flex}.registry-viewer .status-indicator .status-light{border-radius:50%;width:12px;height:12px}.registry-viewer .status-indicator .status-light.initialized{background-color:#22c55e;box-shadow:0 0 8px #22c55e80}.registry-viewer .status-indicator .status-light.pending{background-color:#f59e0b;box-shadow:0 0 8px #f59e0b80}.registry-viewer .status-indicator .status-label{text-transform:capitalize;font-weight:500}.registry-viewer .status-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.registry-viewer .status-grid .status-item{align-items:center;gap:8px;display:flex}.registry-viewer .status-grid .status-item label{color:var(--text-secondary);font-size:.9rem}.registry-viewer .status-grid .status-item .total-count{color:var(--primary-color);font-size:1.5rem;font-weight:700}.registry-viewer .kinds-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;display:grid}.registry-viewer .kind-card{background:var(--input-bg);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;padding:16px;transition:all .2s}.registry-viewer .kind-card:hover{border-color:var(--primary-color)}.registry-viewer .kind-card.selected{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb), .2)}.registry-viewer .kind-card .kind-header{justify-content:space-between;align-items:center;display:flex}.registry-viewer .kind-card .kind-header .kind-count{color:var(--primary-color);font-size:1.5rem;font-weight:700}.registry-viewer .kind-card .kind-items{border-top:1px solid var(--border-color);flex-wrap:wrap;gap:6px;max-height:300px;margin-top:12px;padding-top:12px;display:flex;overflow-y:auto}.registry-viewer .kind-card .kind-item{background:var(--card-bg);border:1px solid var(--border-color);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:.8rem;transition:all .15s}.registry-viewer .kind-card .kind-item:hover,.registry-viewer .kind-card .kind-item.selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.registry-viewer .metadata-panel{background:var(--input-bg);border-radius:8px;padding:16px}.registry-viewer .metadata-panel.empty{color:var(--text-secondary);text-align:center}.registry-viewer .metadata-panel h4{color:var(--text-primary);margin:0 0 16px}.registry-viewer .metadata-panel .metadata-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.registry-viewer .metadata-panel .metadata-item{flex-direction:column;gap:4px;display:flex}.registry-viewer .metadata-panel .metadata-item label{color:var(--text-secondary);text-transform:uppercase;font-size:.8rem}.registry-viewer .metadata-panel .metadata-item span{color:var(--text-primary);font-size:.95rem}.registry-viewer .metadata-panel .metadata-item .override-badge{color:#fff;background:#f59e0b;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-block}.registry-viewer .components-list{flex-direction:column;gap:20px;display:flex}.registry-viewer .component-category h4{color:var(--text-primary);border-bottom:1px solid var(--border-color);margin:0 0 12px;padding-bottom:8px;font-size:1rem}.registry-viewer .component-category .component-tags{flex-wrap:wrap;gap:8px;display:flex}.registry-viewer .component-tag{border-radius:4px;padding:4px 10px;font-family:monospace;font-size:.8rem;font-weight:500}.registry-viewer .component-tag.entity{color:#3b82f6;background:#3b82f626;border:1px solid #3b82f64d}.registry-viewer .component-tag.board{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d}.registry-viewer .component-tag.textfield{color:#a855f7;background:#a855f726;border:1px solid #a855f74d}.registry-viewer .component-tag.settings{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.registry-viewer .component-tag.template{color:#ec4899;background:#ec489926;border:1px solid #ec48994d}.fwkDataPart{box-sizing:border-box;border-radius:12px;grid-template-rows:min-content 1fr;max-width:100%;height:100%;min-height:0;max-height:100%;display:grid;position:relative;overflow:hidden;box-shadow:0 4px 24px #0000000f}.fwkDataPart .dropOverlay{background:rgba(var(--accent-colour-rgb,0, 123, 255), .08);border:2px dashed var(--accent-colour,#007bff);z-index:100;pointer-events:none;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fwkDataPart .dropOverlay .dropMessage{color:var(--accent-colour,#007bff);flex-direction:column;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:500;display:flex}.fwkDataPart .dropOverlay .dropMessage i{opacity:.8;font-size:2rem}.fwkDataPart>.fwkToolBar{z-index:20;min-width:0;overflow:visible}.fwkDataPart>.fwkToolBar .left{flex:auto;row-gap:.375rem;min-width:0;overflow:visible}.fwkDataPart>.fwkToolBar .right{flex:none;row-gap:.25rem;min-width:max-content;margin-left:auto}.fwkDataPart>.fwkToolBar.dataPartToolbar:not(.compactControls) .right{border-left:1px solid var(--toolbar-icon-hover-bg);padding-left:.625rem}.fwkDataPart>.fwkToolBar .dataPartFilterControls{flex-wrap:nowrap;flex:none;align-items:center;gap:.5rem;min-width:0;display:flex}.fwkDataPart>.fwkToolBar>.left>.fwkTextFieldX[type=search]{flex:0 14rem;min-width:10rem}.fwkDataPart>.fwkToolBar>.left>.fwkTextFieldX[type=select],.fwkDataPart>.fwkToolBar>.left>.fwkTextFieldX[type=select1],.fwkDataPart>.fwkToolBar>.left>.fwkTextFieldX[type=select2]{flex:0 9.5rem;min-width:8rem}.fwkDataPart>.fwkToolBar .dataPartFilterControls>.fwkTextFieldX:not([type=checkbox]){flex:0 150px}.fwkDataPart>.fwkToolBar .dataPartMoreFilters{flex:none;align-items:center;display:flex;position:relative}.fwkDataPart>.fwkToolBar .dataPartMoreFilters .filterOverflowButton{border:var(--toolbar-input-border);background:var(--toolbar-input-bg);justify-content:center;min-width:2.25rem}.fwkDataPart>.fwkToolBar .dataPartMoreFilters .filterOverflowButton:hover:not(.disabled){border:var(--toolbar-input-border-hover)}.fwkDataPart>.fwkToolBar .dataPartMoreFiltersMenu{z-index:50;box-sizing:border-box;background:var(--paper-colour-1,#fff);width:max-content;min-width:16rem;max-width:calc(100vw - 2rem);color:var(--text-primary,#212529);border:1px solid var(--border-muted,#0000001f);box-shadow:var(--shadow-md,0 8px 24px #00000029);border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex;position:absolute;top:calc(100% + .45rem);right:0}.fwkDataPart>.fwkToolBar .dataPartMoreFiltersItem{min-width:0}.fwkDataPart>.fwkToolBar .dataPartMoreFiltersItem .fwkTextFieldX:not([type=checkbox]){width:100%;min-width:13rem}.fwkDataPart>.fwkToolBar .dataPartMoreFiltersItem .fwkTextFieldX[type=checkbox]{justify-content:flex-start}.fwkDataPart>.fwkToolBar .dataPartMoreFiltersItem .control{width:100%}.fwkDataPart>.fwkToolBar.compactControls{flex-wrap:nowrap;align-items:center}.fwkDataPart>.fwkToolBar.compactControls .left{flex:none;width:auto}.fwkDataPart>.fwkToolBar.compactControls .right{flex:auto;min-width:0}.fwkDataPart>.fwkToolBar .dataPartCompactControls{flex:none;align-items:center;display:flex;position:relative}.fwkDataPart>.fwkToolBar .dataPartCompactMenu{z-index:60;box-sizing:border-box;background:var(--paper-colour-1,#fff);width:min(20rem,100vw - 2rem);max-width:calc(100vw - 2rem);color:var(--text-primary,#212529);border:1px solid var(--border-muted,#0000001f);box-shadow:var(--shadow-md,0 8px 24px #00000029);border-radius:8px;flex-direction:column;gap:.5rem;max-height:min(70vh,32rem);padding:.75rem;display:flex;position:absolute;top:calc(100% + .45rem);left:0;overflow-y:auto}.fwkDataPart>.fwkToolBar .dataPartCompactMenu>.fwkTextFieldX:not([type=checkbox]){flex:none;width:100%;min-width:0}.fwkDataPart>.fwkToolBar .dataPartCompactMenu>.fwkTextFieldX:not([type=checkbox]) .control{height:auto;min-height:2.25rem;padding:.375rem .5rem}.fwkDataPart>.fwkToolBar .dataPartCompactMenu>.fwkTextFieldX:not([type=checkbox]) input{min-height:1.25rem;line-height:1.25rem}.fwkDataPart>.fwkToolBar .dataPartCompactMenu>.fwkTextFieldX:not([type=checkbox]) .searchbox{height:auto;min-height:1.25rem}.fwkDataPart>.fwkToolBar .dataPartCompactFilterList{flex-direction:column;gap:.5rem;display:flex}.fwkDataPart>.fwkToolBar .dataPartCompactFilterItem{min-width:0}.fwkDataPart>.fwkToolBar .dataPartCompactFilterItem .fwkTextFieldX:not([type=checkbox]){flex:none;width:100%;min-width:0}.fwkDataPart>.fwkToolBar .dataPartCompactFilterItem .fwkTextFieldX:not([type=checkbox]) .control{height:auto;min-height:2.25rem;padding:.375rem .5rem}.fwkDataPart>.fwkToolBar .dataPartCompactFilterItem .fwkTextFieldX[type=checkbox]{justify-content:flex-start}.fwkDataPart>.fwkToolBar .dataPartCompactFilterItem .control{width:100%}.fwkDataPart .dataContainer{background:var(--border-muted,#00000014);grid-template-columns:23% 1fr;gap:1px;height:100%;min-height:0;display:grid}.fwkDataPart .dataContainer.hideMaster{grid-template-columns:1fr}.fwkDataPart .dataContainer.hideMaster .detailPane{border-left:none}.fwkDataPart .masterContainer{background:var(--paper-colour-1,#fff);border-right:1px solid var(--border-muted,#00000014);grid-template-rows:auto auto 1fr auto;min-width:10%;min-height:0;display:grid;overflow:hidden}.fwkDataPart .masterFilter{border-bottom:1px solid var(--border-muted,#00000014);background:var(--paper-colour-2,#f8f9fa);padding:1rem}.fwkDataPart .masterPane{min-width:0;min-height:0;padding:0;overflow:hidden auto}.fwkDataPart .masterPane::-webkit-scrollbar{width:6px}.fwkDataPart .masterPane::-webkit-scrollbar-track{background:0 0}.fwkDataPart .masterPane::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg,#0003);border-radius:3px}.fwkDataPart .masterPane::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg,#0000004d)}.fwkDataPart .masterPane .masterPaneRow{cursor:pointer;border:none;border-bottom:1px solid var(--border-muted,#00000014);background:0 0;padding:.75rem 1rem;transition:all .2s;position:relative;overflow:hidden}.fwkDataPart .masterPane .masterPaneRow:before{content:"";background:0 0;width:3px;transition:background-color .2s;position:absolute;top:0;bottom:0;left:0}.fwkDataPart .masterPane .masterPaneRow:hover{background:var(--table-row-hover-bg,#00000008)}.fwkDataPart .masterPane .masterPaneRow:hover:before{background:var(--accent-colour-light,var(--accent-colour))}.fwkDataPart .masterPane .masterPaneRow.active{background:color-mix(in srgb, var(--accent-colour-light,var(--accent-colour)) 10%, transparent);color:var(--accent-colour-text,var(--accent-colour));font-weight:500}.fwkDataPart .masterPane .masterPaneRow.active:before{background:var(--accent-colour-light,var(--accent-colour))}.fwkDataPart .masterPane .masterPaneRow:last-child{border-bottom:none}.fwkDataPart .masterPane .masterPaneRow>div:first-child{z-index:1;grid-template-columns:1fr auto;align-items:center;gap:.75rem;padding-bottom:.2rem;display:grid;position:relative}.fwkDataPart .masterPane .masterPaneRow i[class*=fa-lock]{opacity:.7;font-size:.875rem}.fwkDataPart .detailPane{background:var(--paper-colour-2);box-sizing:border-box;min-height:0;padding:1rem 1rem 0;position:relative;overflow:auto}.fwkDataPart .detailPane::-webkit-scrollbar{width:8px}.fwkDataPart .detailPane::-webkit-scrollbar-track{background:var(--scrollbar-track-bg,#0000000d);border-radius:4px}.fwkDataPart .detailPane::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg,#0003);border-radius:4px}.fwkDataPart .detailPane::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg,#0000004d)}.fwkDataPart .detailPane:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0000000d 0%,#0000 100%);height:8px;position:absolute;top:0;left:0;right:0}.fwkDataPart .filterBox{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.fwkDataPart .filterBox .fwkTextField{flex:1;min-width:0;margin:0}.fwkDataPart .masterStats{background:var(--paper-colour-2,#f8f9fa);border-top:1px solid var(--border-muted,#00000014);color:var(--text-muted,#6c757d);text-align:center;grid-row:4;padding:1rem;font-size:.875rem;font-weight:500}@media (width<=1024px){.fwkDataPart>.fwkToolBar .left,.fwkDataPart>.fwkToolBar .dataPartFilterControls{flex-wrap:nowrap}.fwkDataPart>.fwkToolBar .fwkTextFieldX[type=search]{flex:0 12rem;min-width:8.5rem}.fwkDataPart>.fwkToolBar>.left>.fwkTextFieldX[type=select],.fwkDataPart>.fwkToolBar>.left>.fwkTextFieldX[type=select1],.fwkDataPart>.fwkToolBar>.left>.fwkTextFieldX[type=select2]{flex:0 9rem;min-width:7.5rem}.fwkDataPart>.fwkToolBar .dataPartFilterControls>.fwkTextFieldX:not([type=checkbox]){flex-basis:9rem;min-width:7.5rem}.fwkDataPart .filterBox .fwkTextField{min-width:140px}.fwkDataPart .detailPane{padding:.75rem .75rem 0}}@media (width<=768px){.fwkDataPart{width:calc(100% - 1rem);margin:0 .5rem}.fwkDataPart>.fwkToolBar{flex-wrap:nowrap;align-items:center}.fwkDataPart>.fwkToolBar .right{flex-wrap:wrap;flex:auto;order:2;justify-content:flex-end;min-width:0}.fwkDataPart>.fwkToolBar .left{flex:0 auto;order:1;width:auto}.fwkDataPart>.fwkToolBar .dataPartMoreFiltersMenu{left:0;right:auto}.fwkDataPart>.fwkToolBar.compactControls{flex-wrap:nowrap;align-items:center}.fwkDataPart>.fwkToolBar.compactControls .left{flex:none;order:1;width:auto}.fwkDataPart>.fwkToolBar.compactControls .right{flex:auto;order:2;justify-content:flex-end;width:auto}.fwkDataPart .dataContainer{grid-template-rows:auto 1fr;grid-template-columns:1fr}.fwkDataPart .masterContainer{border-right:none;border-bottom:1px solid var(--border-muted,#00000014);max-height:40vh}.fwkDataPart .masterPane .masterPaneRow{padding:.75rem}.fwkDataPart .detailPane{padding:1rem}}@media (width<=480px){.fwkDataPart{border-radius:8px;width:calc(100% - 1rem);margin:0 .5rem}.fwkDataPart>.fwkToolBar .right{justify-content:flex-end;width:100%}.fwkDataPart>.fwkToolBar .left{row-gap:.5rem}.fwkDataPart>.fwkToolBar .fwkTextFieldX[type=search]{flex:100%;min-width:0}.fwkDataPart>.fwkToolBar .dataPartFilterControls{flex:auto}.fwkDataPart>.fwkToolBar .dataPartMoreFiltersMenu{min-width:min(16rem,100vw - 2rem)}.fwkDataPart>.fwkToolBar.compactControls .left{width:auto}.fwkDataPart>.fwkToolBar.compactControls .right{flex:auto;width:auto}.fwkDataPart .masterPane{padding:.25rem}.fwkDataPart .masterPane .masterPaneRow{padding:.5rem}.fwkDataPart .detailPane{padding:.75rem}.fwkDataPart .masterStats{padding:.75rem;font-size:.8rem}}@media (width<=380px){.fwkDataPart{width:100%;box-shadow:none;border-radius:0;margin:0}.fwkDataPart .dataContainer{gap:0}.fwkDataPart .masterContainer{max-height:35vh}.fwkDataPart .masterPane .masterPaneRow{padding:.375rem .5rem}.fwkDataPart .masterPane .masterPaneRow>div{gap:.5rem}.fwkDataPart .detailPane{padding:.5rem}.fwkDataPart .detailPane>div[style],.fwkDataPart .detailPane .panel>div[style]{grid-template-columns:1fr!important}.fwkDataPart .detailPane .form-section{margin-bottom:12px;padding:10px}.fwkDataPart .detailPane .form-section-title{margin-bottom:8px;padding-bottom:6px;font-size:.75rem}.fwkDataPart .masterStats{padding:.5rem;font-size:.75rem}.fwkDataPart .filterBox .fwkTextField{min-width:100px}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper .table th{padding:.5rem .375rem;font-size:.75rem}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper .table tbody tr td{padding:.5rem .375rem;font-size:.8125rem}.fwkDataPart .listViewContainer .tableViewContainer .tableFooter,.fwkDataPart .tileViewContainer .tileStats{padding:.5rem;font-size:.75rem}}.fwkDataPart .listViewContainer{background:var(--border-muted,#00000014);flex-direction:column;height:100%;min-height:0;display:flex}.fwkDataPart .listViewContainer .tableViewContainer{background:var(--paper-colour-1,#fff);flex:1;grid-template-rows:1fr auto;min-height:0;display:grid}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper{border:1px solid var(--table-border-color,#0000001a);border-bottom:none;overflow:auto}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper::-webkit-scrollbar{width:8px;height:8px}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper::-webkit-scrollbar-track{background:var(--scrollbar-track-bg,#0000000d);border-radius:4px}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg,#0003);border-radius:4px}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg,#0000004d)}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper .table{border:none;margin-bottom:0}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper .table th{background:var(--table-header-bg,#00000008);border-top:none;border-bottom:2px solid var(--table-border-color,#0000001a);color:var(--text-primary,#212529);z-index:10;padding:.75rem;font-size:.875rem;font-weight:600;position:sticky;top:0}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper .table tbody tr{transition:background-color .15s}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper .table tbody tr:hover:not(.table-active){background-color:var(--table-row-hover-bg,#00000008)!important}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper .table tbody tr.table-active{background:var(--accent-colour-faint)!important;color:var(--accent-colour)!important;border-left:3px solid var(--accent-colour)!important;font-weight:500!important}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper .table tbody tr.table-active td{background:inherit!important;color:inherit!important;font-weight:inherit!important;border-color:var(--accent-colour)!important;opacity:1!important}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper .table tbody tr.table-active:hover{background:var(--selected-hover)!important}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper .table tbody tr td{vertical-align:middle;border-top:1px solid var(--table-border-color,#0000001a);padding:.75rem}.fwkDataPart .listViewContainer .tableViewContainer .tableFooter{color:var(--text-muted,#6c757d);text-align:center;background:var(--paper-colour-2,#f8f9fa);border:1px solid var(--table-border-color,#0000001a);border-top:none;grid-row:2;padding:1rem;font-size:.875rem;font-weight:500}.fwkDataPart .listViewContainer .listDetailView{background:var(--paper-colour-1,#fff);height:100%;min-height:0;padding:1.5rem;overflow-y:auto}.fwkDataPart .listViewContainer .listDetailView::-webkit-scrollbar{width:8px}.fwkDataPart .listViewContainer .listDetailView::-webkit-scrollbar-track{background:var(--scrollbar-track-bg,#0000000d);border-radius:4px}.fwkDataPart .listViewContainer .listDetailView::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg,#0003);border-radius:4px}.fwkDataPart .listViewContainer .listDetailView::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg,#0000004d)}.fwkDataPart .listViewContainer .backToTableButton{color:var(--accent-colour)!important}.fwkDataPart .listViewContainer .backToTableButton:hover{color:var(--accent-colour)!important;background:var(--accent-colour-faint)!important}.fwkDataPart .tileViewContainer{background:var(--paper-colour-1,#fff);flex-direction:column;height:100%;min-height:0;display:flex}.fwkDataPart .tileViewContainer .tileGrid{flex:1;min-height:0}.fwkDataPart .tileViewContainer .tileGrid::-webkit-scrollbar{width:8px;height:8px}.fwkDataPart .tileViewContainer .tileGrid::-webkit-scrollbar-track{background:var(--scrollbar-track-bg,#0000000d);border-radius:4px}.fwkDataPart .tileViewContainer .tileGrid::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg,#0003);border-radius:4px}.fwkDataPart .tileViewContainer .tileGrid::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg,#0000004d)}.fwkDataPart .tileViewContainer .tile:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;background-color:var(--paper-colour-hover,#e9ecef)!important;border-color:var(--border-hover,#ced4da)!important}.fwkDataPart .tileViewContainer .tile.selected:hover{background-color:var(--accent-colour-faint,#e3f2fd)!important}.fwkDataPart .tileViewContainer .tileStats{color:var(--text-muted,#6c757d);text-align:center;background:var(--paper-colour-2,#f8f9fa);border-top:1px solid var(--border-muted,#00000014);padding:1rem;font-size:.875rem;font-weight:500}.fwkDataPart .tileViewContainer .listDetailView{background:var(--paper-colour-1,#fff);height:100%;min-height:0;padding:1.5rem;overflow-y:auto}.fwkDataPart .tileViewContainer .listDetailView::-webkit-scrollbar{width:8px}.fwkDataPart .tileViewContainer .listDetailView::-webkit-scrollbar-track{background:var(--scrollbar-track-bg,#0000000d);border-radius:4px}.fwkDataPart .tileViewContainer .listDetailView::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg,#0003);border-radius:4px}.fwkDataPart .tileViewContainer .listDetailView::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg,#0000004d)}.fwkDataPart .lazyColumnLoading{color:var(--text-muted,#6c757d);justify-content:center;align-items:center;font-size:.875rem;display:inline-flex}.fwkDataPart .lazyColumnLoading i{opacity:.6}.fwkDataPart .virtualizedTable{flex-direction:column;height:100%;min-height:0;display:flex}.fwkDataPart .virtualizedTable .virtualTableHeader{z-index:10;flex-shrink:0;position:sticky;top:0}.fwkDataPart .virtualizedTable .virtualTableHeaderCell{border-right:1px solid var(--table-border-color,#0000001a)}.fwkDataPart .virtualizedTable .virtualTableHeaderCell:last-child{border-right:none}.fwkDataPart .virtualizedTable .virtualTableBody::-webkit-scrollbar{width:8px}.fwkDataPart .virtualizedTable .virtualTableBody::-webkit-scrollbar-track{background:var(--scrollbar-track-bg,#0000000d);border-radius:4px}.fwkDataPart .virtualizedTable .virtualTableBody::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg,#0003);border-radius:4px}.fwkDataPart .virtualizedTable .virtualTableBody::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg,#0000004d)}.fwkDataPart .virtualizedTable .virtualTableRow{transition:background-color .15s}.fwkDataPart .virtualizedTable .virtualTableRow:hover:not(.table-active){background-color:var(--table-row-hover-bg,#00000008)}.fwkDataPart .virtualizedTable .virtualTableRow.striped{background-color:var(--table-stripe-bg,#00000005)}.fwkDataPart .virtualizedTable .virtualTableRow.table-active{position:relative;background:var(--accent-colour-faint)!important;color:var(--accent-colour)!important;font-weight:500!important}.fwkDataPart .virtualizedTable .virtualTableRow.table-active:before{content:"";background:var(--accent-colour);width:3px;position:absolute;top:0;bottom:0;left:0}.fwkDataPart .virtualizedTable .virtualTableRow.table-active:hover{background:var(--selected-hover)!important}.fwkDataPart .virtualizedTable .virtualTableCell{border-right:1px solid var(--border-muted,#0000000d)}.fwkDataPart .virtualizedTable .virtualTableCell:last-child{border-right:none}.fwkForm,.fwkFormColumn{flex-direction:column;row-gap:.5rem;display:flex}.fwkFormRow{flex-wrap:wrap;align-items:flex-start;column-gap:.2rem;margin-bottom:.5rem;display:flex}.fwkIcon{position:relative}.fwkIcon img{width:100%;height:100%}.fwkIcon .hintText{font-size:var(--font-size);visibility:hidden;background-color:var(--accent-colour-light);color:#fff;text-align:center;opacity:0;border-radius:6px;width:fit-content;margin-left:-50%;padding:5px;transition:opacity .3s;position:absolute;bottom:100%;left:50%}.fwkIcon:hover .hintText{visibility:visible;opacity:1}.fwkBadge{color:#fff;text-align:center;white-space:normal;border-radius:8px;align-items:center;gap:4px;width:fit-content;padding:4px 8px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 6px #00000026}.fwkBadge:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0003}.fwkBadge .badge-icon{font-size:inherit}.fwkBadge.small{border-radius:5px;padding:2px 6px;font-size:.75rem;box-shadow:0 1px 4px #0000001f}.fwkBadge.medium{border-radius:8px;padding:4px 10px;font-size:.875rem}.fwkBadge.large{border-radius:12px;padding:6px 14px;font-size:1rem;box-shadow:0 3px 10px #0000002e}.fwkBadge:not([style*=background]){background:linear-gradient(135deg,#7c8591 0%,#4a5568 100%)}.fwkIconButton{font-family:inherit;font-size:inherit;line-height:inherit;appearance:none;color:var(--accent-colour);cursor:pointer;border-radius:var(--radius-md,10px);transition:var(--transition-base,all .2s ease);text-transform:capitalize;text-align:center;background:0 0;border:none;flex-direction:row;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-weight:500;display:flex;position:relative}.fwkIconButton i.fa,.fwkIconButton i.fas,.fwkIconButton i.far,.fwkIconButton i.fab,.fwkIconButton i[class*=fa-]{justify-content:center;align-items:center;width:1em;height:1em;font-size:1rem;line-height:1;display:inline-flex}.fwkIconButton:focus-visible{outline:2px solid var(--accent-colour);outline-offset:2px}.fwkIconButton:focus:not(:focus-visible){outline:none}.fwkIconButton:hover:not(.disabled):not(.selected):not(.button){background:var(--hover-colour,#0000000f);transform:translateY(-1px)}.fwkIconButton:active:not(.disabled):not(.button){background:var(--hover-colour,#00000014);transform:translateY(0)}.fwkIconButton.selected{background:var(--button-primary-bg,var(--gradient-accent,var(--accent-colour)));color:var(--button-primary-color,white);box-shadow:var(--button-primary-shadow,var(--shadow-accent-sm,0 2px 8px #00000026));font-weight:600}.fwkIconButton.selected:hover:not(.disabled){background:var(--button-primary-bg-hover,var(--gradient-accent-hover,var(--accent-colour-light)))}.fwkIconButton.disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.fwkIconButton.button{background:var(--button-primary-bg,var(--gradient-accent,var(--accent-colour)));color:var(--button-primary-color,white);border-radius:var(--radius-md,.5rem);box-shadow:var(--button-primary-shadow,var(--shadow-accent-sm,0 2px 8px #00000026));letter-spacing:.01em;pointer-events:all;transition:var(--transition-smooth,all .3s ease);border:none;font-weight:600;display:flex}.fwkIconButton.button:hover:not(.disabled){background:var(--button-primary-bg-hover,var(--gradient-accent-hover,var(--accent-colour-light)));box-shadow:var(--button-primary-shadow-hover,var(--shadow-accent-md,0 4px 14px #0003));transform:var(--hover-lift,translateY(-2px))}.fwkIconButton.button:active:not(.disabled){box-shadow:var(--button-primary-shadow,var(--shadow-accent-sm,0 2px 8px #00000026));transform:translateY(0)}.fwkIconButton.button:focus-visible{box-shadow:var(--button-primary-focus-ring,var(--focus-ring,0 0 0 3px #0000001a)), var(--button-primary-shadow,var(--shadow-accent-sm));outline:none}.fwkIconButton.button.disabled{box-shadow:none;transform:none;background:var(--button-disabled-bg,var(--disabled-colour,#9ca3af))!important;color:var(--button-disabled-color,#ffffffb3)!important}.fwkIconButton.button.warning{background:var(--warning-colour,#f59e0b);box-shadow:0 2px 8px #f59e0b40}.fwkIconButton.button.warning:hover:not(.disabled){background:color-mix(in srgb, var(--warning-colour,#f59e0b) 85%, black);box-shadow:0 4px 14px #f59e0b4d}.fwkIconButton.button.warning:active:not(.disabled){box-shadow:0 2px 8px #f59e0b40}.fwkIconButton.button.warning:focus-visible{box-shadow:0 0 0 3px #f59e0b4d,0 2px 8px #f59e0b40}.fwkIconButton.button.warning.disabled{box-shadow:none;background:var(--disabled-colour,#9ca3af)!important}.fwkIconButton.button.danger{background:var(--error-colour,#dc2626);box-shadow:0 2px 8px #dc262640}.fwkIconButton.button.danger:hover:not(.disabled){background:color-mix(in srgb, var(--error-colour,#dc2626) 85%, black);box-shadow:0 4px 14px #dc26264d}.fwkIconButton.button.danger:active:not(.disabled){box-shadow:0 2px 8px #dc262640}.fwkIconButton.button.danger:focus-visible{box-shadow:0 0 0 3px #dc26264d,0 2px 8px #dc262640}.fwkIconButton.button.danger.disabled{box-shadow:none;background:var(--disabled-colour,#9ca3af)!important}.fwkIconButton.button.success{background:var(--success-colour,#16a34a);box-shadow:0 2px 8px #16a34a40}.fwkIconButton.button.success:hover:not(.disabled){background:color-mix(in srgb, var(--success-colour,#16a34a) 85%, black);box-shadow:0 4px 14px #16a34a4d}.fwkIconButton.button.success:active:not(.disabled){box-shadow:0 2px 8px #16a34a40}.fwkIconButton.button.success:focus-visible{box-shadow:0 0 0 3px #16a34a4d,0 2px 8px #16a34a40}.fwkIconButton.button.success.disabled{box-shadow:none;background:var(--disabled-colour,#9ca3af)!important}.fwkIconButton.secondary{background:var(--button-secondary-bg,transparent);color:var(--button-secondary-color,var(--accent-colour));border:var(--button-secondary-border,2px solid var(--accent-colour));box-shadow:none}.fwkIconButton.secondary:hover:not(.disabled){background:var(--button-secondary-bg-hover,var(--accent-colour-faint,#0000000d));border:var(--button-secondary-border-hover,2px solid var(--accent-colour-light))}.fwkIconButton.secondary.disabled{border:var(--button-disabled-border,2px solid var(--disabled-colour,#9ca3af));color:var(--button-disabled-color,var(--disabled-colour,#9ca3af))}.fwkIconButton.ghost{background:var(--button-ghost-bg,transparent);color:var(--button-ghost-color,var(--accent-colour));box-shadow:none}.fwkIconButton.ghost:hover:not(.disabled){background:var(--button-ghost-bg-hover,var(--accent-colour-faint,#0000000d))}.fwkIconButton.sm{padding:.5rem .75rem;font-size:.875rem}.fwkIconButton.lg{padding:1rem 1.5rem;font-size:1.1rem}.fwkTabs{box-sizing:border-box;flex-direction:column;width:100%;height:100%;display:flex}.fwkTabs .tabbar-container{background:var(--tabs-bg-gradient,var(--tabs-bg));color:var(--tabs-color);border:var(--tabs-border);border-radius:var(--radius-md,10px) var(--radius-md,10px) 0 0;box-shadow:var(--tabs-shadow);border-bottom:none;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.fwkTabs .tabbar{flex-wrap:wrap;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.fwkTabs .tabbar li{border-radius:var(--radius-sm,6px);cursor:pointer;transition:var(--transition-base,.2s ease);white-space:nowrap;color:var(--tabs-color-muted);padding:.5rem 1rem;font-size:.9rem;font-weight:500;position:relative}.fwkTabs .tabbar li:after{content:"";background:var(--tabs-underline-color);width:0;height:2px;transition:var(--transition-base,.2s ease);border-radius:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.fwkTabs .tabbar li:hover:not(.active){color:var(--tabs-color-active);background-color:var(--tabs-hover-bg)}.fwkTabs .tabbar .active{color:var(--tabs-color-active);background-color:var(--tabs-active-bg);font-weight:600}.fwkTabs .tabbar .active:after{width:60%}.fwkTabs .tab-toolbar{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.fwkTabs .tab-toolbar .fwkIconButton{color:var(--tabs-color-active);padding:.4rem}.fwkTabs .tab-toolbar .fwkIconButton:hover:not(.disabled){background-color:var(--tabs-hover-bg)}.fwkTabs .panel{background:var(--tabs-panel-bg);border:var(--tabs-panel-border);border-radius:0 0 var(--radius-md,10px) var(--radius-md,10px);border-top:none;flex-direction:column;flex:1;width:100%;height:100%;padding:1.25rem 1.25rem 0;display:none;overflow:auto}.fwkTabs .panel .fwkLedger{padding:0}.fwkTabs .panel:has(.fwkLedger){padding:0!important}.fwkTabs .panel.active{animation:.15s ease-out tabPanelFadeIn;display:flex}.fwkTabs .tabbody{flex-direction:column;flex:1;width:100%;display:flex}.fwkTabs.accent .tabbar-container{background:var(--gradient-accent,var(--accent-colour));color:var(--text-inverse,white);border:none}.fwkTabs.accent .tabbar li{color:var(--text-overlay-muted,#ffffffb3)}.fwkTabs.accent .tabbar li:after{background:var(--text-inverse,white)}.fwkTabs.accent .tabbar li:hover:not(.active){color:var(--text-inverse,white);background-color:var(--bg-overlay,#ffffff1a)}.fwkTabs.accent .tabbar .active{color:var(--text-inverse,white);background-color:var(--bg-overlay-hover,#fff3)}.fwkTabs.accent .tab-toolbar .fwkIconButton{color:var(--text-inverse,white)}.fwkTabs.accent .tab-toolbar .fwkIconButton:hover:not(.disabled){background-color:var(--bg-overlay-hover,#fff3)}.fwkTabs.accent .panel{border:none}.fwkTabs.underline .tabbar-container{color:var(--text-primary,#333);border:none;border-bottom:1px solid var(--border-muted,#0000001a);box-shadow:none;background:0 0;border-radius:0;padding:0 0 .5rem}.fwkTabs.underline .tabbar li{color:var(--text-muted,#666);background:0 0;padding:.5rem 1rem}.fwkTabs.underline .tabbar li:after{background:var(--accent-colour);height:3px;bottom:-.5rem}.fwkTabs.underline .tabbar li:hover:not(.active){color:var(--text-primary,#333);background:0 0}.fwkTabs.underline .tabbar .active{color:var(--accent-colour);background:0 0}.fwkTabs.underline .tabbar .active:after{width:100%}.fwkTabs.underline .tab-toolbar .fwkIconButton{color:var(--text-primary,#333)}.fwkTabs.underline .tab-toolbar .fwkIconButton:hover:not(.disabled){background-color:var(--hover-colour,#0000000d)}.fwkTabs.underline .panel{background:0 0;border:none;border-radius:0}.fwkTabs.pills .tabbar-container{background:var(--paper-colour-2,#f5f5f5);color:var(--text-primary,#333);border-radius:var(--radius-md,10px);box-shadow:none;border:1px solid var(--border-muted,#00000014);padding:.5rem}.fwkTabs.pills .tabbar{background:var(--bg-muted,#0000000d);border-radius:var(--radius-sm,6px);padding:.25rem}.fwkTabs.pills .tabbar li{color:var(--text-muted,#666);border-radius:var(--radius-sm,6px);padding:.4rem .75rem}.fwkTabs.pills .tabbar li:after{display:none}.fwkTabs.pills .tabbar li:hover:not(.active){color:var(--text-primary,#333);background:0 0}.fwkTabs.pills .tabbar .active{color:var(--text-primary,#333);background:var(--paper-colour,white);box-shadow:var(--shadow-sm,0 1px 2px #0000000d)}.fwkTabs.pills .tab-toolbar .fwkIconButton{color:var(--text-primary,#333)}.fwkTabs.pills .tab-toolbar .fwkIconButton:hover:not(.disabled){background-color:var(--hover-colour,#0000000d)}.fwkTabs.boxed .tabbar-container{color:var(--text-primary,#333);box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.fwkTabs.boxed .tabbar{border-bottom:1px solid var(--border-muted,#0000001a);gap:0;padding-bottom:0}.fwkTabs.boxed .tabbar li{color:var(--text-muted,#666);background:var(--paper-colour-2,#f8f8f8);border:1px solid var(--border-muted,#0000001a);border-radius:var(--radius-sm,6px) var(--radius-sm,6px) 0 0;border-bottom:none;margin-bottom:-1px;margin-right:-1px;padding:.75rem 1.25rem}.fwkTabs.boxed .tabbar li:after{display:none}.fwkTabs.boxed .tabbar li:hover:not(.active){color:var(--text-primary,#333);background:var(--paper-colour,white)}.fwkTabs.boxed .tabbar .active{color:var(--text-primary,#333);background:var(--paper-colour,white);border-bottom:1px solid var(--paper-colour,white);z-index:1}.fwkTabs.boxed .tab-toolbar .fwkIconButton{color:var(--text-primary,#333)}.fwkTabs.boxed .panel{border:1px solid var(--border-muted,#0000001a);border-radius:0 0 var(--radius-md,10px) var(--radius-md,10px);border-top:none}@media (width<=380px){.fwkTabs .tabbar-container{gap:.5rem;padding:.5rem}.fwkTabs .tabbar li{padding:.375rem .625rem;font-size:.8125rem}.fwkTabs .panel{padding:.75rem .75rem 0}}@keyframes tabPanelFadeIn{0%{opacity:0}to{opacity:1}}.fwkHint{background-color:var(--accent-colour-light);color:#fff;white-space:nowrap;z-index:1000;border-radius:.3rem;padding:.3rem;position:fixed;top:100%}.fwkHint.fwkHint--right{transform:translateY(-50%)}.fwkHint.fwkHint--left{transform:translate(-100%,-50%)}.fwkHint.fwkHint--top{transform:translateY(-100%)}.fwkTextFieldX{--textfield-border-color:var(--input-border-color,var(--border-light,#e0e0e0));--textfield-border-hover-color:var(--input-border-hover-color,var(--border-colour,#0003));--textfield-border-width:1px;--textfield-border-radius:var(--radius-md,.5rem);--textfield-focus-color:var(--input-focus-color,var(--accent-colour,#1976d2));--textfield-focus-border-width:2px;--textfield-focus-shadow:var(--input-focus-shadow,var(--focus-ring,0px 0px 0px 3px #1976d24d));--textfield-background:var(--input-background,#fff);--textfield-background-disabled:var(--bg-muted,#f5f5f5);--textfield-text-color:var(--colour-text,#333);--textfield-placeholder-color:var(--text-muted,#999);--textfield-label-color:var(--colour-text,#333);--textfield-error-color:var(--error-colour,#d32f2f);--textfield-error-background:var(--error-bg,#ffebee);--textfield-error-border-color:var(--error-colour,#f44336);--textfield-success-color:var(--success-colour,#2e7d32);--textfield-success-border-color:var(--success-colour,#4caf50);--textfield-warning-color:var(--warning-colour,#ed6c02);--textfield-warning-border-color:var(--warning-colour,#ff9800);--textfield-padding-x:.5rem;--textfield-padding-y:.5rem;--textfield-label-padding:0 .5rem;--textfield-gap:.25rem;--textfield-min-height:1.5em;--textfield-font-size:inherit;--textfield-label-font-size:inherit;--textfield-checkbox-size:1.3rem;--textfield-checkbox-border-radius:.3rem;--textfield-checkbox-color:var(--accent-colour,#1976d2);--textfield-checkbox-check-color:white;--textfield-swatch-size:1.5rem;--textfield-swatch-border-radius:.5rem;--textfield-transition:var(--transition-base,.2s ease);box-sizing:border-box;max-width:100%;font-size:var(--textfield-font-size);color:var(--textfield-text-color);transition:var(--textfield-transition);display:flex}.fwkTextFieldX.size-small{--textfield-padding-x:.375rem;--textfield-padding-y:.25rem;--textfield-font-size:.875rem;--textfield-label-font-size:.75rem;--textfield-min-height:1.25em;--textfield-border-radius:var(--radius-sm,.375rem);--textfield-checkbox-size:1rem;--textfield-checkbox-border-radius:.25rem;--textfield-swatch-size:1.25rem;--textfield-gap:.125rem}.fwkTextFieldX.size-medium{--textfield-padding-x:.5rem;--textfield-padding-y:.5rem;--textfield-font-size:1rem;--textfield-label-font-size:.875rem;--textfield-min-height:1.5em;--textfield-border-radius:var(--radius-md,.5rem);--textfield-checkbox-size:1.3rem;--textfield-checkbox-border-radius:.3rem;--textfield-swatch-size:1.5rem;--textfield-gap:.25rem}.fwkTextFieldX.size-large{--textfield-padding-x:.75rem;--textfield-padding-y:.625rem;--textfield-font-size:1.125rem;--textfield-label-font-size:1rem;--textfield-min-height:1.75em;--textfield-border-radius:var(--radius-md,.625rem);--textfield-checkbox-size:1.5rem;--textfield-checkbox-border-radius:.375rem;--textfield-swatch-size:1.75rem;--textfield-gap:.375rem}.fwkTextFieldX[labelPos="top"],.fwkTextFieldX[labelPos="bottom"]{gap:var(--textfield-gap);flex-direction:column;display:flex}.fwkTextFieldX[labelPos="top"] label,.fwkTextFieldX[labelPos="bottom"] label{padding:var(--textfield-label-padding);font-size:var(--textfield-label-font-size);color:var(--textfield-label-color)}.fwkTextFieldX[labelPos="right"],.fwkTextFieldX[labelPos="left"]{white-space:nowrap;align-items:center;gap:var(--textfield-gap);flex-wrap:nowrap;display:flex}.fwkTextFieldX[labelPos="right"] label,.fwkTextFieldX[labelPos="left"] label{padding:var(--textfield-label-padding);font-size:var(--textfield-label-font-size);color:var(--textfield-label-color);flex-shrink:0}.fwkTextFieldX[labelPos="right"] .control,.fwkTextFieldX[labelPos="left"] .control{flex:1;min-width:0}.fwkTextFieldX input,.fwkTextFieldX textarea{width:100%;font-size:var(--textfield-font-size);color:var(--textfield-text-color);background-color:#0000;border:none;padding:0 2px}.fwkTextFieldX input::placeholder,.fwkTextFieldX textarea::placeholder{color:var(--textfield-placeholder-color);font-style:italic}.fwkTextFieldX input:disabled,.fwkTextFieldX textarea:disabled{background-color:unset}.fwkTextFieldX textarea{box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word;border:none;width:100%;height:100%;margin:0;padding:0}.fwkTextFieldX .control{border:var(--textfield-border-width) solid var(--textfield-border-color);border-radius:var(--textfield-border-radius);background-color:var(--textfield-background);height:100%;padding:var(--textfield-padding-y) var(--textfield-padding-x);transition:var(--textfield-transition);align-items:center;display:flex;position:relative}.fwkTextFieldX .control>input,.fwkTextFieldX .control>textarea,.fwkTextFieldX .control>.textBox{min-height:var(--textfield-min-height)}.fwkTextFieldX .control:hover:not(:focus-within){border-color:var(--textfield-border-hover-color)}.fwkTextFieldX .control:focus-within{border-color:var(--textfield-focus-color);border-width:var(--textfield-focus-border-width);box-shadow:var(--textfield-focus-shadow)}.fwkTextFieldX .control.error{border-color:var(--textfield-error-border-color)}.fwkTextFieldX .control:has(+.error){border-color:var(--textfield-error-border-color)}.fwkTextFieldX .error{color:var(--textfield-error-color);margin-top:var(--textfield-gap);font-size:.85em}.fwkTextFieldX.locked{pointer-events:none}.fwkTextFieldX.locked .control[data-has-tooltip]{pointer-events:auto}.fwkTextFieldX.locked .link{pointer-events:auto;cursor:pointer}.fwkTextFieldX .blank-value{color:var(--textfield-text-color);display:inline-block}.fwkTextFieldX .placeholder-hint{display:inline-block;color:var(--textfield-placeholder-color,#999)!important;font-style:italic!important}.fwkTextFieldX.inline{background:0 0;border:none;width:100%;margin:0;padding:0;display:inline-block}.fwkTextFieldX.inline .control{background:0 0;border:none;width:100%;margin:0;padding:0}.fwkTextFieldX.inline input,.fwkTextFieldX.inline textarea,.fwkTextFieldX.inline .textBox{width:100%;background:0 0!important;border:none!important;outline:none!important}.status-value{color:var(--textfield-text-color,#333);display:inline-block}.fwkTitle{white-space:normal;align-items:center;column-gap:.5rem;font-size:2rem;font-weight:600;display:flex}.fwkAuditTrail{width:100%}.fwkAuditTrail table{table-layout:fixed;width:100%}.fwkAuditTrail table th,.fwkAuditTrail table td{word-wrap:break-word;overflow-wrap:break-word;white-space:normal}.fwkAuditTrail table th:first-child,.fwkAuditTrail table td:first-child,.fwkAuditTrail table th:nth-child(2),.fwkAuditTrail table td:nth-child(2),.fwkAuditTrail table th:nth-child(3),.fwkAuditTrail table td:nth-child(3){width:15%}.fwkAuditTrail table th:nth-child(4),.fwkAuditTrail table td:nth-child(4){word-break:break-word;white-space:pre-wrap;width:55%}.orgapiconfig .fwkFormRow .fwkTextFieldX{flex:1;min-width:0}.orgapiconfig .orgapiconfig-field-table{grid-template-columns:max-content 1fr;align-items:center;gap:4px 12px;display:grid}.orgapiconfig .orgapiconfig-field-table>span{white-space:nowrap;color:var(--colour-text,#333);text-align:right;font-size:.875rem}.orgapiconfig .orgapiconfig-field-table .fwkTextFieldX{min-width:0}.orgapiconfig .orgapiconfig-header{flex-direction:row;align-items:center;gap:12px;margin-bottom:8px;display:flex}.orgapiconfig .orgapiconfig-fields{flex-direction:column;gap:4px;display:flex}.orgapiconfig .orgapiconfig-test{border-top:1px solid var(--border-color,#ddd);flex-direction:column;gap:12px;margin-top:12px;padding-top:12px;display:flex}.orgapiconfig .orgapiconfig-test .orgapiconfig-test-row{align-items:center;gap:12px;display:flex}.orgapiconfig .orgapiconfig-test .orgapiconfig-test-ok{color:#1e6e2e;font-size:.875rem}.orgapiconfig .orgapiconfig-test .orgapiconfig-test-fail{color:#b31412;font-size:.875rem}.orgapiconfig .orgapiconfig-test .orgapiconfig-profiles-table{border-collapse:collapse;width:100%;font-size:.85rem}.orgapiconfig .orgapiconfig-test .orgapiconfig-profiles-table th{text-align:left;background:var(--table-header-bg,#f4f4f4);border-bottom:2px solid var(--border-color,#ddd);color:var(--text-muted,#555);text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;font-size:.78rem;font-weight:600}.orgapiconfig .orgapiconfig-test .orgapiconfig-profiles-table td{border-bottom:1px solid var(--border-color,#eee);padding:4px 10px}.orgapiconfig .orgapiconfig-test .orgapiconfig-profiles-table tr:last-child td{border-bottom:none}.orgapiconfig .orgapiconfig-fph-results{flex-direction:column;gap:8px;font-size:.85rem;display:flex}.orgapiconfig .orgapiconfig-fph-section{border-radius:4px;padding:8px 12px}.orgapiconfig .orgapiconfig-fph-section .orgapiconfig-fph-section-title{text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.8rem;font-weight:600}.orgapiconfig .orgapiconfig-fph-errors{color:#7a0e0c;background:#fdf0f0;border-left:3px solid #b31412}.orgapiconfig .orgapiconfig-fph-warnings{color:#7a4c00;background:#fdf6e3;border-left:3px solid #c97d00}.orgapiconfig .orgapiconfig-fph-recommendations{color:#0e3f6e;background:#eef4fd;border-left:3px solid #1a6aab}.orgapiconfig .orgapiconfig-fph-item{padding:4px 0}.orgapiconfig .orgapiconfig-fph-item+.orgapiconfig-fph-item{border-top:1px solid #00000014;margin-top:4px}.orgapiconfig .orgapiconfig-fph-item .orgapiconfig-fph-header-names{opacity:.75;margin-left:8px;font-size:.78rem;font-style:italic}.orgapiconfig .orgapiconfig-fph-item .orgapiconfig-fph-item-msg{opacity:.9;margin-top:2px;font-size:.8rem}.orgapiconfig .orgapiconfig-fph-submitted{margin-top:4px}.orgapiconfig .orgapiconfig-fph-submitted .orgapiconfig-fph-toggle{color:var(--link-color,#1a6aab);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.orgapiconfig .orgapiconfig-fph-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:.8rem}.orgapiconfig .orgapiconfig-fph-table td{border-bottom:1px solid var(--border-color,#eee);vertical-align:top;word-break:break-all;padding:3px 8px}.orgapiconfig .orgapiconfig-fph-table .orgapiconfig-fph-hname{white-space:nowrap;color:var(--text-muted,#555);width:240px;font-weight:600}.orgapiconfig .orgapiconfig-actions{flex-direction:row;align-items:center;gap:8px;margin-top:8px;display:flex}.tasksboard .task-status{text-transform:uppercase;border-radius:4px;padding:4px 8px;font-size:.85em;font-weight:500;display:inline-block}.tasksboard .task-status.new{background-color:var(--warning-bg);color:var(--warning-colour);border:1px solid var(--warning-border)}.tasksboard .task-status.active{background-color:var(--info-bg);color:var(--info-colour);border:1px solid var(--info-border)}.tasksboard .task-status.running{background-color:var(--success-bg);color:var(--success-colour);border:1px solid var(--success-border)}.tasksboard .task-status.error{background-color:var(--error-bg);color:var(--error-colour);border:1px solid var(--error-border)}.tasksboard .task-status.inactive{background-color:var(--bg-muted);color:var(--text-muted);border:1px solid var(--border-colour)}.tasksboard .task-module{background-color:var(--bg-muted);color:var(--text-muted);border-radius:3px;padding:2px 6px;font-size:.8em;display:inline-block}.tasksboard .task-last-run.success{color:var(--success-colour)}.tasksboard .task-last-run.error{color:var(--error-colour)}.tasksboard .task-last-run.warning{color:var(--warning-colour)}.tasksboard .task-last-run.running{color:var(--info-colour)}.tasksboard .task-last-run.never{color:var(--text-muted);font-style:italic}.tasksboard .task-timestamp{color:var(--text-muted);font-size:.9em}.masterPaneRow .task-item{grid-template-columns:1fr auto;gap:.5rem;display:grid}.masterPaneRow .task-item .task-info .task-name{margin-bottom:2px;font-weight:500}.masterPaneRow .task-item .task-info .task-id{color:var(--text-muted);margin-bottom:4px;font-size:.85em}.masterPaneRow .task-item .task-meta{text-align:right}.masterPaneRow .task-item .task-meta .task-module{margin-bottom:4px}.masterPaneRow .task-item .task-meta .task-processor,.masterPaneRow .task-item .task-meta .task-last-run-info{color:var(--text-muted);margin-top:2px;font-size:.8em}.fwkForm .task-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.fwkForm .task-header h1{color:var(--colour-text);margin:0}.fwkForm .task-header .status-field{min-width:180px}.fwkForm .task-field-group{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.fwkForm .task-field-group.single{grid-template-columns:1fr}.taskqueuesboard .queue-status{text-transform:uppercase;border-radius:4px;padding:4px 8px;font-size:.85em;font-weight:500;display:inline-block}.taskqueuesboard .queue-status.queued,.taskqueuesboard .queue-status.running{background-color:var(--info-bg);color:var(--info-colour);border:1px solid var(--info-border)}.taskqueuesboard .queue-status.success{background-color:var(--success-bg);color:var(--success-colour);border:1px solid var(--success-border)}.taskqueuesboard .queue-status.failure{background-color:var(--warning-bg);color:var(--warning-colour);border:1px solid var(--warning-border)}.taskqueuesboard .queue-status.failed{background-color:var(--error-bg);color:var(--error-colour);border:1px solid var(--error-border)}.taskqueuesboard .queue-status.cancelled{background-color:var(--bg-muted);color:var(--text-muted);border:1px solid var(--border-colour)}.taskqueuesboard .queue-priority{font-size:.9em;font-weight:600}.taskqueuesboard .queue-priority.high{color:var(--error-colour)}.taskqueuesboard .queue-priority.medium{color:var(--warning-colour)}.taskqueuesboard .queue-priority.low{color:var(--success-colour)}.taskqueuesboard .queue-duration{color:var(--text-muted);font-size:.9em}.taskqueuesboard .queue-duration.fast{color:var(--success-colour)}.taskqueuesboard .queue-duration.slow{color:var(--warning-colour)}.taskqueuesboard .queue-duration.very-slow{color:var(--error-colour)}.taskqueuesboard .queue-retry-info{font-size:.9em;font-weight:500}.taskqueuesboard .queue-retry-info.no-retries{color:var(--text-muted)}.taskqueuesboard .queue-retry-info.has-retries{color:var(--warning-colour)}.taskqueuesboard .queue-retry-info.max-retries{color:var(--error-colour)}.taskqueuesboard .record-stats{font-size:.85em}.taskqueuesboard .record-stats .success-count{color:var(--success-colour)}.taskqueuesboard .record-stats .error-count{color:var(--error-colour)}.taskqueuesboard .record-stats .total-count{color:var(--text-muted)}.taskqueuesboard .queue-timestamp{color:var(--text-muted);font-size:.9em}.taskqueuesboard .trigger-source{background-color:var(--bg-muted);color:var(--text-muted);border-radius:3px;padding:2px 6px;font-size:.8em;display:inline-block}.masterPaneRow .queue-item{grid-template-columns:1fr auto;gap:.5rem;display:grid}.masterPaneRow .queue-item .queue-info .task-id{margin-bottom:4px;font-weight:500}.masterPaneRow .queue-item .queue-info .queue-status-badge{margin-bottom:4px}.masterPaneRow .queue-item .queue-info .priority-info{color:var(--text-muted);margin-top:4px;font-size:.8em}.masterPaneRow .queue-item .queue-meta{text-align:right;color:var(--text-muted);font-size:.8em}.masterPaneRow .queue-item .queue-meta .meta-item{margin-bottom:2px}.masterPaneRow .queue-item .queue-meta .meta-item:last-child{margin-bottom:0}.masterPaneRow .queue-item .queue-meta .trigger-info,.masterPaneRow .queue-item .queue-meta .timing-info,.masterPaneRow .queue-item .queue-meta .duration-info,.masterPaneRow .queue-item .queue-meta .records-info{margin-top:2px}.fwkForm .queue-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.fwkForm .queue-header h1{color:var(--colour-text);margin:0}.fwkForm .queue-header .status-field{min-width:180px}.fwkForm .queue-field-group{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.fwkForm .queue-field-group.single{grid-template-columns:1fr}.fwkForm .execution-metrics .metric-item{border:1px solid var(--border-colour);background-color:var(--bg-muted);border-radius:.25rem;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.5rem;display:flex}.fwkForm .execution-metrics .metric-item .metric-label{color:var(--colour-text);font-weight:500}.fwkForm .execution-metrics .metric-item .metric-value{font-family:Monaco,Menlo,Consolas,monospace;font-size:.9em}.fwkForm .execution-metrics .metric-item .metric-value.success{color:var(--success-colour)}.fwkForm .execution-metrics .metric-item .metric-value.error{color:var(--error-colour)}.fwkForm .execution-metrics .metric-item .metric-value.neutral{color:var(--text-muted)}.fwkForm .read-only-field{background-color:var(--bg-muted);border:1px solid var(--border-colour);border-radius:.25rem;padding:.375rem .75rem}.fwkForm .read-only-field.empty{color:var(--text-muted);font-style:italic}.fwkForm .read-only-field.duration{font-family:Monaco,Menlo,Consolas,monospace;font-size:.9em}.fwkForm .read-only-field.timestamp{font-family:Monaco,Menlo,Consolas,monospace;font-size:.85em}.fwkForm .execution-details .result-field .field-content{white-space:pre-wrap;font-family:Monaco,Menlo,Consolas,monospace;font-size:.9em;line-height:1.4}.fwkForm .execution-details .result-field.success .field-content{color:var(--success-colour)}.fwkForm .execution-details .error-field .field-content{white-space:pre-wrap;color:var(--error-colour);background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:.25rem;padding:.5rem;font-family:Monaco,Menlo,Consolas,monospace;font-size:.9em;line-height:1.4}.queue-status.QUEUED{background-color:var(--info-bg);color:var(--info-colour)}.queue-status.RUNNING{background-color:var(--info-bg);color:var(--info-colour);animation:2s infinite pulse}.queue-status.SUCCESS{background-color:var(--success-bg);color:var(--success-colour)}.queue-status.FAILURE{background-color:var(--warning-bg);color:var(--warning-colour)}.queue-status.FAILED{background-color:var(--error-bg);color:var(--error-colour)}.queue-status.CANCELLED{background-color:var(--bg-muted);color:var(--text-muted)}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.manageSettings{height:100%;padding:24px;overflow-y:auto}.manageSettings .settingsHeader{border-bottom:2px solid var(--border-colour,#e5e7eb);margin-bottom:24px;padding-bottom:12px}.manageSettings .settingsHeader h1{color:var(--colour-text,#1f2937);margin:0;font-size:1.75rem;font-weight:600}.manageSettings .settingsContent{flex-direction:column;gap:32px;display:flex}.manageSettings .settingsPanelSection{background:var(--paper-colour-1,#fff);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.manageSettings .settingsPanelSection .settingsPanelHeader{align-items:center;gap:10px;margin-bottom:20px;display:flex}.manageSettings .settingsPanelSection .settingsPanelHeader .fa{color:var(--accent-colour,#3b82f6);font-size:1.25rem}.manageSettings .settingsPanelSection .settingsPanelHeader h2{color:var(--colour-text,#374151);margin:0;font-size:1.25rem;font-weight:600}.manageSettings .settingsPanelSection .settingsPanel{flex-wrap:wrap;gap:1em;display:flex}.manageSettings .settingsPanelDivider{display:none}.manageSettings .settings-groups{flex-direction:column;gap:20px;display:flex}.manageSettings .settings-group{background:var(--paper-colour-2,#f9fafb);border:1px solid var(--border-colour,#e5e7eb);border-radius:8px;padding:20px}.manageSettings .settings-group .settings-group-header{border-bottom:1px solid var(--border-colour,#e5e7eb);align-items:center;gap:10px;margin-bottom:16px;padding-bottom:10px;display:flex}.manageSettings .settings-group .settings-group-header i{color:var(--text-muted,#6b7280);font-size:1rem}.manageSettings .settings-group .settings-group-header h3{color:var(--colour-text,#1f2937);margin:0;font-size:1rem;font-weight:600}.manageSettings .settingField{margin-bottom:12px}.manageSettings .settingField.settingFieldBoolean{margin-bottom:16px}.manageSettings .settingField.settingFieldBoolean .settingBooleanRow{justify-content:space-between;align-items:center;gap:16px;display:flex}.manageSettings .settingField.settingFieldBoolean .settingBooleanText{flex:auto;min-width:0}.manageSettings .settingField.settingFieldBoolean .settingBooleanLabel{color:var(--colour-text,#374151);font-size:var(--textfield-label-font-size,.875rem);margin-bottom:3px;line-height:1.35}.manageSettings .settingField.settingFieldBoolean .fwkTextFieldX[type=checkbox]{flex:none;margin-left:12px}.manageSettings .settingField.settingFieldBoolean .settingDescription{margin-top:0}.manageSettings .settingField .settingDescription{color:var(--text-muted,#6b7280);margin-top:4px;font-size:.85rem;line-height:1.4}.manageSettings .settingField .settingError{color:var(--error-colour,#dc2626);margin-top:4px;font-size:.85rem}.manageSettings .settingField .settingSaving{color:var(--accent-colour,#3b82f6);margin-top:4px;font-size:.85rem}.manageSettings .settingField .settingRestart{color:var(--warning-colour,#d97706);background:var(--warning-bg,#fffbeb);border-left:3px solid var(--warning-colour,#d97706);border-radius:6px;margin-top:8px;padding:8px 12px;font-size:.85rem}.manageSettings .noSettings{text-align:center;color:var(--text-muted,#6b7280);padding:40px 20px;font-style:italic}#portalsboard .portal-favicon{border-radius:var(--radius-sm,4px);object-fit:contain;flex-shrink:0}#portalsboard .portal-favicon-placeholder{background:var(--gradient-accent,var(--accent-colour));color:var(--accent-text-colour,#fff);border-radius:var(--radius-sm,4px);justify-content:center;align-items:center;font-weight:700;display:flex}#portalsboard .portal-url{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:300px;font-size:.85em;overflow:hidden}#portalsboard .portal-detail-header{align-items:center;gap:16px;width:100%;padding-bottom:16px;display:flex}#portalsboard .portal-detail-header h1{flex:1;margin:0}#portalsboard .portal-detail-title{flex:1}#portalsboard .portal-detail-status{min-width:180px}#portalsboard .portal-status-info{background:var(--paper-colour-alt,var(--bg-overlay));border-radius:var(--radius-md,8px);padding:16px}#portalsboard .status-row{border-bottom:1px solid var(--border-light);padding:8px 0;display:flex}#portalsboard .status-row:last-child{border-bottom:none}#portalsboard .status-label{width:140px;color:var(--text-muted);font-weight:500}#portalsboard .status-value{flex:1}#portalsboard .check-status-ok{color:var(--success-colour);font-weight:500}#portalsboard .check-status-error{color:var(--error-colour);font-weight:500}#portalsboard .check-status-timeout{color:var(--warning-colour);font-weight:500}#portalsboard .check-status-unreachable{color:var(--error-colour);font-weight:500}#portalsboard .check-status-invalid_url{color:var(--text-muted);font-weight:500}#doctemplatesboard .timestampRow{color:var(--text-muted);align-items:center;gap:8px;margin:8px 0;font-size:.85em;display:flex}#doctemplatesboard .timestampRow .timestampLabel{color:var(--text-secondary);font-weight:500}#doctemplatesboard .timestampRow .timestampValue{margin-right:16px}#doctemplatesboard .template-status{text-align:center;border-radius:4px;min-width:60px;padding:4px 8px;font-size:.8em;font-weight:700;display:inline-block}#doctemplatesboard .template-status.active{background-color:var(--success-colour);color:var(--text-inverse)}#doctemplatesboard .template-status.inactive{background-color:var(--warning-colour);color:var(--colour-text)}#doctemplatesboard .template-status.draft{background-color:var(--info-colour);color:var(--text-inverse)}#doctemplatesboard .template-status.archived{background-color:var(--text-muted);color:var(--text-inverse)}#doctemplatesboard .template-category{background-color:var(--bg-muted);color:var(--colour-text);border:1px solid var(--border-colour);border-radius:3px;padding:2px 6px;font-size:.85em;display:inline-block}#doctemplatesboard .template-content{background-color:var(--bg-muted);border:1px solid var(--border-colour);white-space:pre-wrap;border-radius:4px;max-height:300px;padding:8px;font-family:Courier New,Consolas,monospace;overflow:auto}#doctemplatesboard .tabs .tabPanel,#doctemplatesboard .tabs .tabPanel .managedDiv{max-height:none!important;overflow:visible!important}#doctemplatesboard .textField.template textarea,#doctemplatesboard textarea.templateEditor{resize:vertical;min-height:400px;max-height:calc(100vh - 350px);overflow-y:auto!important}#doctemplatesboard .template-item-header{margin-bottom:4px;font-size:1.1em;font-weight:700}#doctemplatesboard .template-item-meta{align-items:center;gap:8px;margin-top:4px;display:flex}#doctemplatesboard .template-item-description{color:var(--text-muted);margin-top:4px;font-size:.9em}#doctemplatesboard .template-item-type{color:var(--text-muted);margin-top:2px;font-size:.8em}#doctemplatesboard .systemManagedBadge{background-color:var(--info-colour);color:var(--text-inverse);border-radius:3px;padding:2px 6px;font-size:.75em;display:inline-block}#doctemplatesboard .docTemplateListItem{justify-content:space-between;width:100%;padding:4px 0;display:flex}#doctemplatesboard .docTemplateListItem .docTemplateInfo{flex:1}#doctemplatesboard .docTemplateListItem .docTemplateName{align-items:center;display:flex}#doctemplatesboard .docTemplateListItem .docTemplateName .systemManagedIcon{color:var(--info-colour);margin-right:6px}#doctemplatesboard .docTemplateListItem .docTemplateMeta{flex-direction:column;align-items:flex-end;gap:4px;display:flex}#doctemplatesboard .docTemplateListItem.systemManaged .docTemplateName{font-weight:500}#doctemplatesboard .systemManagedBanner{background:var(--info-colour);color:var(--text-inverse);border-radius:4px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}#doctemplatesboard .systemManagedBanner i{opacity:.9;font-size:16px}#doctemplatesboard .systemManagedBanner span{flex:1}#doctemplatesboard .combinedTemplateEditor{padding:16px}#doctemplatesboard .combinedTemplateEditor .editorDescription{background:var(--bg-secondary,#f5f5f5);border-radius:4px;margin-bottom:20px;padding:12px;font-size:13px;line-height:1.5}#doctemplatesboard .combinedTemplateEditor .editorDescription p{margin:0}#doctemplatesboard .combinedTemplateEditor .loadingState{text-align:center;color:var(--text-muted,#666);padding:40px}#doctemplatesboard .combinedTemplateEditor .selectedTemplates,#doctemplatesboard .combinedTemplateEditor .availableTemplates{margin-bottom:20px}#doctemplatesboard .combinedTemplateEditor .selectedTemplates h4,#doctemplatesboard .combinedTemplateEditor .availableTemplates h4{color:var(--text-primary,#333);margin:0 0 12px;font-size:13px;font-weight:600}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .emptyState,#doctemplatesboard .combinedTemplateEditor .availableTemplates .emptyState{text-align:center;color:var(--text-muted,#666);background:var(--bg-secondary,#f5f5f5);border-radius:4px;padding:20px;font-size:13px}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateList,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateList{border:1px solid var(--border-colour,#ddd);border-radius:4px;overflow:hidden}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem{border-bottom:1px solid var(--border-colour,#eee);background:#fff;align-items:center;gap:12px;padding:10px 12px;display:flex}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem:last-child,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem:last-child{border-bottom:none}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem.available,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem.available{background:var(--bg-secondary,#fafafa)}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem .orderNum,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem .orderNum{background:var(--primary-colour,#007bff);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:flex}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem .templateName,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem .templateName{flex:1;font-size:13px}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem .templateType,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem .templateType{color:var(--text-muted,#666);background:var(--bg-muted,#e0e0e0);border-radius:3px;padding:2px 6px;font-size:11px}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem .actions,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem .actions{gap:4px;display:flex}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem .actions button,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem .actions button{border:1px solid var(--border-colour,#ddd);cursor:pointer;background:#fff;border-radius:3px;padding:4px 8px;font-size:12px}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem .actions button:hover:not(:disabled),#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem .actions button:hover:not(:disabled){background:var(--bg-secondary,#f0f0f0)}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem .actions button:disabled,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem .actions button:disabled{opacity:.4;cursor:not-allowed}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem .actions button.removeBtn,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem .actions button.removeBtn{color:var(--danger-colour,#dc3545);border-color:var(--danger-colour,#dc3545)}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem .actions button.removeBtn:hover,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem .actions button.removeBtn:hover{background:var(--danger-colour,#dc3545);color:#fff}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem .addBtn,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem .addBtn{background:var(--success-colour,#28a745);color:#fff;cursor:pointer;border:none;border-radius:3px;align-items:center;gap:4px;padding:4px 12px;font-size:12px;display:flex}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem .addBtn:hover,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem .addBtn:hover{background:#218838}#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateList{max-height:300px;overflow-y:auto}#doctemplatesboard .wordTemplateUpload{padding:16px}#doctemplatesboard .wordTemplateUpload .uploadDescription{background:var(--bg-secondary,#f5f5f5);border-radius:4px;margin-bottom:20px;padding:12px;font-size:13px;line-height:1.5}#doctemplatesboard .wordTemplateUpload .uploadDescription p{margin:0 0 8px}#doctemplatesboard .wordTemplateUpload .uploadDescription p:last-child{margin-bottom:0}#doctemplatesboard .wordTemplateUpload .uploadDescription code{background:var(--bg-muted,#e0e0e0);border-radius:3px;padding:2px 6px;font-family:Courier New,Consolas,monospace;font-size:12px}#doctemplatesboard .wordTemplateUpload .uploadDescription em{color:var(--text-muted,#666)}#doctemplatesboard .wordTemplateUpload .dropZone{border:2px dashed var(--border-colour,#ccc);background:var(--bg-secondary,#fafafa);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:40px 20px;transition:all .2s;display:flex}#doctemplatesboard .wordTemplateUpload .dropZone.dragOver{border-color:var(--primary-colour,#2b579a);background:#2b579a0d}#doctemplatesboard .wordTemplateUpload .dropZone.disabled{opacity:.6;cursor:not-allowed}#doctemplatesboard .wordTemplateUpload .dropZone i{color:#2b579a;opacity:.6;margin-bottom:16px;font-size:48px}#doctemplatesboard .wordTemplateUpload .dropZone p{color:var(--text-muted,#666);margin:0;font-size:14px}#doctemplatesboard .wordTemplateUpload .dropZone .orText{text-transform:uppercase;margin:12px 0;font-size:12px}#doctemplatesboard .wordTemplateUpload .dropZone .uploadBtn{color:#fff;cursor:pointer;background:#2b579a;border:none;border-radius:4px;align-items:center;padding:8px 16px;font-size:13px;font-weight:500;transition:background .2s;display:inline-flex}#doctemplatesboard .wordTemplateUpload .dropZone .uploadBtn:hover{background:#1e3f6f}#doctemplatesboard .wordTemplateUpload .templateAttached{background:#e8f4ea;border:1px solid #c3e6c9;border-radius:8px;justify-content:space-between;align-items:center;padding:20px;display:flex}#doctemplatesboard .wordTemplateUpload .templateAttached .templateInfo{align-items:center;gap:12px;display:flex}#doctemplatesboard .wordTemplateUpload .templateAttached .templateInfo>i{color:#2b579a;font-size:32px}#doctemplatesboard .wordTemplateUpload .templateAttached .templateInfo span{font-size:14px;font-weight:500}#doctemplatesboard .wordTemplateUpload .templateAttached .templateInfo .templateSize{color:var(--text-muted,#666);font-size:12px;font-weight:400}#doctemplatesboard .wordTemplateUpload .templateAttached .toolBar{background:0 0;border:none;padding:0}#doctemplatesboard .wordTemplateUpload .extractingStatus{color:#1565c0;background:#e3f2fd;border:1px solid #90caf9;border-radius:4px;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;font-size:13px;display:flex}#doctemplatesboard .wordTemplateUpload .extractingStatus i{color:#1976d2}#doctemplatesboard .wordTemplateUpload .extractError{color:#c62828;background:#ffebee;border:1px solid #ffcdd2;border-radius:4px;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;font-size:13px;display:flex}#doctemplatesboard .wordTemplateUpload .extractError i{color:#c62828}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor{background:var(--bg-secondary,#f5f5f5);border:1px solid var(--border-colour,#ddd);border-radius:8px;margin-top:20px;padding:16px}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingHeader{margin-bottom:16px}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingHeader h4{margin:0 0 8px;font-size:14px;font-weight:600}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingHeader .mappingDescription{color:var(--text-muted,#666);margin:0;font-size:12px}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingHeader .mappingDescription code{background:var(--bg-muted,#e0e0e0);border-radius:3px;padding:2px 6px;font-family:Courier New,Consolas,monospace;font-size:11px}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable{border:1px solid var(--border-colour,#ddd);background:#fff;border-radius:4px;overflow:hidden}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingTableHeader{background:var(--bg-muted,#e9ecef);color:var(--text-secondary,#666);border-bottom:1px solid var(--border-colour,#ddd);grid-template-columns:1fr 1fr 40px;gap:8px;padding:10px 12px;font-size:12px;font-weight:600;display:grid}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingRow{border-bottom:1px solid var(--border-colour,#eee);grid-template-columns:1fr 1fr 40px;gap:8px;padding:8px 12px;display:grid}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingRow:last-child{border-bottom:none}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingRow input{border:1px solid var(--border-colour,#ddd);border-radius:4px;padding:6px 10px;font-family:Courier New,Consolas,monospace;font-size:13px}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingRow input:focus{border-color:var(--primary-colour,#007bff);outline:none}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingRow input:disabled{background:var(--bg-secondary,#f5f5f5);color:var(--text-muted,#666)}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingRow .removeBtn{border:1px solid var(--danger-colour,#dc3545);width:32px;height:32px;color:var(--danger-colour,#dc3545);cursor:pointer;background:#fff;border-radius:4px;justify-content:center;align-items:center;padding:0;display:flex}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingRow .removeBtn:hover{background:var(--danger-colour,#dc3545);color:#fff}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .emptyMapping{text-align:center;color:var(--text-muted,#666);padding:20px;font-size:13px}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .addMappingBtn{background:var(--success-colour,#28a745);color:#fff;cursor:pointer;border:none;border-radius:4px;align-items:center;gap:6px;margin-top:12px;padding:8px 16px;font-size:13px;display:inline-flex}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .addMappingBtn:hover{background:#218838}#doctemplatesboard .templatePreview{flex-direction:column;height:calc(100vh - 400px);min-height:400px;display:flex}#doctemplatesboard .templatePreview .previewHeader{background:var(--bg-secondary,#f5f5f5);border:1px solid var(--border-colour,#ddd);color:var(--text-secondary,#666);border-bottom:none;border-radius:4px 4px 0 0;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}#doctemplatesboard .templatePreview .previewHeader .icon{color:var(--primary-colour,#007bff)}#doctemplatesboard .templatePreview .previewHeader .previewNote{color:var(--text-muted,#999);margin-left:auto;font-size:11px;font-style:italic}#doctemplatesboard .templatePreview .previewFrame{border:1px solid var(--border-colour,#ddd);background:#fff;border-radius:0 0 4px 4px;flex:1;width:100%}#doctemplatesboard .sampleDataEditor{padding:16px}#doctemplatesboard .sampleDataEditor .editorDescription{background:var(--bg-secondary,#f5f5f5);border-radius:4px;margin-bottom:16px;padding:12px;font-size:13px;line-height:1.5}#doctemplatesboard .sampleDataEditor .editorDescription p{margin:0 0 8px}#doctemplatesboard .sampleDataEditor .editorDescription p:last-child{margin-bottom:0}#doctemplatesboard .sampleDataEditor .editorDescription p.hint{color:var(--text-muted,#666);font-size:12px;font-style:italic}#doctemplatesboard .sampleDataEditor .jsonEditorToolbar{gap:8px;margin-bottom:12px;display:flex}#doctemplatesboard .sampleDataEditor .jsonEditorToolbar button{cursor:pointer;border:none;border-radius:4px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;transition:background .2s;display:inline-flex}#doctemplatesboard .sampleDataEditor .jsonEditorToolbar button:disabled{opacity:.5;cursor:not-allowed}#doctemplatesboard .sampleDataEditor .jsonEditorToolbar .formatBtn{background:var(--bg-secondary,#e9ecef);color:var(--text-primary,#333);border:1px solid var(--border-colour,#ddd)}#doctemplatesboard .sampleDataEditor .jsonEditorToolbar .formatBtn:hover:not(:disabled){background:var(--bg-muted,#dee2e6)}#doctemplatesboard .sampleDataEditor .jsonEditorToolbar .testBtn{background:var(--success-colour,#28a745);color:#fff}#doctemplatesboard .sampleDataEditor .jsonEditorToolbar .testBtn:hover:not(:disabled){background:#218838}#doctemplatesboard .sampleDataEditor .jsonError,#doctemplatesboard .sampleDataEditor .testResult{border-radius:4px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}#doctemplatesboard .sampleDataEditor .jsonError i,#doctemplatesboard .sampleDataEditor .testResult i{flex-shrink:0}#doctemplatesboard .sampleDataEditor .jsonError,#doctemplatesboard .sampleDataEditor .testResult.error{color:#c62828;background:#ffebee;border:1px solid #ffcdd2}#doctemplatesboard .sampleDataEditor .testResult.success{color:#2e7d32;background:#e8f5e9;border:1px solid #c8e6c9}#doctemplatesboard .sampleDataEditor .jsonEditor textarea{border:1px solid var(--border-colour,#ddd);resize:vertical;tab-size:2;background:#fff;border-radius:4px;width:100%;min-height:400px;padding:12px;font-family:Courier New,Consolas,Monaco,monospace;font-size:13px;line-height:1.5}#doctemplatesboard .sampleDataEditor .jsonEditor textarea:focus{border-color:var(--primary-colour,#007bff);outline:none;box-shadow:0 0 0 2px #007bff1a}#doctemplatesboard .sampleDataEditor .jsonEditor textarea:disabled{background:var(--bg-secondary,#f5f5f5);color:var(--text-muted,#666)}#doctemplatesboard .sampleDataEditor .jsonEditor textarea::placeholder{color:var(--text-muted,#999);opacity:.7}#doctemplatesboard .templatePreviewPdf{flex-direction:column;height:calc(100vh - 400px);min-height:500px;display:flex}#doctemplatesboard .templatePreviewPdf .previewNote{background:var(--info-bg,#e3f2fd);border:1px solid var(--info-colour,#2196f3);color:var(--info-colour,#1976d2);border-radius:4px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;font-size:.9em;display:flex}#doctemplatesboard .templatePreviewPdf .previewNote .fwkIcon{font-size:1.1em}#doctemplatesboard .templatePreviewPdf .fwkTextFieldX[type=file]{flex:1;height:100%}#doctemplatesboard .templatePreviewPdf .fwkTextFieldX[type=file] .fileInputContainer .content{height:100%}#doctemplatesboard .templatePreviewPdf .fwkTextFieldX[type=file] .fileInputContainer .content:has(.nativePdfViewer){min-height:500px}#doctemplatesboard .templatePreviewEmpty{background:var(--bg-secondary,#f5f5f5);border:1px solid var(--border-colour,#ddd);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:60px 20px;display:flex}#doctemplatesboard .templatePreviewEmpty .icon{color:var(--text-muted,#999);opacity:.5;margin-bottom:16px;font-size:48px}#doctemplatesboard .templatePreviewEmpty p{color:var(--text-muted,#666);text-align:center;margin:0;font-size:14px}#doctemplatesboard .templatePreviewEmpty p.hint{color:var(--text-muted,#999);margin-top:8px;font-size:12px}#doctemplatesboard .templatePreviewReact{border:1px solid var(--border-colour,#ddd);background:#fff;border-radius:4px;min-height:300px;overflow:auto}#doctemplatesboard .pdfTemplateUpload{padding:16px}#doctemplatesboard .pdfTemplateUpload .uploadDescription{background:var(--bg-secondary,#f5f5f5);border-radius:4px;margin-bottom:20px;padding:12px;font-size:13px;line-height:1.5}#doctemplatesboard .pdfTemplateUpload .uploadDescription p{margin:0 0 8px}#doctemplatesboard .pdfTemplateUpload .uploadDescription p:last-child{margin-bottom:0}#doctemplatesboard .pdfTemplateUpload .dropZone{border:2px dashed var(--border-colour,#ccc);background:var(--bg-secondary,#fafafa);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:150px;margin-bottom:20px;padding:40px 20px;transition:all .2s;display:flex}#doctemplatesboard .pdfTemplateUpload .dropZone.dragOver{background:#dc35450d;border-color:#dc3545}#doctemplatesboard .pdfTemplateUpload .dropZone.disabled{opacity:.6;cursor:not-allowed}#doctemplatesboard .pdfTemplateUpload .dropZone i{color:#dc3545;opacity:.6;margin-bottom:16px;font-size:48px}#doctemplatesboard .pdfTemplateUpload .dropZone p{color:var(--text-muted,#666);margin:0;font-size:14px}#doctemplatesboard .pdfTemplateUpload .dropZone .orText{text-transform:uppercase;margin:12px 0;font-size:12px}#doctemplatesboard .pdfTemplateUpload .dropZone .uploadBtn{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:4px;align-items:center;padding:8px 16px;font-size:13px;font-weight:500;transition:background .2s;display:inline-flex}#doctemplatesboard .pdfTemplateUpload .dropZone .uploadBtn:hover{background:#c82333}#doctemplatesboard .pdfTemplateUpload .templateAttached{background:#fce4e4;border:1px solid #f5c6cb;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:20px;display:flex}#doctemplatesboard .pdfTemplateUpload .templateAttached .templateInfo{align-items:center;gap:12px;display:flex}#doctemplatesboard .pdfTemplateUpload .templateAttached .templateInfo>i{color:#dc3545;font-size:32px}#doctemplatesboard .pdfTemplateUpload .templateAttached .templateInfo span{font-size:14px;font-weight:500}#doctemplatesboard .pdfTemplateUpload .templateAttached .templateInfo .templateSize{color:var(--text-muted,#666);font-size:12px;font-weight:400}#doctemplatesboard .pdfTemplateUpload .templateAttached .toolBar{background:0 0;border:none;padding:0}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor{background:var(--bg-secondary,#f5f5f5);border:1px solid var(--border-colour,#ddd);border-radius:8px;margin-top:20px;padding:16px}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingHeader{margin-bottom:16px}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingHeader h4{margin:0 0 8px;font-size:14px;font-weight:600}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingHeader .mappingDescription{color:var(--text-muted,#666);margin:0;font-size:12px}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingHeader .mappingDescription code{background:var(--bg-muted,#e0e0e0);border-radius:3px;padding:2px 6px;font-family:Courier New,Consolas,monospace;font-size:11px}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingHeader .extractingStatus{color:#1976d2;background:#e3f2fd;border-radius:4px;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;font-size:12px;display:flex}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingHeader .extractingStatus i{color:#1976d2}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingHeader .extractError{color:#c62828;background:#ffebee;border-radius:4px;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;font-size:12px;display:flex}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingHeader .extractError i{color:#c62828}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable{border:1px solid var(--border-colour,#ddd);background:#fff;border-radius:4px;overflow:hidden}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingTableHeader{background:var(--bg-muted,#e9ecef);color:var(--text-secondary,#666);border-bottom:1px solid var(--border-colour,#ddd);grid-template-columns:1fr 1fr 40px;gap:8px;padding:10px 12px;font-size:12px;font-weight:600;display:grid}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingRow{border-bottom:1px solid var(--border-colour,#eee);grid-template-columns:1fr 1fr 40px;gap:8px;padding:8px 12px;display:grid}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingRow:last-child{border-bottom:none}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingRow input{border:1px solid var(--border-colour,#ddd);border-radius:4px;padding:6px 10px;font-family:Courier New,Consolas,monospace;font-size:13px}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingRow input:focus{border-color:var(--primary-colour,#007bff);outline:none}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingRow input:disabled{background:var(--bg-secondary,#f5f5f5);color:var(--text-muted,#666)}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingRow .removeBtn{border:1px solid var(--danger-colour,#dc3545);width:32px;height:32px;color:var(--danger-colour,#dc3545);cursor:pointer;background:#fff;border-radius:4px;justify-content:center;align-items:center;padding:0;display:flex}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingRow .removeBtn:hover{background:var(--danger-colour,#dc3545);color:#fff}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .emptyMapping{text-align:center;color:var(--text-muted,#666);padding:20px;font-size:13px}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .addMappingBtn{background:var(--success-colour,#28a745);color:#fff;cursor:pointer;border:none;border-radius:4px;align-items:center;gap:6px;margin-top:12px;padding:8px 16px;font-size:13px;display:inline-flex}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .addMappingBtn:hover{background:#218838}#doctemplatesboard .reactTemplateSelector{padding:16px}#doctemplatesboard .reactTemplateSelector .selectorDescription{background:var(--bg-secondary,#f5f5f5);border-radius:4px;margin-bottom:20px;padding:12px;font-size:13px;line-height:1.5}#doctemplatesboard .reactTemplateSelector .selectorDescription p{margin:0}#doctemplatesboard .reactTemplateSelector .emptyState{background:var(--bg-secondary,#fafafa);border:1px dashed var(--border-colour,#ccc);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}#doctemplatesboard .reactTemplateSelector .emptyState .icon{color:var(--text-muted,#999);opacity:.5;margin-bottom:16px;font-size:48px}#doctemplatesboard .reactTemplateSelector .emptyState p{color:var(--text-muted,#666);margin:0;font-size:14px}#doctemplatesboard .reactTemplateSelector .emptyState p.hint{color:var(--text-muted,#999);margin-top:8px;font-size:12px}#doctemplatesboard .reactTemplateSelector .rendererList .componentPreview{border:1px solid var(--border-colour,#ddd);border-radius:4px;margin-top:16px;overflow:hidden}#doctemplatesboard .reactTemplateSelector .rendererList .componentPreview .previewHeader{background:var(--bg-secondary,#f5f5f5);border-bottom:1px solid var(--border-colour,#ddd);color:var(--text-secondary,#666);align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}#doctemplatesboard .reactTemplateSelector .rendererList .componentPreview .previewHeader .icon{color:var(--primary-colour,#007bff)}#doctemplatesboard .reactTemplateSelector .rendererList .componentPreview .previewContent{background:#fff;min-height:200px;max-height:500px;padding:16px;overflow:auto}#choicesboard .masterIcon{align-content:end;font-size:1.5em}#choicesboard .detailIcon{align-content:end;font-size:40px}#choicesboard .align-bottom{align-items:flex-end}#choicesboard .icon-preview{align-items:center;min-height:40px;padding:8px;display:flex}.docs-viewer{background:var(--bg-primary,#f5f5f5);flex-direction:column;height:100%;min-height:calc(100vh - 120px);padding:20px;display:flex}.docs-viewer .docs-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.docs-viewer .docs-header h2{color:var(--text-primary,#333);margin:0}.docs-viewer .docs-header .docs-info{color:var(--text-secondary,#666);font-size:14px}.docs-viewer .docs-container{flex:1;gap:20px;min-height:0;display:flex}.docs-viewer .docs-sidebar{background:var(--bg-secondary,white);border-radius:8px;flex-direction:column;width:320px;min-width:280px;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001a}.docs-viewer .docs-sidebar .sidebar-header{border-bottom:1px solid var(--border-color,#eee);justify-content:space-between;align-items:center;padding:16px;display:flex}.docs-viewer .docs-sidebar .sidebar-header h3{text-transform:uppercase;color:var(--text-secondary,#666);letter-spacing:.5px;margin:0;font-size:14px}.docs-viewer .docs-sidebar .search-box{background:var(--bg-tertiary,#f5f5f5);border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;margin:8px;padding:8px 12px;transition:border-color .2s,background .2s;display:flex}.docs-viewer .docs-sidebar .search-box:focus-within{background:var(--bg-secondary,white);border-color:var(--accent-color,#4a90d9)}.docs-viewer .docs-sidebar .search-box i{color:var(--text-secondary,#999);flex-shrink:0}.docs-viewer .docs-sidebar .search-box input{color:var(--text-primary,#333);background:0 0;border:none;outline:none;flex:1;font-size:13px}.docs-viewer .docs-sidebar .search-box input::placeholder{color:var(--text-secondary,#999)}.docs-viewer .docs-sidebar .search-box .btn-clear{cursor:pointer;color:var(--text-secondary,#999);background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:flex}.docs-viewer .docs-sidebar .search-box .btn-clear:hover{color:var(--text-primary,#333)}.docs-viewer .docs-sidebar .no-docs{text-align:center;color:var(--text-secondary,#666);padding:20px}.docs-viewer .docs-sidebar .docs-list{flex:1;margin:0;padding:8px;list-style:none;overflow-y:auto}.docs-viewer .docs-sidebar .docs-list .doc-item{cursor:pointer;border-radius:6px;align-items:center;gap:10px;margin-bottom:4px;padding:10px 12px;transition:background .2s;display:flex}.docs-viewer .docs-sidebar .docs-list .doc-item:hover{background:var(--bg-hover,#f5f5f5)}.docs-viewer .docs-sidebar .docs-list .doc-item.selected{background:var(--accent-light,#e8f0fa);border-left:3px solid var(--accent-color,#4a90d9);padding-left:9px}.docs-viewer .docs-sidebar .docs-list .doc-item .doc-ref{color:var(--accent-color,#4a90d9);background:var(--accent-light,#e8f0fa);text-align:center;border-radius:4px;flex-shrink:0;min-width:60px;padding:3px 6px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:10px;font-weight:600}.docs-viewer .docs-sidebar .docs-list .doc-item .doc-info{flex:1;align-items:flex-start;gap:10px;display:flex;overflow:hidden}.docs-viewer .docs-sidebar .docs-list .doc-item .doc-info .doc-details{flex-direction:column;width:100%;display:flex;overflow:hidden}.docs-viewer .docs-sidebar .docs-list .doc-item .doc-info .doc-details .doc-title{color:var(--text-primary,#333);margin-bottom:4px;font-size:13px;font-weight:500}.docs-viewer .docs-sidebar .docs-list .doc-item .doc-info .doc-details .doc-meta-line{align-items:center;gap:8px;font-size:11px;display:flex}.docs-viewer .docs-sidebar .docs-list .doc-item .doc-info .doc-details .doc-meta-line .doc-folder{text-transform:uppercase;color:var(--text-secondary,#666);background:var(--bg-tertiary,#e8e8e8);letter-spacing:.3px;border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:600}.docs-viewer .docs-sidebar .docs-list .doc-item .doc-info .doc-details .doc-meta-line .doc-name{color:var(--text-secondary,#999);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.docs-viewer .docs-sidebar .docs-list .doc-item .doc-info .doc-details .doc-meta-line .doc-size{color:var(--text-secondary,#999);flex-shrink:0;margin-left:auto}.docs-viewer .docs-content{background:var(--bg-secondary,white);border-radius:8px;flex-direction:column;flex:1;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001a}.docs-viewer .docs-content .content-header{border-bottom:1px solid var(--border-color,#eee);align-items:flex-start;gap:16px;padding:16px 20px;display:flex}.docs-viewer .docs-content .content-header .doc-ref-badge{color:#fff;background:var(--accent-color,#4a90d9);border-radius:6px;flex-shrink:0;padding:6px 10px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;font-weight:600}.docs-viewer .docs-content .content-header .doc-title h3{color:var(--text-primary,#333);margin:0 0 4px}.docs-viewer .docs-content .content-header .doc-title .doc-meta-row{align-items:center;gap:8px;display:flex}.docs-viewer .docs-content .content-header .doc-title .doc-folder-badge{text-transform:uppercase;color:#fff;background:var(--text-secondary,#666);letter-spacing:.3px;border-radius:3px;padding:2px 8px;font-size:10px;font-weight:600}.docs-viewer .docs-content .content-header .doc-title .doc-path{color:var(--text-secondary,#999);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px}.docs-viewer .docs-content .content-body{flex:1;min-height:0;padding:20px;overflow:auto}.docs-viewer .docs-content .content-body .markdown-input-container.locked{position:static}.docs-viewer .docs-content .content-body .markdown-input-container.locked .markdown-content{background:0 0;border:none;border-radius:0;height:auto;padding:0;position:static;overflow:visible}.docs-viewer .docs-content .content-body .markdown-input-container.locked .markdown-content h1{font-size:2em}.docs-viewer .docs-content .content-body .markdown-input-container.locked .markdown-content h2{font-size:1.5em}.docs-viewer .docs-content .content-body .markdown-input-container.locked .markdown-content pre{border-radius:8px;padding:16px}.docs-viewer .docs-content .content-body .markdown-input-container.locked .markdown-content img{border-radius:8px}.docs-viewer .docs-content .no-selection{color:var(--text-secondary,#999);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.docs-viewer .docs-content .no-selection i{opacity:.5;margin-bottom:16px;font-size:48px}.docs-viewer .docs-content .no-selection p{margin:4px 0;font-size:16px}.db-viewer{max-width:1200px;margin:0 auto;padding:20px}.db-viewer .header{border-bottom:2px solid var(--border-colour);justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;display:flex}.db-viewer .header h2{color:var(--colour-text);margin:0;font-size:24px}.db-viewer .header .last-update{color:var(--text-muted);font-size:12px;font-style:italic}.db-viewer .loading{height:200px;color:var(--text-muted);justify-content:center;align-items:center;font-size:18px;display:flex}.db-viewer .error-message{background-color:var(--error-bg);color:var(--error-colour);border-left:4px solid var(--error-colour);border-radius:4px;margin-bottom:20px;padding:12px}.db-viewer .status-section{background:var(--bg-muted);border-radius:8px;margin-bottom:30px;padding:20px}.db-viewer .status-section h3{color:var(--colour-text);border-bottom:1px solid var(--border-colour);margin:0 0 15px;padding-bottom:8px;font-size:18px}.db-viewer .status-section .status-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;display:grid}.db-viewer .status-section .status-grid .stat-item{align-items:center;gap:10px;display:flex}.db-viewer .status-section .status-grid .stat-item label{color:var(--text-muted);min-width:140px;font-weight:600}.db-viewer .status-section .status-grid .stat-item span{color:var(--colour-text)}.db-viewer .status-section .status-grid .stat-item .mono{background:var(--paper-colour);word-break:break-all;border-radius:3px;padding:2px 6px;font-family:monospace;font-size:12px}.db-viewer .pool-status-header{align-items:center;gap:12px;margin-bottom:15px;display:flex}.db-viewer .pool-status-header .status-light{border-radius:50%;width:12px;height:12px}.db-viewer .pool-status-header .status-light.healthy{background-color:var(--success-colour);box-shadow:0 0 8px #4caf5080}.db-viewer .pool-status-header .status-light.warning{background-color:var(--warning-colour);box-shadow:0 0 8px #ff980080}.db-viewer .pool-status-header .status-light.critical{background-color:var(--error-colour);box-shadow:0 0 8px #f4433680}.db-viewer .pool-status-header .status-text{text-transform:uppercase;font-size:14px;font-weight:600}.db-viewer .pool-status-header .status-text.healthy{color:var(--success-colour)}.db-viewer .pool-status-header .status-text.warning{color:var(--warning-colour)}.db-viewer .pool-status-header .status-text.critical{color:var(--error-colour)}.db-viewer .utilization-bar-container{margin-bottom:15px}.db-viewer .utilization-bar-container .utilization-label{color:var(--text-muted);justify-content:space-between;margin-bottom:4px;font-size:13px;display:flex}.db-viewer .utilization-bar-container .utilization-bar{background:var(--paper-colour);border:1px solid var(--border-colour);border-radius:10px;height:20px;overflow:hidden}.db-viewer .utilization-bar-container .utilization-bar .utilization-fill{border-radius:10px;height:100%;transition:width .5s}.db-viewer .utilization-bar-container .utilization-bar .utilization-fill.low{background-color:var(--success-colour)}.db-viewer .utilization-bar-container .utilization-bar .utilization-fill.medium{background-color:var(--warning-colour)}.db-viewer .utilization-bar-container .utilization-bar .utilization-fill.high{background-color:var(--error-colour)}.db-viewer .entity-table{border-collapse:collapse;width:100%}.db-viewer .entity-table th,.db-viewer .entity-table td{text-align:left;border-bottom:1px solid var(--border-colour);padding:8px 12px}.db-viewer .entity-table th{color:var(--text-muted);text-transform:uppercase;background:var(--paper-colour);font-size:12px;font-weight:600}.db-viewer .entity-table td{color:var(--colour-text);font-size:13px}.db-viewer .entity-table td.mono{font-family:monospace;font-size:12px}.db-viewer .entity-table tr:hover td{background:var(--paper-colour)}@media (width<=768px){.db-viewer{padding:15px}.db-viewer .status-section .status-grid{grid-template-columns:1fr}.db-viewer .entity-table{font-size:12px}.db-viewer .entity-table th,.db-viewer .entity-table td{padding:6px 8px}}.batching-stats.loading,.batching-stats.error{text-align:center;color:var(--text-muted);padding:32px}.batching-stats .batching-stats-header{justify-content:flex-end;align-items:center;margin-bottom:20px;display:flex}.batching-stats .batching-stats-header .batching-stats-actions{gap:8px;display:flex}.batching-stats .batching-stats-header .batching-stats-actions .btn{cursor:pointer;border:none;border-radius:4px;padding:4px 12px;font-size:12px;transition:background-color .2s}.batching-stats .batching-stats-header .batching-stats-actions .btn.btn-secondary{background-color:var(--text-muted);color:var(--text-inverse)}.batching-stats .batching-stats-header .batching-stats-actions .btn.btn-secondary:hover{opacity:.85}.batching-stats .batching-stats-header .batching-stats-actions .btn.btn-warning{background-color:var(--warning-colour);color:var(--colour-text)}.batching-stats .batching-stats-header .batching-stats-actions .btn.btn-warning:hover{opacity:.85}.batching-stats .batching-stats-header .batching-stats-actions .btn.btn-danger{background-color:var(--error-colour);color:var(--text-inverse)}.batching-stats .batching-stats-header .batching-stats-actions .btn.btn-danger:hover{opacity:.85}.batching-stats .batching-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px;display:grid}.batching-stats .batching-stats-grid .stat-card{background:var(--bg-muted);border:1px solid var(--border-colour);text-align:center;border-radius:8px;padding:16px;transition:box-shadow .2s}.batching-stats .batching-stats-grid .stat-card:hover{box-shadow:0 2px 8px #0000001a}.batching-stats .batching-stats-grid .stat-card.efficiency{background:var(--info-bg)}.batching-stats .batching-stats-grid .stat-card .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:500}.batching-stats .batching-stats-grid .stat-card .stat-value{color:var(--colour-text);font-size:24px;font-weight:700}.batching-stats .batching-stats-grid .stat-card .stat-value.pending-count,.batching-stats .batching-stats-grid .stat-card .stat-value.pending-count[data-value="0"]{color:var(--success-colour)}.batching-stats .last-update{text-align:right;color:var(--text-muted);font-size:11px;font-style:italic}@media (width<=768px){.batching-stats .batching-stats-header{flex-direction:column;align-items:flex-start;gap:12px}.batching-stats .batching-stats-header .batching-stats-actions{justify-content:flex-end;align-self:stretch}.batching-stats .batching-stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.batching-stats .batching-stats-grid .stat-card{padding:12px}.batching-stats .batching-stats-grid .stat-card .stat-value{font-size:20px}}.connection-pool-stats{background:var(--bg-muted);border:1px solid var(--border-colour);border-radius:8px;margin:8px 0;padding:16px}.connection-pool-stats.loading,.connection-pool-stats.error{text-align:center;color:var(--text-muted);padding:20px}.connection-pool-stats.error{background:var(--error-bg);color:var(--error-colour);border-color:var(--error-border)}.connection-pool-stats .stats-header{border-bottom:1px solid var(--border-colour);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:8px;display:flex}.connection-pool-stats .stats-header h4{color:var(--colour-text);margin:0;font-size:1.1rem}.connection-pool-stats .stats-header .health-status{text-transform:uppercase;border-radius:12px;padding:4px 12px;font-size:.85rem;font-weight:600}.connection-pool-stats .stats-header .health-status.status-healthy{background:var(--success-bg);color:var(--success-colour);border:1px solid var(--success-border)}.connection-pool-stats .stats-header .health-status.status-warning{background:var(--warning-bg);color:var(--warning-colour);border:1px solid var(--warning-border)}.connection-pool-stats .stats-header .health-status.status-critical{background:var(--error-bg);color:var(--error-colour);border:1px solid var(--error-border)}.connection-pool-stats .stats-header .health-status.status-error{background:var(--bg-muted);color:var(--text-muted);border:1px solid var(--border-colour)}.connection-pool-stats .stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px;display:grid}.connection-pool-stats .stats-grid .stat-item{background:var(--paper-colour);border:1px solid var(--border-muted);border-radius:4px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.connection-pool-stats .stats-grid .stat-item label{color:var(--text-muted);font-size:.9rem;font-weight:500}.connection-pool-stats .stats-grid .stat-item .stat-value{color:var(--colour-text);font-weight:600}.connection-pool-stats .stats-grid .stat-item .stat-value.stat-critical{color:var(--error-colour)}.connection-pool-stats .stats-grid .stat-item .stat-value.stat-normal,.connection-pool-stats .stats-grid .stat-item .stat-value.utilization-normal{color:var(--success-colour)}.connection-pool-stats .stats-grid .stat-item .stat-value.utilization-warning{color:var(--warning-colour)}.connection-pool-stats .stats-grid .stat-item .stat-value.utilization-critical{color:var(--error-colour)}.connection-pool-stats .stats-grid .stat-item .stat-value-large{color:var(--colour-text);font-size:1.2rem;font-weight:700}.connection-pool-stats .stats-grid .stat-item .stat-value-large .stat-max{color:var(--text-muted);font-size:.9rem;font-weight:500}.connection-pool-stats .utilization-bar{background:var(--bg-muted);border-radius:3px;width:60px;height:6px;margin-left:8px;overflow:hidden}.connection-pool-stats .utilization-bar .utilization-fill{border-radius:3px;height:100%;transition:width .3s}.connection-pool-stats .utilization-bar .utilization-fill.utilization-normal{background:var(--success-colour)}.connection-pool-stats .utilization-bar .utilization-fill.utilization-warning{background:var(--warning-colour)}.connection-pool-stats .utilization-bar .utilization-fill.utilization-critical{background:var(--error-colour)}.connection-pool-stats .connection-breakdown{background:var(--paper-colour);border:1px solid var(--border-muted);border-radius:6px;justify-content:space-around;margin:16px 0;padding:12px;display:flex}.connection-pool-stats .connection-breakdown .breakdown-item{text-align:center;flex:1}.connection-pool-stats .connection-breakdown .breakdown-item .breakdown-label{color:var(--text-muted);text-transform:uppercase;margin-bottom:4px;font-size:.8rem}.connection-pool-stats .connection-breakdown .breakdown-item .breakdown-value{font-size:1.4rem;font-weight:700}.connection-pool-stats .connection-breakdown .breakdown-item.leased .breakdown-value{color:var(--error-colour)}.connection-pool-stats .connection-breakdown .breakdown-item.available .breakdown-value{color:var(--success-colour)}.connection-pool-stats .connection-breakdown .breakdown-item.pending .breakdown-value{color:var(--warning-colour)}.connection-pool-stats .pool-warning{background:var(--warning-bg);color:var(--warning-colour);border:1px solid var(--warning-border);border-radius:4px;margin:8px 0;padding:8px 12px;font-size:.9rem}.connection-pool-stats .stats-footer{border-top:1px solid var(--border-muted);text-align:center;margin-top:12px;padding-top:8px}.connection-pool-stats .stats-footer small{color:var(--text-muted);font-size:.8rem}@media (width<=768px){.connection-pool-stats .stats-grid{grid-template-columns:1fr}.connection-pool-stats .connection-breakdown{flex-direction:column;gap:8px}}.connection-viewer{max-width:1200px;margin:0 auto;padding:20px}.connection-viewer .header{border-bottom:2px solid var(--border-colour);justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;display:flex}.connection-viewer .header h2{color:var(--colour-text);margin:0;font-size:24px}.connection-viewer .header .last-update{color:var(--text-muted);font-size:12px;font-style:italic}.connection-viewer .loading{height:200px;color:var(--text-muted);justify-content:center;align-items:center;font-size:18px;display:flex}.connection-viewer .error-message{background-color:var(--error-bg);color:var(--error-colour);border-left:4px solid var(--error-colour);border-radius:4px;margin-bottom:20px;padding:12px}.connection-viewer .status-section{background:var(--bg-muted);border-radius:8px;margin-bottom:30px;padding:20px}.connection-viewer .status-section h3{color:var(--colour-text);border-bottom:1px solid var(--border-colour);margin:0 0 15px;padding-bottom:8px;font-size:18px}.connection-viewer .status-section .status-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;display:grid}.connection-viewer .status-section .status-grid .status-item{align-items:center;gap:10px;display:flex}.connection-viewer .status-section .status-grid .status-item label{color:var(--text-muted);min-width:120px;font-weight:600}.connection-viewer .status-section .status-grid .status-item span{color:var(--colour-text)}.connection-viewer .status-section .status-grid .status-item .server-mode{text-transform:uppercase;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600}.connection-viewer .status-section .status-grid .status-item .server-mode.online{background-color:var(--success-bg);color:var(--success-colour)}.connection-viewer .status-section .status-grid .status-item .server-mode.offline{background-color:var(--error-bg);color:var(--error-colour)}.connection-viewer .status-section .status-grid .status-item .connection-detail{background:var(--bg-muted);border-radius:3px;padding:2px 6px;font-family:monospace;font-size:12px}.connection-viewer .status-section .status-grid .status-item .endpoint{background:var(--bg-muted);word-break:break-all;border-radius:3px;padding:2px 6px;font-family:monospace;font-size:11px}.connection-viewer .status-indicator{align-items:center;gap:8px;display:flex}.connection-viewer .status-indicator .status-light{border:2px solid #0000;border-radius:50%;width:12px;height:12px}.connection-viewer .status-indicator .status-light.connected{background-color:var(--success-colour);box-shadow:0 0 8px #4caf5080}.connection-viewer .status-indicator .status-light.disconnected{background-color:var(--error-colour);box-shadow:0 0 8px #f4433680}.connection-viewer .status-indicator .status-label{color:var(--colour-text);font-weight:600}.connection-viewer .subscriptions-container .subscription-summary{background:var(--info-bg);color:var(--accent-colour);border-radius:4px;margin-bottom:15px;padding:10px;font-weight:600}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item{background:var(--paper-colour);border:1px solid var(--border-colour);border-radius:4px;grid-template-columns:100px 1fr 100px 80px 180px;align-items:center;gap:15px;margin-bottom:8px;padding:12px;display:grid}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-type{color:var(--accent-colour);background:var(--info-bg);text-align:center;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-endpoint{background:var(--bg-muted);word-break:break-all;border-radius:3px;padding:4px 6px;font-family:monospace;font-size:11px}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-mode{color:var(--text-muted);font-size:12px}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-status{text-align:center;text-transform:uppercase;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-status.active{background-color:var(--success-bg);color:var(--success-colour)}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-status.inactive{background-color:var(--error-bg);color:var(--error-colour)}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-last-event{font-size:12px}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-last-event .last-event-time{color:var(--success-colour);font-weight:600}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-last-event .no-events{color:var(--warning-colour);font-style:italic}.connection-viewer .subscriptions-container .no-subscriptions{text-align:center;color:var(--text-muted);padding:20px;font-style:italic}.connection-viewer .coming-soon{text-align:center;color:var(--text-muted);background:var(--bg-muted);border:2px dashed var(--border-colour);border-radius:8px;padding:40px;font-style:italic}.connection-viewer .actions-section{text-align:center;margin-top:30px}.connection-viewer .actions-section .reconnect-button{background-color:var(--accent-colour);color:var(--text-inverse);cursor:pointer;border:none;border-radius:4px;padding:12px 24px;font-size:14px;font-weight:600;transition:background-color .3s}.connection-viewer .actions-section .reconnect-button:hover:not(:disabled){background-color:var(--accent-colour-light)}.connection-viewer .actions-section .reconnect-button:disabled{background-color:var(--disabled-colour);cursor:not-allowed}@media (width<=768px){.connection-viewer{padding:15px}.connection-viewer .status-section .status-grid{grid-template-columns:1fr}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item{text-align:left;grid-template-columns:1fr;gap:8px}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-type,.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-status,.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-last-event{justify-self:start;width:fit-content}}.fwkFooter{background-color:var(--footer-bg-color);width:100vw;margin-left:calc(50% - 50vw)}footer#footer{color:var(--footer-text-color);flex-direction:column;padding:3rem 1.5rem 1.5rem;font-size:.9375rem;line-height:1.6;display:flex}footer#footer>div:first-child{gap:3rem;width:100%;margin-bottom:2rem;display:flex}footer#footer .logo{flex-shrink:0}footer#footer .logo img{max-width:180px;height:auto}footer#footer .sections{flex-wrap:wrap;flex-grow:1;gap:3rem;display:flex}footer#footer .sections>div{min-width:140px}footer#footer .sections>div:last-child{margin-left:auto}footer#footer h2{text-transform:uppercase;letter-spacing:.05em;color:var(--footer-text-color);margin-bottom:1rem;font-size:.875rem;font-weight:600}footer#footer ul{margin:0;padding:0;list-style:none}footer#footer ul li{color:var(--footer-text-muted);align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}footer#footer ul li a{color:var(--footer-link-color);text-decoration:none;transition:color .2s}footer#footer ul li a:hover,footer#footer ul li a:focus{color:var(--footer-link-hover-color);text-decoration:none}footer#footer ul li .socialIcon{opacity:.7;transition:opacity .2s}footer#footer ul li .socialIcon:hover{opacity:1}footer#footer .footerSection .fwkMenu nav{width:auto}footer#footer .footerSection .fwkMenu ul{gap:0}footer#footer .footerSection .fwkMenu ul li{border-radius:0;min-height:auto;margin-bottom:.5rem;padding:0;background:0 0!important}footer#footer .footerSection .fwkMenu ul li:hover{box-shadow:none;transform:none}footer#footer .footerSection .fwkMenu ul li .menuIcon{display:none}footer#footer .footerSection .fwkMenu ul li .menuHeader{min-height:auto;padding:0}footer#footer .footerSection .fwkMenu ul li .menuHeader .menuItemButton .menuText{color:var(--footer-link-color);font-size:.9375rem;font-weight:400;transition:color .2s}footer#footer .footerSection .fwkMenu ul li .menuHeader .expandMenuButton{display:none}footer#footer .footerSection .fwkMenu ul li:hover .menuHeader .menuItemButton .menuText,footer#footer .footerSection .fwkMenu ul li.active .menuHeader .menuItemButton .menuText{color:var(--footer-link-hover-color)}footer#footer .footerSection .fwkMenu ul.submenu{margin-left:0!important;padding-left:0!important}footer#footer .footerSection .fwkMenu ul.submenu>li{justify-content:flex-start!important}footer#footer .footerSection .fwkMenu ul.submenu>li>.menuHeader{width:auto;justify-content:flex-start!important;padding-left:0!important}footer#footer .footerSection .fwkMenu ul.submenu>li>.menuHeader .menuItemButton{text-align:left;justify-content:flex-start!important}footer#footer .footerSection .fwkMenu ul.submenu>li>.menuHeader .menuItemButton .menuText{text-align:left!important;justify-content:flex-start!important}footer#footer .footerBottom{border-top:1px solid var(--footer-border-color);align-items:center;padding-top:1.5rem;display:flex;position:relative}footer#footer .footerVersion{color:var(--footer-text-muted);opacity:.6;font-size:.6875rem;position:absolute;left:0}footer#footer .footerVersion .fwkVersion{font-size:inherit;color:inherit}footer#footer .privacy{color:var(--footer-text-muted);text-align:center;flex:1;font-size:.8125rem}footer#footer .privacy span{display:inline}@media (width<=768px){footer#footer{padding:2rem 1rem 1rem}footer#footer>div:first-child{text-align:center;flex-direction:column;align-items:center;gap:2rem}footer#footer .logo img{max-width:150px}footer#footer .sections{justify-content:center;gap:2rem}footer#footer .sections>div{text-align:center}footer#footer ul li,footer#footer .footerSection .fwkMenu ul li,footer#footer .footerSection .fwkMenu ul li .menuHeader{justify-content:center}footer#footer .footerSection .fwkMenu ul.submenu{padding-left:0!important}footer#footer .footerSection .fwkMenu ul.submenu li,footer#footer .footerSection .fwkMenu ul.submenu li .menuHeader,footer#footer .footerSection .fwkMenu ul.submenu li .menuItemButton{justify-content:flex-start!important}footer#footer .footerBottom{flex-direction:column;gap:.75rem}footer#footer .footerVersion{order:1;position:static}footer#footer .privacy{order:0}footer#footer .privacy span{margin-bottom:.25rem;display:block}footer#footer .privacy span:last-child{margin-bottom:0}}.msweb-cookieBar{background:var(--section-bg-color);color:var(--section-text-color);z-index:9999;padding:15px 0;transition:opacity .4s ease-out,transform .4s ease-out;position:fixed;bottom:0;left:0;right:0}.msweb-cookieBar.fade-out{opacity:0;transform:translateY(100%)}.msweb-cookieBar .cookieContent{justify-content:space-between;align-items:center;gap:20px;max-width:1200px;margin:0 auto;padding:0 20px;display:flex}@media (width<=768px){.msweb-cookieBar .cookieContent{text-align:center;flex-direction:column;gap:15px}}.msweb-cookieBar .cookieContent p{color:var(--text-overlay-muted);margin:0;font-size:.875rem;line-height:1.5}.msweb-cookieBar .cookieContent .privacyLink{color:var(--text-overlay);text-decoration:underline}.msweb-cookieBar .cookieContent .privacyLink:hover{color:var(--accent-colour)}.msweb-cookieBar .cookieContent .acceptBtn{background:var(--accent-colour);color:var(--text-inverse);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;white-space:nowrap;border:none;padding:10px 30px;font-size:.875rem;font-weight:700;transition:opacity .3s,transform .2s}.msweb-cookieBar .cookieContent .acceptBtn:hover{background:var(--accent-colour-light);transform:scale(1.05)}.msweb-cookieBar .cookieContent .acceptBtn:active{transform:scale(.98)}.star-rating{align-items:center;gap:.25rem;display:flex}.star-rating svg{color:var(--warning-colour)}.star-rating svg.star-empty{color:var(--border-colour)}.star-rating--sm svg{width:.875rem;height:.875rem}.star-rating--md svg{width:1rem;height:1rem}.star-rating--lg svg{width:1.25rem;height:1.25rem}.icon-badge{align-items:center;gap:.5rem;display:inline-flex}.icon-badge__icon{flex-shrink:0}.icon-badge__label{white-space:nowrap}.icon-badge--sm{font-size:.75rem}.icon-badge--sm .icon-badge__icon{width:.875rem;height:.875rem}.icon-badge--md{font-size:.875rem}.icon-badge--md .icon-badge__icon{width:1.25rem;height:1.25rem}.icon-badge--lg{font-size:1rem}.icon-badge--lg .icon-badge__icon{width:1.5rem;height:1.5rem}.icon-badge--default{color:inherit}.icon-badge--default .icon-badge__icon{color:var(--accent-colour,#1d4ed8)}.icon-badge--default .icon-badge__label{color:var(--text-muted,#64748b)}.icon-badge--outline{border:1px solid var(--border-colour,#e2e8f0);background-color:#0000;border-radius:.5rem;padding:.25rem .75rem}.icon-badge--filled{background-color:var(--accent-colour-light,#eff6ff);border-radius:.5rem;padding:.25rem .75rem}.icon-badge--filled .icon-badge__icon,.icon-badge--filled .icon-badge__label{color:var(--accent-colour,#1d4ed8)}.icon-list-item{align-items:flex-start;gap:.75rem;display:flex}.icon-list-item__icon{color:var(--accent-colour);flex-shrink:0;margin-top:.125rem}.icon-list-item__text{color:var(--text-muted);line-height:1.5}.icon-list-item--sm{gap:.5rem;font-size:.875rem}.icon-list-item--sm .icon-list-item__icon{width:1rem;height:1rem}.icon-list-item--md{gap:.75rem;font-size:1rem}.icon-list-item--md .icon-list-item__icon{width:1.25rem;height:1.25rem}.icon-list-item--lg{gap:1rem;font-size:1.125rem}.icon-list-item--lg .icon-list-item__icon{width:1.5rem;height:1.5rem}ul .icon-list-item,ol .icon-list-item{list-style:none}.testimonial-card{padding:1.5rem}.testimonial-card__header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.testimonial-card__avatar{object-fit:cover;border-radius:50%;width:3.5rem;height:3.5rem}.testimonial-card__identity{flex-direction:column;display:flex}.testimonial-card__name{color:var(--text-colour,#0f172a);font-weight:600}.testimonial-card__role{color:var(--text-muted,#64748b);font-size:.875rem}.testimonial-card__rating{margin-bottom:.75rem}.testimonial-card__quote{color:var(--text-muted,#475569);margin:0;font-style:normal;line-height:1.6}.testimonial-card--default{background-color:#0000}.testimonial-card--bordered{background-color:var(--bg-light,#f8fafc);border:1px solid var(--border-colour,#e2e8f0);border-radius:1rem}.testimonial-card--elevated{background-color:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.feature-card{padding:1.5rem;transition:background-color .15s,box-shadow .15s,transform .15s}.feature-card[role=button]{cursor:pointer}.feature-card__header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.feature-card__icon{width:1.5rem;height:1.5rem;color:var(--accent-colour,#1d4ed8);flex-shrink:0}.feature-card__title{color:var(--text-colour,#0f172a);margin:0;font-size:1.125rem;font-weight:600}.feature-card__description{color:var(--text-muted,#475569);margin:0 0 1rem;line-height:1.6}.feature-card__benefits{flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.feature-card__benefit{color:var(--text-muted,#475569);align-items:flex-start;gap:.5rem;line-height:1.5;display:flex}.feature-card__benefit-icon{width:1.125rem;height:1.125rem;color:var(--success-colour,#16a34a);flex-shrink:0;margin-top:.125rem}.feature-card__badges{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.feature-card--default{background-color:#0000}.feature-card--bordered{background-color:var(--bg-light,#f8fafc);border:1px solid var(--border-colour,#e2e8f0);border-radius:1rem}.feature-card--bordered:hover{background-color:#fff;transform:translateY(-1px);box-shadow:0 1px 2px #0000000d}.feature-card--elevated{background-color:#fff;border-radius:1rem;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.feature-card--elevated:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.cart-summary{background:#ffffffd6;border:1px solid #916a551f;border-radius:24px;padding:2rem;box-shadow:0 18px 44px #3e2b1e14}.cart-summary__title{font-family:var(--font-family-heading);color:var(--colour-dark);margin-bottom:2rem;font-size:1.25rem}.cart-summary__row{color:var(--colour-text);justify-content:space-between;gap:1rem;margin-bottom:1rem;font-size:.95rem;display:flex}.cart-summary__free{color:#2f7a49;font-weight:700}.cart-summary__shipping-note{color:var(--colour-dark);border-radius:var(--radius-sm);text-align:center;background:#f5a19a33;margin-bottom:1rem;padding:.5rem 1rem;font-size:.85rem}.cart-summary__divider{background:var(--colour-border);height:1px;margin:1rem 0}.cart-summary__total{font-size:1.25rem;font-weight:700}.cart-summary__cta{border-radius:999px;justify-content:center;width:100%;min-height:52px}.cart-drawer{z-index:1400;position:fixed;inset:0}.cart-drawer .fwkIconButton{letter-spacing:.01em;border-radius:999px;padding:.85rem 1.35rem;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s,color .2s}.cart-drawer .fwkIconButton:hover,.cart-drawer .fwkIconButton:focus-visible{transform:translateY(-1px)}.cart-drawer .fwkIconButton.button{background:linear-gradient(135deg, var(--accent-colour), var(--accent-colour-deep));color:#fff;border-color:#0000;box-shadow:0 14px 30px #ab645233}.cart-drawer .fwkIconButton.button:hover,.cart-drawer .fwkIconButton.button:focus-visible,.cart-drawer .fwkIconButton.button:active{background:linear-gradient(135deg, #df8c7b, var(--accent-colour-deep));color:#fff;border-color:#0000;box-shadow:0 18px 34px #ab64523d}.cart-drawer .cart-drawer__cta--secondary{color:var(--accent-colour-deep);background:#ffffffc7;border-color:#ab64524d;box-shadow:0 10px 24px #3e2b1e14}.cart-drawer .cart-drawer__cta--secondary:hover,.cart-drawer .cart-drawer__cta--secondary:focus-visible,.cart-drawer .cart-drawer__cta--secondary:active{color:var(--colour-dark);background:#f0a39329;border-color:#ab645275;box-shadow:0 14px 28px #3e2b1e1a}.cart-drawer__cta{justify-content:center;width:100%;min-height:50px}.cart-drawer__backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#35261c5c;border:0;position:absolute;inset:0}.cart-drawer__panel{background:linear-gradient(#fffcf7fa,#f6ede1fa);border-left:1px solid #916a5529;flex-direction:column;width:min(100%,480px);height:100%;animation:.28s cartDrawerSlideIn;display:flex;position:absolute;top:0;right:0;box-shadow:-24px 0 60px #291d162e}.cart-drawer__header{border-bottom:1px solid #916a551a;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem 1.5rem 1rem;display:flex}.cart-drawer__eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .2rem;font-size:.72rem}.cart-drawer__title{font-family:var(--font-family-heading);color:var(--colour-dark);margin:0;font-size:clamp(1.4rem,3vw,1.8rem)}.cart-drawer__close{width:40px;height:40px;color:var(--colour-dark);background:#fffc;border:1px solid #916a5529;border-radius:999px;justify-content:center;align-items:center;transition:background .2s,transform .2s;display:inline-flex}.cart-drawer__close:hover{background:#f0a3932e;transform:translateY(-1px)}.cart-drawer__items{flex:1;padding:0 1.5rem 1rem;overflow-y:auto}.cart-drawer__item{border-bottom:1px solid #916a551a;grid-template-columns:92px 1fr;gap:1rem;padding:1.25rem 0;display:grid}.cart-drawer__item-image{background:#ffffffb8;border-radius:18px;width:92px;height:112px;display:block;overflow:hidden;box-shadow:0 12px 24px #3e2b1e14}.cart-drawer__item-image img{object-fit:cover;width:100%;height:100%}.cart-drawer__item-body{min-width:0}.cart-drawer__item-top,.cart-drawer__item-bottom{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.cart-drawer__item-title{color:var(--colour-dark);font-weight:700;line-height:1.35;text-decoration:none}.cart-drawer__item-meta{color:var(--text-muted);margin:.4rem 0 .85rem;font-size:.92rem}.cart-drawer__item-remove{width:34px;height:34px;color:var(--text-muted);background:#ab645214;border:0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.cart-drawer__quantity{background:#ffffffb8;border:1px solid #916a5529;border-radius:999px;align-items:center;display:inline-flex}.cart-drawer__qty-btn{width:34px;height:34px;color:var(--colour-dark);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.cart-drawer__qty-btn:disabled{opacity:.45}.cart-drawer__qty-value{text-align:center;min-width:2rem;color:var(--colour-dark);font-weight:700}.cart-drawer__item-price{color:var(--colour-text);white-space:nowrap;font-weight:700}.cart-drawer__summary{background:linear-gradient(#fffcf7c2,#f7efe5eb);border-top:1px solid #916a551a;padding:1rem 1.5rem 1.5rem}.cart-drawer__summary .cart-summary{background:#ffffffa8;box-shadow:0 12px 26px #3e2b1e12}.cart-drawer__checkout-error{color:var(--accent-colour-deep);background:#ab64521a;border-radius:16px;padding:.85rem 1rem;font-size:.9rem}.cart-drawer__empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.cart-drawer__empty h3{font-family:var(--font-family-heading);color:var(--colour-dark);margin-bottom:.75rem}.cart-drawer__empty p{max-width:18rem;color:var(--text-muted);margin-bottom:1.5rem}.cart-drawer__empty-icon{width:72px;height:72px;color:var(--accent-colour-deep);background:#ab64521a;border-radius:999px;justify-content:center;align-items:center;margin-bottom:1.25rem;font-size:1.5rem;display:inline-flex}@media (width<=575px){.cart-drawer__panel{width:100%}.cart-drawer__header,.cart-drawer__items,.cart-drawer__summary{padding-left:1rem;padding-right:1rem}}@keyframes cartDrawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.product-card{background:var(--paper-colour);border-radius:8px;height:100%;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.product-card--featured{border:2px solid var(--accent-colour)}.product-card--out-of-stock .product-card__image{opacity:.6;filter:grayscale(30%)}.product-card__link{color:inherit;height:100%;text-decoration:none;display:block}.product-card__image-container{background:var(--colour-border);width:100%;padding-top:100%;position:relative;overflow:hidden}.product-card__image{object-fit:cover;width:100%;height:100%;transition:transform .4s;position:absolute;top:0;left:0}.product-card:hover .product-card__image{transform:scale(1.05)}.product-card__badge{text-transform:uppercase;z-index:2;border-radius:4px;padding:4px 12px;font-size:.75rem;font-weight:600;position:absolute;top:12px;left:12px}.product-card__badge--featured{background:var(--accent-colour);color:var(--text-inverse)}.product-card__badge--sold-out{background:var(--colour-dark);color:var(--text-inverse)}.product-card__overlay{opacity:0;visibility:hidden;background:#0006;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;inset:0}.product-card__overlay--visible{opacity:1;visibility:visible}.product-card__actions{gap:12px;display:flex}.product-card__action-btn{background:var(--paper-colour);width:44px;height:44px;color:var(--colour-dark);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:all .2s;display:flex}.product-card__action-btn:hover:not(:disabled){background:var(--accent-colour);color:var(--text-inverse);transform:scale(1.1)}.product-card__action-btn:disabled{opacity:.5;cursor:not-allowed}.product-card__content{text-align:center;padding:16px}.product-card__collection{text-transform:uppercase;letter-spacing:.1em;color:var(--accent-colour);margin-bottom:4px;font-size:.75rem;display:block}.product-card__title{font-family:var(--font-family-heading);color:var(--colour-dark);margin:0 0 8px;font-size:1.1rem;font-weight:600;line-height:1.3}.product-card__price{color:var(--colour-text);margin-bottom:12px;font-size:1rem;font-weight:600}.product-card__sizes{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.product-card__sizes .fwkOptionSelector__option{border:1px solid var(--colour-border);color:var(--text-muted);border-radius:4px;padding:4px 10px;font-size:.75rem}.product-card__sizes .fwkOptionSelector__option:hover:not(:disabled){border-color:var(--accent-colour)}.product-card__sizes .fwkOptionSelector__option.is-selected{background:var(--accent-colour);border-color:var(--accent-colour);color:var(--text-inverse);box-shadow:none}@media (width<=768px){.product-card__title{font-size:1rem}.product-card__price{font-size:.9rem}.product-card__action-btn{width:38px;height:38px}}.product-grid__header{margin-bottom:2rem}.product-grid__subtitle{text-transform:uppercase;letter-spacing:.15em;color:var(--accent-colour);font-size:.875rem;font-weight:500}.product-grid__title{font-family:var(--font-family-heading);color:var(--colour-dark);font-size:2rem;font-weight:600}@media (width<=768px){.product-grid__title{font-size:1.5rem}}@keyframes badge-border{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-hero{background-color:var(--hero-bg-color);color:var(--hero-title-color);background-position:50%;background-size:cover;border-radius:0;padding:6rem 0;position:relative;overflow:hidden}.page-hero:before{content:"";background-image:var(--hero-overlay);z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.page-hero>.container-fluid{z-index:2;position:relative}.page-hero--sm{padding:4rem 0;background-image:none!important}.page-hero--sm:before{display:none}.page-hero--sm .page-hero__badge{display:none!important}.page-hero__content{position:relative}.page-hero__subtitle{text-transform:uppercase;letter-spacing:2px;opacity:.9;margin-bottom:1rem;font-size:1.1rem}.page-hero__title{color:var(--hero-title-color);margin-bottom:1.5rem;padding:20px 0;font-weight:600}.page-hero__description{max-width:500px;color:var(--hero-description-color);margin-bottom:2rem;padding-right:50px;font-size:1.25rem;font-weight:300}.page-hero__buttons{flex-wrap:wrap;gap:1rem;margin-top:1.5rem;display:flex}.page-hero__btn{border-radius:25px;padding:.75rem 1.5rem;font-weight:400}.page-hero__btn--primary{background-color:var(--hero-btn-primary-bg);border:0}.page-hero__btn--outline{border:1px solid var(--hero-title-color);color:var(--hero-title-color);background-color:#0000}.page-hero__btn--outline:hover{background-color:var(--bg-overlay)}.page-hero__badge{text-align:center;z-index:3;width:240px;height:240px;position:absolute;top:35%;right:0;transform:translateY(-50%)}@media (width<=767px){.page-hero__badge{display:none}}.page-hero__badge:before{content:"";background-image:var(--hero-badge-border);z-index:-2;border-radius:140px;width:260px;height:260px;margin-top:-130px;margin-left:-130px;animation:5s linear infinite badge-border;display:block;position:absolute;top:50%;left:50%}.page-hero__badge:after{content:"";background-color:var(--hero-bg-color);z-index:-1;border-radius:140px;width:240px;height:240px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.page-hero__badge .badge-price{text-align:center;color:var(--hero-title-color);margin:0 auto;padding:0 1rem;font-size:1.25rem;line-height:1;position:relative;top:50%;overflow:hidden;transform:translateY(-50%)}.page-hero__badge .badge-price--prepend{white-space:pre-wrap;width:180px;margin:0 auto;font-size:1.25rem;line-height:1.2;display:block}.page-hero__badge .badge-price--major{font-size:4.5rem;font-weight:700;line-height:1;position:relative}.page-hero__badge .badge-price--major:before{content:"£";font-size:1.75rem}.page-hero__badge .badge-price--minor{font-size:2rem;line-height:2rem;position:relative}.page-hero__badge .badge-price--append{width:180px;margin:0 auto;font-size:1.25rem;line-height:1.2;display:block}.feature-block__text-content{padding:2rem 0}@media (width>=992px){.feature-block__text-content{padding:2rem 3rem 2rem 0}.feature-block--image-left .feature-block__text-content{padding:2rem 0 2rem 3rem}}.feature-block__icon{color:var(--feature-icon-color);margin-bottom:1rem}.feature-block__icon svg{font-size:3rem}.feature-block__subtitle{color:var(--accent-colour);margin-bottom:.5rem}.feature-block__title{color:var(--feature-title-color);font-size:2rem;font-weight:700}.feature-block__text{color:var(--feature-description-color);font-size:1.1rem;line-height:1.8}.feature-block__image-wrapper{padding:1rem}.feature-block__image{box-shadow:var(--card-shadow);border-radius:.5rem}.feature-grid__item{padding:1.5rem 1rem;transition:transform .3s}.feature-grid__item:hover{transform:translateY(-5px)}.feature-grid__icon{color:var(--feature-icon-color);margin-bottom:1.5rem}.feature-grid__icon svg,.feature-grid__icon i{transition:transform .3s}.feature-grid__icon:hover svg,.feature-grid__icon:hover i{transform:scale(1.1)}.feature-grid__title{color:var(--feature-title-color);margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.feature-grid__description{color:var(--feature-description-color);font-size:.95rem;line-height:1.6}.py-6{padding-top:4rem;padding-bottom:4rem}.faq-accordion .accordion,.faq-accordion__content .accordion{box-shadow:var(--card-shadow);border-radius:.5rem;overflow:hidden}.faq-accordion .accordion-item,.faq-accordion__content .accordion-item{border:none;border-bottom:1px solid var(--faq-border-color)}.faq-accordion .accordion-item:last-child,.faq-accordion__content .accordion-item:last-child{border-bottom:none}.faq-accordion .accordion-button,.faq-accordion__content .accordion-button{background:var(--faq-bg-color);color:var(--faq-text-color);padding:1.25rem 1.5rem;font-weight:600}.faq-accordion .accordion-button:not(.collapsed),.faq-accordion__content .accordion-button:not(.collapsed){background:var(--faq-active-bg-color);color:var(--faq-active-text-color);box-shadow:none}.faq-accordion .accordion-button:not(.collapsed):after,.faq-accordion__content .accordion-button:not(.collapsed):after{filter:var(--faq-active-arrow-filter,brightness(0) invert(1))}.faq-accordion .accordion-button:focus,.faq-accordion__content .accordion-button:focus{box-shadow:none;border-color:#0000}.faq-accordion .accordion-body,.faq-accordion__content .accordion-body{background:var(--faq-body-bg-color);padding:1.5rem}.faq-accordion .accordion-body p,.faq-accordion__content .accordion-body p{color:var(--faq-body-text-color);margin-bottom:0;line-height:1.7}.quoteBox{background:var(--accent-colour,#de411b);color:#fff;flex-direction:column;justify-content:center;padding:60px;display:flex}.quoteBox .quote{margin-bottom:30px;font-size:1.5rem;font-style:italic;font-weight:300;line-height:1.5}.quoteBox .author h4{margin-bottom:5px;font-size:1.1rem;font-weight:700}.quoteBox .author p{font-size:.9rem;font-weight:600}@media (width<=768px){.quoteBox{padding:40px 20px}}.contactForm{background:var(--primary-color,#de411b);color:var(--text-inverse,#fff);margin-top:30px;margin-bottom:30px;padding:40px}@media (width<=768px){.contactForm{margin-bottom:40px;padding:30px 20px}}.contactForm h2{text-transform:uppercase;letter-spacing:-.02em;color:var(--text-inverse,#fff);margin-bottom:20px;font-family:Roboto Condensed,Roboto,sans-serif;font-size:1.5rem;font-weight:700}@media (width<=768px){.contactForm h2{font-size:1.25rem}}.contactForm .inquiryType{flex-wrap:wrap;gap:30px;margin-bottom:25px;display:flex}.contactForm .inquiryType__option{border:1px solid var(--text-overlay-subtle,#ffffff73);min-height:44px;color:var(--text-inverse,#fff);background:#ffffff14;border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1.1rem;font-family:Roboto,sans-serif;font-size:.875rem;font-weight:500;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.contactForm .inquiryType__option:hover{border-color:var(--text-inverse,#fff);background:#ffffff24}.contactForm .inquiryType__option.selected{background:var(--text-inverse,#fff);color:var(--primary-color,#de411b);border-color:var(--text-inverse,#fff);box-shadow:none}.contactForm .contactFormFields .honeypot{opacity:0;pointer-events:none;width:0;height:0;position:absolute;top:-9999px;left:-9999px;overflow:hidden}.contactForm .contactFormFields .formRowThree{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px;display:grid}@media (width<=992px){.contactForm .contactFormFields .formRowThree{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.contactForm .contactFormFields .formRowThree{grid-template-columns:1fr;gap:15px}}.contactForm .contactFormFields .formRowMessage{grid-template-columns:repeat(3,1fr);align-items:end;gap:20px;margin-bottom:20px;display:grid}.contactForm .contactFormFields .formRowMessage>.fwkTextFieldX{grid-column:1/3}.contactForm .contactFormFields .formRowMessage>.formActions{z-index:1;grid-column:3;justify-content:flex-end;align-items:flex-end;margin-top:0;display:flex;position:relative}@media (width<=992px){.contactForm .contactFormFields .formRowMessage{grid-template-columns:repeat(2,1fr)}.contactForm .contactFormFields .formRowMessage>.fwkTextFieldX{grid-column:1/3}.contactForm .contactFormFields .formRowMessage>.formActions{grid-column:1/3;justify-content:flex-end}}@media (width<=768px){.contactForm .contactFormFields .formRowMessage{grid-template-columns:1fr;gap:15px}.contactForm .contactFormFields .formRowMessage>.fwkTextFieldX,.contactForm .contactFormFields .formRowMessage>.formActions{grid-column:1}}.contactForm .contactFormFields .fwkTextFieldX{--textfield-text-color:var(--text-inverse,#fff);--textfield-placeholder-color:var(--text-overlay-muted,#fff9);--textfield-label-color:var(--text-overlay,#ffffffe6);--textfield-background:transparent;--textfield-border-color:var(--text-overlay-subtle,#ffffff80);--textfield-border-radius:0;--textfield-focus-color:var(--text-inverse,#fff);--textfield-error-color:var(--error-bg)}.contactForm .contactFormFields .fwkTextFieldX label{text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-family:Roboto,sans-serif;font-size:.75rem;font-weight:500;display:block}.contactForm .contactFormFields .fwkTextFieldX .control{border:none;border-bottom:1px solid var(--text-overlay-subtle,#ffffff80);background:0 0;border-radius:0;padding:0}.contactForm .contactFormFields .fwkTextFieldX .control:focus-within{border-bottom-color:var(--text-inverse,#fff);border-bottom-width:2px}.contactForm .contactFormFields .fwkTextFieldX .control input,.contactForm .contactFormFields .fwkTextFieldX .control textarea,.contactForm .contactFormFields .fwkTextFieldX .control select,.contactForm .contactFormFields .fwkTextFieldX .control .email-input-wrapper input,.contactForm .contactFormFields .fwkTextFieldX .control .password-input-wrapper input{caret-color:var(--text-inverse,#fff);padding:10px 0;font-family:Roboto,sans-serif;font-size:.9375rem;font-weight:400;color:var(--text-inverse,#fff)!important;background:0 0!important}.contactForm .contactFormFields .fwkTextFieldX .control input::placeholder,.contactForm .contactFormFields .fwkTextFieldX .control textarea::placeholder,.contactForm .contactFormFields .fwkTextFieldX .control select::placeholder,.contactForm .contactFormFields .fwkTextFieldX .control .email-input-wrapper input::placeholder,.contactForm .contactFormFields .fwkTextFieldX .control .password-input-wrapper input::placeholder{color:var(--text-overlay-muted,#fff9)}.contactForm .contactFormFields .fwkTextFieldX .control input::selection{color:var(--text-inverse,#fff);background:#ffffff4d}.contactForm .contactFormFields .fwkTextFieldX .control textarea::selection{color:var(--text-inverse,#fff);background:#ffffff4d}.contactForm .contactFormFields .fwkTextFieldX .control select::selection{color:var(--text-inverse,#fff);background:#ffffff4d}.contactForm .contactFormFields .fwkTextFieldX .control .email-input-wrapper input::selection{color:var(--text-inverse,#fff);background:#ffffff4d}.contactForm .contactFormFields .fwkTextFieldX .control .password-input-wrapper input::selection{color:var(--text-inverse,#fff);background:#ffffff4d}.contactForm .contactFormFields .fwkTextFieldX .control input::-moz-selection{color:var(--text-inverse,#fff);background:#ffffff4d}.contactForm .contactFormFields .fwkTextFieldX .control textarea::-moz-selection{color:var(--text-inverse,#fff);background:#ffffff4d}.contactForm .contactFormFields .fwkTextFieldX .control select::-moz-selection{color:var(--text-inverse,#fff);background:#ffffff4d}.contactForm .contactFormFields .fwkTextFieldX .control .email-input-wrapper input::-moz-selection{color:var(--text-inverse,#fff);background:#ffffff4d}.contactForm .contactFormFields .fwkTextFieldX .control .password-input-wrapper input::-moz-selection{color:var(--text-inverse,#fff);background:#ffffff4d}.contactForm .contactFormFields .fwkTextFieldX .control input:focus,.contactForm .contactFormFields .fwkTextFieldX .control textarea:focus,.contactForm .contactFormFields .fwkTextFieldX .control select:focus,.contactForm .contactFormFields .fwkTextFieldX .control .email-input-wrapper input:focus,.contactForm .contactFormFields .fwkTextFieldX .control .password-input-wrapper input:focus{color:var(--text-inverse,#fff)!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control select:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .email-input-wrapper input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .password-input-wrapper input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control textarea:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control select:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .email-input-wrapper input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .password-input-wrapper input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control textarea:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control select:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .email-input-wrapper input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .password-input-wrapper input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control textarea:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control select:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .email-input-wrapper input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .password-input-wrapper input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--primary-color,#de411b) inset!important;-webkit-text-fill-color:var(--text-inverse,#fff)!important;caret-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control textarea{resize:vertical;min-height:80px}.contactForm .contactFormFields .fwkTextFieldX .control .react-tel-input .form-control{color:var(--text-inverse,#fff)!important;background:0 0!important;border:none!important;border-radius:0!important;padding-left:48px!important}.contactForm .contactFormFields .fwkTextFieldX .control .react-tel-input .form-control::placeholder{color:var(--text-overlay-muted,#fff9)!important}.contactForm .contactFormFields .fwkTextFieldX .control .react-tel-input .flag-dropdown{background:0 0!important;border:none!important;border-radius:0!important}.contactForm .contactFormFields .fwkTextFieldX .control .react-tel-input .flag-dropdown .selected-flag{background:0 0!important}.contactForm .contactFormFields .fwkTextFieldX .control .react-tel-input .flag-dropdown .selected-flag .arrow{border-top-color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .selectInput .selectInput__control{box-shadow:none!important;min-height:unset!important;background:0 0!important;border:none!important}.contactForm .contactFormFields .fwkTextFieldX .control .selectInput .selectInput__value-container{padding:10px 0!important}.contactForm .contactFormFields .fwkTextFieldX .control .selectInput .selectInput__single-value{color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .selectInput .selectInput__placeholder{color:var(--text-overlay-muted,#fff9)!important}.contactForm .contactFormFields .fwkTextFieldX .control .selectInput .selectInput__indicator,.contactForm .contactFormFields .fwkTextFieldX .control .selectInput .selectInput__indicator:hover{color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .selectInput .selectInput__indicator-separator{display:none}.contactForm .contactFormFields .fwkTextFieldX .control .selectInput .selectInput__input-container{color:var(--text-inverse,#fff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .error{color:var(--error-bg);margin-top:5px;font-family:Roboto,sans-serif;font-size:.7rem}.contactForm .contactFormFields .fwkTextFieldX.locked{opacity:.5;pointer-events:none}.contactForm .formActions{justify-content:flex-end;margin-top:25px;display:flex}.contactForm .formActions .submitButton{text-transform:uppercase;letter-spacing:.1em;border-radius:999px;min-height:48px;padding:12px 40px;font-family:Roboto Condensed,Roboto,sans-serif;font-size:.8125rem;font-weight:700}.contactForm .formActions .submitButton.fwkIconButton.button{background:var(--text-inverse,#fff);color:var(--primary-color,#de411b);box-shadow:none}.contactForm .formActions .submitButton.fwkIconButton.button:hover:not(.disabled){background:var(--text-overlay,#ffffffe6);color:var(--primary-color,#de411b);box-shadow:none}.contactForm .formActions .submitButton.fwkIconButton.button.disabled{opacity:1;color:#de411be6!important;background:#ffffff73!important}.contactForm-select-menu .selectInput__menu{background:var(--primary-color,#de411b)!important;border:1px solid var(--text-overlay-subtle,#ffffff4d)!important;border-radius:4px!important;box-shadow:0 4px 12px #0000004d!important}.contactForm-select-menu .selectInput__menu-list{max-height:250px!important;padding:0!important}.contactForm-select-menu .selectInput__menu-list::-webkit-scrollbar{width:8px}.contactForm-select-menu .selectInput__menu-list::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.contactForm-select-menu .selectInput__menu-list::-webkit-scrollbar-thumb{background:#fff6;border-radius:4px}.contactForm-select-menu .selectInput__menu-list::-webkit-scrollbar-thumb:hover{background:#fff9}.contactForm-select-menu .selectInput__option{color:var(--text-inverse,#fff)!important;cursor:pointer!important;border-bottom:1px solid var(--text-overlay-subtle,#ffffff1a)!important;background:0 0!important;padding:10px 12px!important;font-family:Roboto,sans-serif!important;font-size:.9375rem!important}.contactForm-select-menu .selectInput__option:last-child{border-bottom:none!important}.contactForm-select-menu .selectInput__option--is-focused{background:var(--bg-overlay-hover,#fff3)!important}.contactForm-select-menu .selectInput__option--is-selected{background:var(--bg-overlay-active,#ffffff4d)!important;font-weight:600!important}.contactForm-select-menu .selectInput__no-options-message{color:var(--text-overlay-muted,#fff9)!important;padding:10px 12px!important}.contactFormModal{text-align:center;min-width:300px}.contactFormModal h3{color:var(--accent-colour,#de411b);margin:0 0 15px;font-family:Roboto Condensed,Roboto,sans-serif;font-size:1.4rem;font-weight:700}.contactFormModal p{color:var(--colour-text,#333);margin:0;font-family:Roboto,sans-serif;font-size:.95rem;line-height:1.6}.location-page .mapPlaceholder{background:#eee;height:400px;overflow:hidden}.location-page .mapPlaceholder .locationImage{object-fit:cover;width:100%;height:100%}.location-page .locationBand{padding:60px 0}.location-page .locationBand .locationGrid{grid-template-columns:2fr 1fr;gap:60px;display:grid}@media (width<=768px){.location-page .locationBand .locationGrid{grid-template-columns:1fr}}.location-page .locationBand .locationDetails .addressSection .addressItem{align-items:flex-start;gap:15px;margin-bottom:20px;display:flex}.location-page .locationBand .locationDetails .addressSection .addressItem .icon{color:var(--primary-color,#de411b);min-width:24px;margin-top:4px;font-size:1.2rem}.location-page .locationBand .locationDetails .addressSection .addressItem .addressText p{margin:0;line-height:1.6}.location-page .locationBand .locationDetails .addressSection .addressItem a{color:var(--text-primary,#333);text-decoration:none;transition:color .2s}.location-page .locationBand .locationDetails .addressSection .addressItem a:hover{color:var(--primary-color,#de411b)}.location-page .locationBand .otherLocations{background:#f5f5f5;border-radius:4px;padding:30px}.location-page .locationBand .otherLocations h3{text-transform:uppercase;margin-bottom:20px;font-size:1rem;font-weight:600}.location-page .locationBand .otherLocations ul{margin:0;padding:0;list-style:none}.location-page .locationBand .otherLocations ul li{margin-bottom:12px}.location-page .locationBand .otherLocations ul li a{color:var(--text-secondary,#666);text-decoration:none;transition:color .2s}.location-page .locationBand .otherLocations ul li a:hover{color:var(--primary-color,#de411b)}.location-page .locationBand .otherLocations ul li.active a{color:var(--primary-color,#de411b);font-weight:600}.location-error{text-align:center;color:var(--text-secondary,#666);padding:60px}.quotesCarousel{z-index:10;text-align:left;width:100%;max-width:700px;padding:0 40px;position:absolute;bottom:60px;left:0}@media (width<=768px){.quotesCarousel{max-width:100%;padding:0 20px;bottom:40px}}.quotesCarousel .carouselContent{position:relative}.quotesCarousel .carouselContent.anim-ready .scroll-ltr-1,.quotesCarousel .carouselContent.anim-ready .scroll-ltr-2,.quotesCarousel .carouselContent.anim-ready .scroll-ltr-3,.quotesCarousel .carouselContent.anim-ready .scroll-ltr-4,.quotesCarousel .carouselContent.anim-ready .scroll-ltr-5{opacity:0;transform:translate(-100px)}.quotesCarousel .carouselContent.active .scroll-ltr-1{opacity:1;transition:all .4s ease-out;transform:translate(0)}.quotesCarousel .carouselContent.active .scroll-ltr-2{opacity:1;transition:all .4s ease-out .1s;transform:translate(0)}.quotesCarousel .carouselContent.active .scroll-ltr-3{opacity:1;transition:all .4s ease-out .2s;transform:translate(0)}.quotesCarousel .carouselContent.active .scroll-ltr-4{opacity:1;transition:all .4s ease-out .3s;transform:translate(0)}.quotesCarousel .carouselContent.active .scroll-ltr-5{opacity:1;transition:all .4s ease-out .4s;transform:translate(0)}.quotesCarousel .carouselContent.anim-out .scroll-ltr-1,.quotesCarousel .carouselContent.anim-out .scroll-ltr-2,.quotesCarousel .carouselContent.anim-out .scroll-ltr-3,.quotesCarousel .carouselContent.anim-out .scroll-ltr-4,.quotesCarousel .carouselContent.anim-out .scroll-ltr-5{opacity:0;transition:all .4s ease-out;transform:translate(100px)}.quotesCarousel .carouselContent .slide .slideInner .accentBar{background:var(--primary-color,#de411b);width:60px;height:4px;margin-bottom:20px}.quotesCarousel .carouselContent .slide .slideInner .tag{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dark,#000);margin-bottom:12px;font-family:Roboto Condensed,Roboto,sans-serif;font-size:.875rem;font-weight:700}.quotesCarousel .carouselContent .slide .slideInner .title{text-transform:uppercase;letter-spacing:-.02em;color:var(--text-dark,#000);margin-bottom:20px;font-family:Roboto Condensed,Roboto,sans-serif;font-size:2.5rem;font-weight:700;line-height:.89}@media (width<=768px){.quotesCarousel .carouselContent .slide .slideInner .title{font-size:1.75rem}}.quotesCarousel .carouselContent .slide .slideInner .quote{color:var(--text-dark,#000);border:none;margin:0 0 20px;padding:0;font-family:Roboto,sans-serif;font-size:.9375rem;font-weight:300;line-height:1.6}@media (width<=768px){.quotesCarousel .carouselContent .slide .slideInner .quote{font-size:.875rem}}.quotesCarousel .carouselContent .slide .slideInner .author{text-transform:uppercase;color:var(--text-dark,#000);font-family:Roboto Condensed,Roboto,sans-serif;font-size:.875rem;font-weight:700}.quotesCarousel .carouselDots{gap:10px;margin-top:25px;display:flex}.quotesCarousel .carouselDots .dot{cursor:pointer;background:#0000004d;border:none;border-radius:50%;width:10px;height:10px;padding:0;transition:background-color .3s,transform .2s}.quotesCarousel .carouselDots .dot:hover{background:#00000080;transform:scale(1.2)}.quotesCarousel .carouselDots .dot.active{background:var(--primary-color,#de411b)}.home-hero .quotesCarousel .carouselContent .slide .slideInner .tag,.home-hero .quotesCarousel .carouselContent .slide .slideInner .title,.home-hero .quotesCarousel .carouselContent .slide .slideInner .quote,.home-hero .quotesCarousel .carouselContent .slide .slideInner .author{color:#000}#testing .introBand{padding:0}#testing .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#testing .introBand .introGrid{grid-template-columns:1fr}}#testing .introBand .introGrid .textBox{background:#fff;padding:60px}#testing .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#testing .introBand .introGrid .textBox{padding:40px 20px}}#testing .contentBand{padding:0}#testing .contentBand.alt .contentGrid .textContent{background:#fff}#testing .contentBand .contentGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#testing .contentBand .contentGrid{grid-template-columns:1fr}#testing .contentBand .contentGrid.reverse .imageContent{order:2}#testing .contentBand .contentGrid.reverse .textContent{order:1}}#testing .contentBand .contentGrid .textContent{background:#efeff0;padding:60px}#testing .contentBand .contentGrid .textContent p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#testing .contentBand .contentGrid .textContent{padding:40px 20px}}#testing .contentBand .contentGrid .imageContent img{object-fit:cover;width:100%;height:100%;min-height:400px}#services .introBand{padding:0}#services .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#services .introBand .introGrid{grid-template-columns:1fr}}#services .introBand .introGrid .textBox{background:#fff;padding:60px}#services .introBand .introGrid .textBox h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#services .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#services .introBand .introGrid .textBox{padding:40px 20px}}#services .introBand .introGrid .quoteBox{background:var(--primary-color,#de411b);color:#fff;flex-direction:column;justify-content:center;padding:60px;display:flex}#services .introBand .introGrid .quoteBox .quote{margin-bottom:30px;font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:400;line-height:1.6}#services .introBand .introGrid .quoteBox .author h4{margin-bottom:5px;font-size:1.1rem;font-weight:700}#services .introBand .introGrid .quoteBox .author p{font-size:.9rem;font-weight:600}@media (width<=768px){#services .introBand .introGrid .quoteBox{padding:40px 20px}}#services .specialismsBand{background:#efeff0;padding:60px 0}#services .specialismsBand .specialismsGrid{grid-template-columns:repeat(4,1fr);gap:30px;max-width:1400px;margin:0 auto;padding:0 40px;display:grid}@media (width<=1200px){#services .specialismsBand .specialismsGrid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){#services .specialismsBand .specialismsGrid{grid-template-columns:1fr;padding:0 20px}}#services .specialismsBand .specialismsGrid .specialismCard{background:#fff;padding:40px 30px;transition:transform .2s,box-shadow .2s}#services .specialismsBand .specialismsGrid .specialismCard:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001a}#services .specialismsBand .specialismsGrid .specialismCard h3{text-transform:uppercase;letter-spacing:-.01em;margin-bottom:15px;font-size:1.25rem;font-weight:700}#services .specialismsBand .specialismsGrid .specialismCard p{color:var(--text-secondary,#555);margin-bottom:20px;font-size:.95rem;line-height:1.7}#services .specialismsBand .specialismsGrid .specialismCard .learnMore{text-transform:uppercase;letter-spacing:.05em;color:var(--primary-color,#de411b);border-bottom:2px solid var(--primary-color,#de411b);padding-bottom:2px;font-family:Roboto Condensed,Roboto,sans-serif;font-size:.85rem;font-weight:700;text-decoration:none;transition:color .2s,border-color .2s;display:inline-block}#services .specialismsBand .specialismsGrid .specialismCard .learnMore:hover{color:#000;border-color:#000}.contentImage{background:#efeff0;height:100%;position:relative;overflow:hidden}.contentImage img{filter:brightness(1.03)contrast(.95)saturate(.92);max-width:100%;height:100%;margin:0 auto;display:block}.contentImage.position-center img,.contentImage.position-left img,.contentImage.position-right img{object-fit:fill}.contentImage .imageOverlay{z-index:1;pointer-events:none;background:linear-gradient(#ffffff14 0%,#fff0 100%);position:absolute;inset:0}#security .introBand{padding:0}#security .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#security .introBand .introGrid{grid-template-columns:1fr}}#security .introBand .introGrid .textBox{background:#fff;padding:60px}#security .introBand .introGrid .textBox h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#security .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#security .introBand .introGrid .textBox{padding:40px 20px}}#security .introBand .introGrid .quoteBox{background:var(--primary-color,#de411b);color:#fff;flex-direction:column;justify-content:center;padding:60px;display:flex}#security .introBand .introGrid .quoteBox .quote{margin-bottom:30px;font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:400;line-height:1.6}#security .introBand .introGrid .quoteBox .author h4{margin-bottom:5px;font-size:1.1rem;font-weight:700}@media (width<=768px){#security .introBand .introGrid .quoteBox{padding:40px 20px}}#security .contentBand{padding:0}#security .contentBand.alt .contentGrid .textContent{background:#fff}#security .contentBand .contentGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#security .contentBand .contentGrid{grid-template-columns:1fr}#security .contentBand .contentGrid.reverse .contentImage{order:2}#security .contentBand .contentGrid.reverse .textContent{order:1}}#security .contentBand .contentGrid .textContent{background:#efeff0;padding:60px}#security .contentBand .contentGrid .textContent h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#security .contentBand .contentGrid .textContent p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#security .contentBand .contentGrid .textContent{padding:40px 20px}}#network .introBand{padding:0}#network .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#network .introBand .introGrid{grid-template-columns:1fr}}#network .introBand .introGrid .textBox{background:#fff;padding:60px}#network .introBand .introGrid .textBox h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#network .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#network .introBand .introGrid .textBox{padding:40px 20px}}#network .introBand .introGrid .quoteBox{background:var(--primary-color,#de411b);color:#fff;flex-direction:column;justify-content:center;padding:60px;display:flex}#network .introBand .introGrid .quoteBox .quote{margin-bottom:30px;font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:400;line-height:1.6}#network .introBand .introGrid .quoteBox .author h4{margin-bottom:5px;font-size:1.1rem;font-weight:700}@media (width<=768px){#network .introBand .introGrid .quoteBox{padding:40px 20px}}#network .contentBand{padding:0}#network .contentBand.alt .contentGrid .textContent{background:#fff}#network .contentBand .contentGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#network .contentBand .contentGrid{grid-template-columns:1fr}#network .contentBand .contentGrid.reverse .contentImage{order:2}#network .contentBand .contentGrid.reverse .textContent{order:1}}#network .contentBand .contentGrid .textContent{background:#efeff0;padding:60px}#network .contentBand .contentGrid .textContent h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#network .contentBand .contentGrid .textContent p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#network .contentBand .contentGrid .textContent{padding:40px 20px}}#mobile .introBand{padding:0}#mobile .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#mobile .introBand .introGrid{grid-template-columns:1fr}}#mobile .introBand .introGrid .textBox{background:#fff;padding:60px}#mobile .introBand .introGrid .textBox h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#mobile .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#mobile .introBand .introGrid .textBox{padding:40px 20px}}#mobile .introBand .introGrid .quoteBox{background:var(--primary-color,#de411b);color:#fff;flex-direction:column;justify-content:center;padding:60px;display:flex}#mobile .introBand .introGrid .quoteBox .quote{margin-bottom:30px;font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:400;line-height:1.6}#mobile .introBand .introGrid .quoteBox .author h4{margin-bottom:5px;font-size:1.1rem;font-weight:700}@media (width<=768px){#mobile .introBand .introGrid .quoteBox{padding:40px 20px}}#mobile .contentBand{padding:0}#mobile .contentBand.alt .contentGrid .textContent{background:#fff}#mobile .contentBand .contentGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#mobile .contentBand .contentGrid{grid-template-columns:1fr}#mobile .contentBand .contentGrid.reverse .contentImage{order:2}#mobile .contentBand .contentGrid.reverse .textContent{order:1}}#mobile .contentBand .contentGrid .textContent{background:#efeff0;padding:60px}#mobile .contentBand .contentGrid .textContent h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#mobile .contentBand .contentGrid .textContent p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#mobile .contentBand .contentGrid .textContent{padding:40px 20px}}#iot .introBand{padding:0}#iot .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#iot .introBand .introGrid{grid-template-columns:1fr}}#iot .introBand .introGrid .textBox{background:#fff;padding:60px}#iot .introBand .introGrid .textBox h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#iot .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#iot .introBand .introGrid .textBox{padding:40px 20px}}#iot .introBand .introGrid .quoteBox{background:var(--primary-color,#de411b);color:#fff;flex-direction:column;justify-content:center;padding:60px;display:flex}#iot .introBand .introGrid .quoteBox .quote{margin-bottom:30px;font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:400;line-height:1.6}#iot .introBand .introGrid .quoteBox .author h4{margin-bottom:5px;font-size:1.1rem;font-weight:700}#iot .introBand .introGrid .quoteBox .author p{font-size:.9rem;font-weight:600}@media (width<=768px){#iot .introBand .introGrid .quoteBox{padding:40px 20px}}#iot .contentBand{padding:0}#iot .contentBand.alt .contentGrid .textContent{background:#fff}#iot .contentBand .contentGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#iot .contentBand .contentGrid{grid-template-columns:1fr}#iot .contentBand .contentGrid.reverse .contentImage{order:2}#iot .contentBand .contentGrid.reverse .textContent{order:1}}#iot .contentBand .contentGrid .textContent{background:#efeff0;padding:60px}#iot .contentBand .contentGrid .textContent h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#iot .contentBand .contentGrid .textContent p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#iot .contentBand .contentGrid .textContent{padding:40px 20px}}#iot .sectionHeader{text-align:center;margin-bottom:50px}#iot .sectionHeader h2{text-transform:uppercase;letter-spacing:-.02em;font-size:2rem;font-weight:700}#iot .useCasesBand{background:var(--primary-color,#de411b);padding:80px 40px}@media (width<=768px){#iot .useCasesBand{padding:60px 20px}}#iot .useCasesBand .sectionHeader{color:#fff}#iot .useCasesBand .useCasesGrid{grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto;display:grid}@media (width<=1000px){#iot .useCasesBand .useCasesGrid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){#iot .useCasesBand .useCasesGrid{grid-template-columns:1fr}}#iot .useCasesBand .useCasesGrid .useCaseCard{text-align:center;color:#fff}#iot .useCasesBand .useCasesGrid .useCaseCard h3{text-transform:uppercase;margin-bottom:15px;font-size:1.1rem;font-weight:700}#iot .useCasesBand .useCasesGrid .useCaseCard p{opacity:.9;font-size:.95rem;line-height:1.6}#iot .readMore{color:var(--primary-color,#de411b);text-transform:uppercase;letter-spacing:.05em;margin-top:20px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}#iot .readMore:hover{text-decoration:underline}#data .introBand{padding:0}#data .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#data .introBand .introGrid{grid-template-columns:1fr}}#data .introBand .introGrid .textBox{background:#fff;padding:60px}#data .introBand .introGrid .textBox h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#data .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#data .introBand .introGrid .textBox{padding:40px 20px}}#data .introBand .introGrid .quoteBox{background:var(--primary-color,#de411b);color:#fff;flex-direction:column;justify-content:center;padding:60px;display:flex}#data .introBand .introGrid .quoteBox .quote{margin-bottom:30px;font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:400;line-height:1.6}#data .introBand .introGrid .quoteBox .author h4{margin-bottom:5px;font-size:1.1rem;font-weight:700}@media (width<=768px){#data .introBand .introGrid .quoteBox{padding:40px 20px}}#data .servicesBand{background:#efeff0;padding:80px 40px}@media (width<=768px){#data .servicesBand{padding:60px 20px}}#data .servicesBand .sectionHeader{text-align:center;margin-bottom:50px}#data .servicesBand .sectionHeader h2{text-transform:uppercase;letter-spacing:-.02em;font-size:2rem;font-weight:700}#data .servicesBand .servicesGrid{grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto;display:grid}@media (width<=1100px){#data .servicesBand .servicesGrid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){#data .servicesBand .servicesGrid{grid-template-columns:1fr}}#data .servicesBand .servicesGrid .serviceCard{background:#fff;padding:30px}#data .servicesBand .servicesGrid .serviceCard h3{text-transform:uppercase;color:var(--primary-color,#de411b);margin-bottom:20px;font-size:1.1rem;font-weight:700}#data .servicesBand .servicesGrid .serviceCard ul{margin:0;padding:0;list-style:none}#data .servicesBand .servicesGrid .serviceCard ul li{color:var(--text-secondary,#555);border-bottom:1px solid #eee;padding:8px 0;font-size:.95rem}#data .servicesBand .servicesGrid .serviceCard ul li:last-child{border-bottom:none}#data .contentBand{padding:0}#data .contentBand.alt .contentGrid .textContent{background:#fff}#data .contentBand .contentGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#data .contentBand .contentGrid{grid-template-columns:1fr}#data .contentBand .contentGrid.reverse .contentImage{order:2}#data .contentBand .contentGrid.reverse .textContent{order:1}}#data .contentBand .contentGrid .textContent{background:#efeff0;padding:60px}#data .contentBand .contentGrid .textContent h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#data .contentBand .contentGrid .textContent p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#data .contentBand .contentGrid .textContent{padding:40px 20px}}#ai .introBand{padding:0}#ai .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#ai .introBand .introGrid{grid-template-columns:1fr}}#ai .introBand .introGrid .textBox{background:#fff;padding:60px}#ai .introBand .introGrid .textBox h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#ai .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#ai .introBand .introGrid .textBox{padding:40px 20px}}#ai .introBand .introGrid .quoteBox{background:var(--primary-color,#de411b);color:#fff;flex-direction:column;justify-content:center;padding:60px;display:flex}#ai .introBand .introGrid .quoteBox .quote{margin-bottom:30px;font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:400;line-height:1.6}#ai .introBand .introGrid .quoteBox .author h4{margin-bottom:5px;font-size:1.1rem;font-weight:700}#ai .introBand .introGrid .quoteBox .author p{font-size:.9rem;font-weight:600}@media (width<=768px){#ai .introBand .introGrid .quoteBox{padding:40px 20px}}#ai .contentBand{padding:0}#ai .contentBand.alt .contentGrid .textContent{background:#fff}#ai .contentBand .contentGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#ai .contentBand .contentGrid{grid-template-columns:1fr}#ai .contentBand .contentGrid.reverse .contentImage{order:2}#ai .contentBand .contentGrid.reverse .textContent{order:1}}#ai .contentBand .contentGrid .textContent{background:#efeff0;padding:60px}#ai .contentBand .contentGrid .textContent h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#ai .contentBand .contentGrid .textContent p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#ai .contentBand .contentGrid .textContent{padding:40px 20px}}#products .introBand{padding:0}#products .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#products .introBand .introGrid{grid-template-columns:1fr}}#products .introBand .introGrid .textBox{background:#fff;padding:60px}#products .introBand .introGrid .textBox h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#products .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#products .introBand .introGrid .textBox{padding:40px 20px}}#products .introBand .introGrid .quoteBox{background:var(--primary-color,#de411b);color:#fff;flex-direction:column;justify-content:center;padding:60px;display:flex}#products .introBand .introGrid .quoteBox .quote{margin-bottom:30px;font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:400;line-height:1.6}#products .introBand .introGrid .quoteBox .author h4{margin-bottom:5px;font-size:1.1rem;font-weight:700}#products .introBand .introGrid .quoteBox .author p{font-size:.9rem;font-weight:600}@media (width<=768px){#products .introBand .introGrid .quoteBox{padding:40px 20px}}#products .productsBand{background:#efeff0;padding:60px 0}#products .productsBand .productsGrid{grid-template-columns:1fr;gap:30px;max-width:900px;margin:0 auto;padding:0 40px;display:grid}@media (width<=768px){#products .productsBand .productsGrid{padding:0 20px}}#products .productsBand .productsGrid .productCard{background:#fff;transition:transform .2s,box-shadow .2s}#products .productsBand .productsGrid .productCard:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001a}#products .productsBand .productsGrid .productCard.featured{border-left:4px solid var(--primary-color,#de411b)}#products .productsBand .productsGrid .productCard .cardContent{padding:50px}@media (width<=768px){#products .productsBand .productsGrid .productCard .cardContent{padding:30px}}#products .productsBand .productsGrid .productCard h3{text-transform:uppercase;letter-spacing:-.01em;margin-bottom:10px;font-size:1.75rem;font-weight:700}#products .productsBand .productsGrid .productCard .tagline{color:var(--primary-color,#de411b);margin-bottom:20px;font-size:1.1rem;font-weight:500;display:block}#products .productsBand .productsGrid .productCard p{color:var(--text-secondary,#555);margin-bottom:25px;font-size:1rem;line-height:1.7}#products .productsBand .productsGrid .productCard .learnMore{text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--primary-color,#de411b);padding:12px 30px;font-family:Roboto Condensed,Roboto,sans-serif;font-size:.9rem;font-weight:700;text-decoration:none;transition:background .2s;display:inline-block}#products .productsBand .productsGrid .productCard .learnMore:hover{background:#c13617}#reqiq .introBand{padding:0}#reqiq .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#reqiq .introBand .introGrid{grid-template-columns:1fr}}#reqiq .introBand .introGrid .textBox{background:#fff;padding:60px}#reqiq .introBand .introGrid .textBox h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#reqiq .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#reqiq .introBand .introGrid .textBox{padding:40px 20px}}#reqiq .introBand .introGrid .quoteBox{background:var(--primary-color,#de411b);color:#fff;flex-direction:column;justify-content:center;padding:60px;display:flex}#reqiq .introBand .introGrid .quoteBox .quote{margin-bottom:30px;font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:400;line-height:1.6}#reqiq .introBand .introGrid .quoteBox .author h4{margin-bottom:5px;font-size:1.1rem;font-weight:700}@media (width<=768px){#reqiq .introBand .introGrid .quoteBox{padding:40px 20px}}#reqiq .sectionHeader{text-align:center;margin-bottom:50px}#reqiq .sectionHeader h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:10px;font-size:2rem;font-weight:700}#reqiq .sectionHeader .subtitle{color:var(--text-secondary,#555);font-size:1.1rem}#reqiq .capabilitiesBand{background:#efeff0;padding:80px 40px}@media (width<=768px){#reqiq .capabilitiesBand{padding:60px 20px}}#reqiq .capabilitiesBand .capabilitiesGrid{grid-template-columns:repeat(2,1fr);gap:30px;max-width:1200px;margin:0 auto;display:grid}@media (width<=900px){#reqiq .capabilitiesBand .capabilitiesGrid{grid-template-columns:1fr}}#reqiq .capabilitiesBand .capabilitiesGrid .capabilityCard{background:#fff;padding:40px;position:relative}#reqiq .capabilitiesBand .capabilitiesGrid .capabilityCard .number{color:var(--primary-color,#de411b);opacity:.3;margin-bottom:15px;font-size:3rem;font-weight:700;line-height:1;display:block}#reqiq .capabilitiesBand .capabilitiesGrid .capabilityCard h3{text-transform:uppercase;letter-spacing:-.01em;margin-bottom:15px;font-size:1.25rem;font-weight:700}#reqiq .capabilitiesBand .capabilitiesGrid .capabilityCard p{color:var(--text-secondary,#555);font-size:1rem;line-height:1.7}#reqiq .differentiationBand{background:#fff;padding:80px 40px}@media (width<=768px){#reqiq .differentiationBand{padding:60px 20px}}#reqiq .differentiationBand .differentiationGrid{grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto;display:grid}@media (width<=1100px){#reqiq .differentiationBand .differentiationGrid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){#reqiq .differentiationBand .differentiationGrid{grid-template-columns:1fr}}#reqiq .differentiationBand .differentiationGrid .diffCard{text-align:center;padding:30px 20px}#reqiq .differentiationBand .differentiationGrid .diffCard h3{text-transform:uppercase;color:var(--primary-color,#de411b);margin-bottom:15px;font-size:1.1rem;font-weight:700}#reqiq .differentiationBand .differentiationGrid .diffCard p{color:var(--text-secondary,#555);font-size:.95rem;line-height:1.6}#reqiq .resultsBand{background:var(--primary-color,#de411b);color:#fff;padding:80px 40px}@media (width<=768px){#reqiq .resultsBand{padding:60px 20px}}#reqiq .resultsBand .resultsGrid{text-align:center;grid-template-columns:repeat(3,1fr);gap:40px;max-width:1000px;margin:0 auto;display:grid}@media (width<=768px){#reqiq .resultsBand .resultsGrid{grid-template-columns:1fr;gap:50px}}#reqiq .resultsBand .resultsGrid .resultCard .stat{margin-bottom:15px;font-size:4rem;font-weight:700;line-height:1;display:block}@media (width<=768px){#reqiq .resultsBand .resultsGrid .resultCard .stat{font-size:3rem}}#reqiq .resultsBand .resultsGrid .resultCard h3{text-transform:uppercase;margin-bottom:10px;font-size:1.25rem;font-weight:700}#reqiq .resultsBand .resultsGrid .resultCard p{opacity:.9;font-size:1rem}#reqiq .pricingBand{background:#efeff0;padding:80px 40px}@media (width<=768px){#reqiq .pricingBand{padding:60px 20px}}#reqiq .pricingBand .pricingGrid{grid-template-columns:repeat(3,1fr);gap:30px;max-width:1100px;margin:0 auto;display:grid}@media (width<=900px){#reqiq .pricingBand .pricingGrid{grid-template-columns:1fr;max-width:400px}}#reqiq .pricingBand .pricingGrid .pricingCard{text-align:center;background:#fff;padding:40px 30px;transition:transform .2s,box-shadow .2s}#reqiq .pricingBand .pricingGrid .pricingCard:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001a}#reqiq .pricingBand .pricingGrid .pricingCard.featured{border:2px solid var(--primary-color,#de411b);position:relative}#reqiq .pricingBand .pricingGrid .pricingCard.featured:before{content:"Popular";background:var(--primary-color,#de411b);color:#fff;text-transform:uppercase;letter-spacing:.05em;padding:4px 15px;font-size:.75rem;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}#reqiq .pricingBand .pricingGrid .pricingCard h3{text-transform:uppercase;margin-bottom:20px;font-size:1.25rem;font-weight:700}#reqiq .pricingBand .pricingGrid .pricingCard ul{text-align:left;margin:0;padding:0;list-style:none}#reqiq .pricingBand .pricingGrid .pricingCard ul li{color:var(--text-secondary,#555);border-bottom:1px solid #eee;padding:10px 0;font-size:.95rem}#reqiq .pricingBand .pricingGrid .pricingCard ul li:last-child{border-bottom:none}#iotgtw .introBand{padding:0}#iotgtw .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#iotgtw .introBand .introGrid{grid-template-columns:1fr}}#iotgtw .introBand .introGrid .textBox{background:#fff;padding:60px}#iotgtw .introBand .introGrid .textBox h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#iotgtw .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#iotgtw .introBand .introGrid .textBox{padding:40px 20px}}#iotgtw .introBand .introGrid .quoteBox{background:var(--primary-color,#de411b);color:#fff;flex-direction:column;justify-content:center;padding:60px;display:flex}#iotgtw .introBand .introGrid .quoteBox .quote{margin-bottom:30px;font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:400;line-height:1.6}#iotgtw .introBand .introGrid .quoteBox .author h4{margin-bottom:5px;font-size:1.1rem;font-weight:700}@media (width<=768px){#iotgtw .introBand .introGrid .quoteBox{padding:40px 20px}}#iotgtw .sectionHeader{text-align:center;margin-bottom:50px}#iotgtw .sectionHeader.light{color:#fff}#iotgtw .sectionHeader h2{text-transform:uppercase;letter-spacing:-.02em;font-size:2rem;font-weight:700}#iotgtw .featuresBand{background:#efeff0;padding:80px 40px}@media (width<=768px){#iotgtw .featuresBand{padding:60px 20px}}#iotgtw .featuresBand .featuresGrid{grid-template-columns:repeat(3,1fr);gap:30px;max-width:1200px;margin:0 auto;display:grid}@media (width<=900px){#iotgtw .featuresBand .featuresGrid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){#iotgtw .featuresBand .featuresGrid{grid-template-columns:1fr}}#iotgtw .featuresBand .featuresGrid .featureCard{background:#fff;padding:30px}#iotgtw .featuresBand .featuresGrid .featureCard h3{text-transform:uppercase;color:var(--primary-color,#de411b);margin-bottom:15px;font-size:1.1rem;font-weight:700}#iotgtw .featuresBand .featuresGrid .featureCard p{color:var(--text-secondary,#555);font-size:.95rem;line-height:1.6}#iotgtw .useCasesBand{background:var(--primary-color,#de411b);padding:80px 40px}@media (width<=768px){#iotgtw .useCasesBand{padding:60px 20px}}#iotgtw .useCasesBand .useCasesGrid{grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto;display:grid}@media (width<=1000px){#iotgtw .useCasesBand .useCasesGrid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){#iotgtw .useCasesBand .useCasesGrid{grid-template-columns:1fr}}#iotgtw .useCasesBand .useCasesGrid .useCaseCard{text-align:center;color:#fff}#iotgtw .useCasesBand .useCasesGrid .useCaseCard h3{text-transform:uppercase;margin-bottom:15px;font-size:1.1rem;font-weight:700}#iotgtw .useCasesBand .useCasesGrid .useCaseCard p{opacity:.9;font-size:.95rem;line-height:1.6}#fbcm .introBand{padding:0}#fbcm .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#fbcm .introBand .introGrid{grid-template-columns:1fr}}#fbcm .introBand .introGrid .textBox{background:#fff;padding:60px}#fbcm .introBand .introGrid .textBox h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#fbcm .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#fbcm .introBand .introGrid .textBox{padding:40px 20px}}#fbcm .introBand .introGrid .quoteBox{background:var(--primary-color,#de411b);color:#fff;flex-direction:column;justify-content:center;padding:60px;display:flex}#fbcm .introBand .introGrid .quoteBox .quote{margin-bottom:30px;font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:400;line-height:1.6}#fbcm .introBand .introGrid .quoteBox .author h4{margin-bottom:5px;font-size:1.1rem;font-weight:700}@media (width<=768px){#fbcm .introBand .introGrid .quoteBox{padding:40px 20px}}#fbcm .sectionHeader{text-align:center;margin-bottom:50px}#fbcm .sectionHeader.light{color:#fff}#fbcm .sectionHeader h2{text-transform:uppercase;letter-spacing:-.02em;font-size:2rem;font-weight:700}#fbcm .paradigmBand{background:#efeff0;padding:80px 40px}@media (width<=768px){#fbcm .paradigmBand{padding:60px 20px}}#fbcm .paradigmBand .comparisonGrid{grid-template-columns:1fr 1fr;gap:30px;max-width:900px;margin:0 auto 40px;display:grid}@media (width<=768px){#fbcm .paradigmBand .comparisonGrid{grid-template-columns:1fr}}#fbcm .paradigmBand .comparisonGrid .comparisonCard{padding:40px}#fbcm .paradigmBand .comparisonGrid .comparisonCard h3{text-transform:uppercase;margin-bottom:20px;font-size:1.2rem;font-weight:700}#fbcm .paradigmBand .comparisonGrid .comparisonCard ul{margin:0;padding:0;list-style:none}#fbcm .paradigmBand .comparisonGrid .comparisonCard ul li{border-bottom:1px solid #0000001a;padding:10px 0;font-size:1rem}#fbcm .paradigmBand .comparisonGrid .comparisonCard ul li:last-child{border-bottom:none}#fbcm .paradigmBand .comparisonGrid .comparisonCard.traditional{color:var(--text-secondary,#555);background:#fff}#fbcm .paradigmBand .comparisonGrid .comparisonCard.traditional h3{color:#333}#fbcm .paradigmBand .comparisonGrid .comparisonCard.fbcm{background:var(--primary-color,#de411b);color:#fff}#fbcm .paradigmBand .comparisonGrid .comparisonCard.fbcm li{border-bottom-color:#fff3}#fbcm .paradigmBand .paradigmText{text-align:center;max-width:800px;color:var(--text-secondary,#555);margin:0 auto;font-size:1.1rem;line-height:1.7}#fbcm .howItWorksBand{background:var(--primary-color,#de411b);padding:80px 40px}@media (width<=768px){#fbcm .howItWorksBand{padding:60px 20px}}#fbcm .howItWorksBand .stepsGrid{grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto;display:grid}@media (width<=1000px){#fbcm .howItWorksBand .stepsGrid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){#fbcm .howItWorksBand .stepsGrid{grid-template-columns:1fr}}#fbcm .howItWorksBand .stepsGrid .stepCard{color:#fff;background:#ffffff1a;padding:30px}#fbcm .howItWorksBand .stepsGrid .stepCard .stepNumber{opacity:.5;margin-bottom:15px;font-size:2.5rem;font-weight:700;display:block}#fbcm .howItWorksBand .stepsGrid .stepCard h3{text-transform:uppercase;margin-bottom:15px;font-size:1.1rem;font-weight:700}#fbcm .howItWorksBand .stepsGrid .stepCard p{opacity:.9;font-size:.95rem;line-height:1.6}#fbcm .benefitsBand{background:#fff;padding:80px 40px}@media (width<=768px){#fbcm .benefitsBand{padding:60px 20px}}#fbcm .benefitsBand .benefitsGrid{grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto;display:grid}@media (width<=1000px){#fbcm .benefitsBand .benefitsGrid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){#fbcm .benefitsBand .benefitsGrid{grid-template-columns:1fr}}#fbcm .benefitsBand .benefitsGrid .benefitCard{background:#efeff0;padding:30px}#fbcm .benefitsBand .benefitsGrid .benefitCard h3{text-transform:uppercase;color:var(--primary-color,#de411b);margin-bottom:15px;font-size:1.1rem;font-weight:700}#fbcm .benefitsBand .benefitsGrid .benefitCard p{color:var(--text-secondary,#555);font-size:.95rem;line-height:1.6}#fbcm .lifecycleBand{background:var(--primary-color,#de411b);padding:80px 40px}@media (width<=768px){#fbcm .lifecycleBand{padding:60px 20px}}#fbcm .lifecycleBand .lifecycleIntro{text-align:center;color:#ffffffe6;max-width:800px;margin:-30px auto 50px;font-size:1.1rem;line-height:1.7}#fbcm .lifecycleBand .lifecycleGrid{grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto;display:grid}@media (width<=1000px){#fbcm .lifecycleBand .lifecycleGrid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){#fbcm .lifecycleBand .lifecycleGrid{grid-template-columns:1fr}}#fbcm .lifecycleBand .lifecycleGrid .lifecycleCard{color:#fff;text-align:center;background:#ffffff1a;padding:30px}#fbcm .lifecycleBand .lifecycleGrid .lifecycleCard .lifecycleNumber{width:50px;height:50px;color:var(--primary-color,#de411b);background:#fff;border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;font-size:1.5rem;font-weight:700;display:inline-flex}#fbcm .lifecycleBand .lifecycleGrid .lifecycleCard h3{text-transform:uppercase;margin-bottom:10px;font-size:1.1rem;font-weight:700}#fbcm .lifecycleBand .lifecycleGrid .lifecycleCard .duration{opacity:.7;margin-bottom:15px;font-size:.9rem;display:block}#fbcm .lifecycleBand .lifecycleGrid .lifecycleCard p{opacity:.9;font-size:.95rem;line-height:1.5}#fbcm .audienceBand{background:#efeff0;padding:80px 40px}@media (width<=768px){#fbcm .audienceBand{padding:60px 20px}}#fbcm .audienceBand .audienceGrid{grid-template-columns:repeat(3,1fr);gap:30px;max-width:1000px;margin:0 auto;display:grid}@media (width<=900px){#fbcm .audienceBand .audienceGrid{grid-template-columns:1fr}}#fbcm .audienceBand .audienceGrid .audienceCard{background:#fff;padding:40px}#fbcm .audienceBand .audienceGrid .audienceCard h3{text-transform:uppercase;color:var(--primary-color,#de411b);margin-bottom:15px;font-size:1.1rem;font-weight:700}#fbcm .audienceBand .audienceGrid .audienceCard p{color:var(--text-secondary,#555);font-size:.95rem;line-height:1.6}.home-hero.fwkPageBand{width:100vw;min-height:70vh;margin-left:calc(50% - 50vw);position:relative;overflow:hidden}.home-hero.fwkPageBand>.hero-bg{z-index:0;position:absolute;inset:0}.home-hero.fwkPageBand>.hero-bg img{object-fit:cover;width:100%;height:100%;display:block}.home-hero.fwkPageBand>.hero-bg:after{content:"";background:linear-gradient(90deg,#ffffffd9 0%,#fff9 40%,#fff3 70%,#fff0 100%);position:absolute;inset:0}.home-hero.fwkPageBand>.container-fluid{z-index:1;position:relative}.home-hero.fwkPageBand .hero-content{min-height:70vh;padding:2rem;position:relative}.home-hero.fwkPageBand #herotext{color:#fff;text-shadow:2px 2px 4px #00000080;margin-bottom:1.5rem;font-size:2.5rem;font-weight:700}.home-hero.fwkPageBand #socialicons{gap:1rem;display:flex}@media (width<=768px){.home-hero.fwkPageBand,.home-hero.fwkPageBand .hero-content{min-height:50vh}.home-hero.fwkPageBand #herotext{font-size:1.75rem}}.stats-band{background:var(--primary-color,#de411b);padding:60px 0}.stats-band .statsGrid{text-align:center;grid-template-columns:repeat(4,1fr);gap:40px;max-width:1200px;margin:0 auto;padding:0 40px;display:grid}@media (width<=900px){.stats-band .statsGrid{grid-template-columns:repeat(2,1fr);gap:40px 20px}}@media (width<=500px){.stats-band .statsGrid{grid-template-columns:1fr;gap:30px}}.stats-band .statsGrid .statCard{color:#fff}.stats-band .statsGrid .statCard .statNumber{margin-bottom:10px;font-size:3rem;font-weight:700;line-height:1;display:block}@media (width<=768px){.stats-band .statsGrid .statCard .statNumber{font-size:2.5rem}}.stats-band .statsGrid .statCard .statLabel{text-transform:uppercase;letter-spacing:.05em;opacity:.9;font-size:1rem;font-weight:500;display:block}.offices-section .hero{width:100%}.offices-section #herotext{z-index:2;color:#000;text-align:center;text-transform:uppercase;letter-spacing:-.02em;font-family:Roboto Condensed,Roboto,sans-serif;font-size:2.5rem;font-weight:700;line-height:1.1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width<=768px){.offices-section #herotext{padding:0 20px;font-size:1.5rem}}.offices-section #offices{z-index:2;padding:20px 40px;position:absolute;bottom:0;left:0}@media (width<=768px){.offices-section #offices{padding:20px}}.offices-section #offices h3{color:#000;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:10px;font-family:Roboto Condensed,Roboto,sans-serif;font-size:1.5rem;font-weight:700}.offices-section #offices .officeList{flex-flow:wrap;gap:10px 15px;display:flex}.offices-section #offices .officeList .office{color:#333;border-left:3px solid var(--primary-color,#de411b);background:#ffffffe6;border-radius:4px;padding:8px 16px;font-weight:500;text-decoration:none;transition:all .2s}.offices-section #offices .officeList .office:hover{background:var(--primary-color,#de411b);color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #0003}#design .introBand{padding:0}#design .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#design .introBand .introGrid{grid-template-columns:1fr}}#design .introBand .introGrid .textBox{background:#fff;padding:60px}#design .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#design .introBand .introGrid .textBox{padding:40px 20px}}#design .contentBand{padding:0}#design .contentBand.alt .contentGrid .textContent{background:#fff}#design .contentBand .contentGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#design .contentBand .contentGrid{grid-template-columns:1fr}#design .contentBand .contentGrid.reverse .imageContent{order:2}#design .contentBand .contentGrid.reverse .textContent{order:1}}#design .contentBand .contentGrid .textContent{background:#efeff0;padding:60px}#design .contentBand .contentGrid .textContent p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#design .contentBand .contentGrid .textContent{padding:40px 20px}}#design .contentBand .contentGrid .imageContent img{object-fit:cover;width:100%;height:100%;min-height:400px}#contact .hero{min-height:300px}#contact #herotext{z-index:2;color:var(--text-dark,#000);text-transform:uppercase;letter-spacing:-.02em;font-family:Roboto Condensed,Roboto,sans-serif;font-size:3rem;font-weight:700;line-height:1;position:absolute;bottom:40px;left:40px}#contact #herotext:before{content:"";background-color:var(--primary-color,#de411b);width:60px;height:4px;margin-bottom:15px;display:block}@media (width<=768px){#contact #herotext{font-size:2rem;bottom:30px;left:20px}}#contact .introBand{padding:0}#contact .introBand .introContent{background:#fff;max-width:800px;padding:60px}#contact .introBand .introContent .accentBar{background:var(--primary-color,#de411b);width:60px;height:4px;margin-bottom:20px}#contact .introBand .introContent h2{text-transform:uppercase;letter-spacing:-.02em;color:var(--text-dark,#000);margin-bottom:20px;font-family:Roboto Condensed,Roboto,sans-serif;font-size:2rem;font-weight:700}#contact .introBand .introContent p{color:var(--text-secondary,#555);font-family:Roboto,sans-serif;font-size:1rem;line-height:1.7}@media (width<=768px){#contact .introBand .introContent{padding:40px 20px}}#consultancy .heroContent{max-width:700px}#consultancy .heroContent .tag{text-transform:uppercase;letter-spacing:.1em;color:var(--primary-color,#de411b);margin-bottom:10px;font-size:.85rem;font-weight:600;display:block}#consultancy .heroContent h1{text-transform:uppercase;margin-bottom:20px;font-size:3rem;font-weight:700;line-height:1}#consultancy .heroContent .subtitle{font-size:1.2rem;font-weight:300}#consultancy .introBand{padding:0}#consultancy .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#consultancy .introBand .introGrid{grid-template-columns:1fr}}#consultancy .introBand .introGrid .textBox{background:#fff;padding:60px}#consultancy .introBand .introGrid .textBox p{color:var(--text-secondary,#555);font-size:1rem;line-height:1.7}@media (width<=768px){#consultancy .introBand .introGrid .textBox{padding:40px 20px}}#consultancy .contentBand{padding:0}#consultancy .contentBand.alt .contentGrid .textContent{background:#fff}#consultancy .contentBand .contentGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#consultancy .contentBand .contentGrid{grid-template-columns:1fr}#consultancy .contentBand .contentGrid.reverse .imageContent{order:2}#consultancy .contentBand .contentGrid.reverse .textContent{order:1}}#consultancy .contentBand .contentGrid .textContent{background:#efeff0;padding:60px}#consultancy .contentBand .contentGrid .textContent p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#consultancy .contentBand .contentGrid .textContent{padding:40px 20px}}#consultancy .contentBand .contentGrid .imageContent img{object-fit:cover;width:100%;height:100%;min-height:400px}#agile .introBand{padding:0}#agile .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#agile .introBand .introGrid{grid-template-columns:1fr}}#agile .introBand .introGrid .textBox{background:#fff;padding:60px}#agile .introBand .introGrid .textBox p{color:var(--text-secondary,#555);font-size:1rem;line-height:1.7}@media (width<=768px){#agile .introBand .introGrid .textBox{padding:40px 20px}}#agile .contentBand{padding:0}#agile .contentBand.alt .contentGrid .textContent{background:#fff}#agile .contentBand .contentGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#agile .contentBand .contentGrid{grid-template-columns:1fr}#agile .contentBand .contentGrid.reverse .imageContent{order:2}#agile .contentBand .contentGrid.reverse .textContent{order:1}}#agile .contentBand .contentGrid .textContent{background:#efeff0;padding:60px}#agile .contentBand .contentGrid .textContent p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#agile .contentBand .contentGrid .textContent{padding:40px 20px}}#agile .contentBand .contentGrid .imageContent img{object-fit:cover;width:100%;height:100%;min-height:400px}#about .introBand{padding:0}#about .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#about .introBand .introGrid{grid-template-columns:1fr}}#about .introBand .introGrid .textBox{background:#fff;padding:60px}#about .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:20px;font-size:1rem;line-height:1.7}#about .introBand .introGrid .textBox .readMore{text-transform:uppercase;letter-spacing:.05em;color:inherit;border-bottom:2px solid var(--primary-color,#de411b);padding-bottom:2px;font-family:Roboto Condensed,Roboto,sans-serif;font-size:.875rem;font-weight:700;text-decoration:none;transition:color .2s;display:inline-block}#about .introBand .introGrid .textBox .readMore:hover{color:var(--primary-color,#de411b)}@media (width<=768px){#about .introBand .introGrid .textBox{padding:40px 20px}}#about .contentBand{padding:0}#about .contentBand.alt .contentGrid .textContent{background:#fff}#about .contentBand .contentGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#about .contentBand .contentGrid{grid-template-columns:1fr}#about .contentBand .contentGrid.reverse .imageContent{order:2}#about .contentBand .contentGrid.reverse .textContent{order:1}}#about .contentBand .contentGrid .textContent{background:#efeff0;padding:60px}#about .contentBand .contentGrid .textContent p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}#about .contentBand .contentGrid .textContent .readMore{text-transform:uppercase;letter-spacing:.05em;color:inherit;border-bottom:2px solid var(--primary-color,#de411b);padding-bottom:2px;font-family:Roboto Condensed,Roboto,sans-serif;font-size:.875rem;font-weight:700;text-decoration:none;transition:color .2s;display:inline-block}#about .contentBand .contentGrid .textContent .readMore:hover{color:var(--primary-color,#de411b)}@media (width<=768px){#about .contentBand .contentGrid .textContent{padding:40px 20px}}#about .groupBand{background:var(--primary-color,#de411b);padding:80px 40px}@media (width<=768px){#about .groupBand{padding:60px 20px}}#about .groupBand .sectionHeader{text-align:center;color:#fff;margin-bottom:50px}#about .groupBand .sectionHeader h2{text-transform:uppercase;letter-spacing:-.02em;font-size:2rem;font-weight:700}#about .groupBand .groupGrid{grid-template-columns:repeat(2,1fr);gap:30px;max-width:1000px;margin:0 auto;display:grid}@media (width<=768px){#about .groupBand .groupGrid{grid-template-columns:1fr}}#about .groupBand .groupGrid .groupCard{color:#fff;background:#ffffff1a;padding:40px 30px;text-decoration:none;transition:background .3s,transform .2s;display:block}#about .groupBand .groupGrid .groupCard:hover{background:#fff3;transform:translateY(-5px)}#about .groupBand .groupGrid .groupCard h3{text-transform:uppercase;margin-bottom:15px;font-size:1.2rem;font-weight:700}#about .groupBand .groupGrid .groupCard p{opacity:.9;margin-bottom:20px;font-size:.95rem;line-height:1.6}#about .groupBand .groupGrid .groupCard .cardLink{text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #fff;padding-bottom:2px;font-size:.875rem;font-weight:700;display:inline-block}#values .hero{min-height:300px}#values #herotext{z-index:2;color:var(--text-dark,#000);text-transform:uppercase;letter-spacing:-.02em;font-family:Roboto Condensed,Roboto,sans-serif;font-size:3rem;font-weight:700;line-height:1;position:absolute;bottom:40px;left:40px}#values #herotext:before{content:"";background-color:var(--primary-color,#de411b);width:60px;height:4px;margin-bottom:15px;display:block}@media (width<=768px){#values #herotext{font-size:2rem;bottom:30px;left:20px}}#values .introBand{padding:0}#values .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#values .introBand .introGrid{grid-template-columns:1fr}}#values .introBand .introGrid .textBox{background:#fff;padding:60px}#values .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#values .introBand .introGrid .textBox{padding:40px 20px}}#values .valuesBand{background:#f7f7f8;padding:0}#values .valuesBand .valuesGrid{grid-template-columns:repeat(3,1fr);gap:0;display:grid}@media (width<=992px){#values .valuesBand .valuesGrid{grid-template-columns:repeat(2,1fr)}}@media (width<=576px){#values .valuesBand .valuesGrid{grid-template-columns:1fr}}#values .valuesBand .valuesGrid .valueCard{background:#efeff0;min-height:200px;padding:40px}#values .valuesBand .valuesGrid .valueCard.dark{color:#fff;background:#64666d}#values .valuesBand .valuesGrid .valueCard.dark p{color:#ffffffe6}@media (width>=993px){#values .valuesBand .valuesGrid .valueCard:nth-child(4),#values .valuesBand .valuesGrid .valueCard:nth-child(5){grid-column:span 1}}#values .valuesBand .valuesGrid .valueCard p{color:var(--text-secondary,#555);font-size:.95rem;line-height:1.6}#story .introBand{padding:0}#story .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#story .introBand .introGrid{grid-template-columns:1fr}}#story .introBand .introGrid .textBox{background:#fff;padding:60px}#story .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#story .introBand .introGrid .textBox{padding:40px 20px}}#story .contentBand{padding:0}#story .contentBand.alt .contentGrid .textContent{background:#fff}#story .contentBand .contentGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#story .contentBand .contentGrid{grid-template-columns:1fr}#story .contentBand .contentGrid.reverse .imageContent{order:2}#story .contentBand .contentGrid.reverse .textContent{order:1}}#story .contentBand .contentGrid .textContent{background:#efeff0;padding:60px}#story .contentBand .contentGrid .textContent p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#story .contentBand .contentGrid .textContent{padding:40px 20px}}#story .contentBand .contentGrid .imageContent img{object-fit:cover;width:100%;height:100%;min-height:400px}#caseStudies .introBand{padding:0}#caseStudies .introBand .introGrid{grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){#caseStudies .introBand .introGrid{grid-template-columns:1fr}}#caseStudies .introBand .introGrid .textBox{background:#fff;padding:60px}#caseStudies .introBand .introGrid .textBox h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-size:2rem;font-weight:700}#caseStudies .introBand .introGrid .textBox p{color:var(--text-secondary,#555);margin-bottom:15px;font-size:1rem;line-height:1.7}@media (width<=768px){#caseStudies .introBand .introGrid .textBox{padding:40px 20px}}#caseStudies .introBand .introGrid .quoteBox{background:var(--primary-color,#de411b);color:#fff;flex-direction:column;justify-content:center;padding:60px;display:flex}#caseStudies .introBand .introGrid .quoteBox .quote{margin-bottom:30px;font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:400;line-height:1.6}#caseStudies .introBand .introGrid .quoteBox .author h4{margin-bottom:5px;font-size:1.1rem;font-weight:700}@media (width<=768px){#caseStudies .introBand .introGrid .quoteBox{padding:40px 20px}}#caseStudies .caseStudiesBand{padding:0}#caseStudies .caseStudiesBand .caseStudyCard{background:#efeff0;border-bottom:1px solid #e0e0e0;padding:60px}#caseStudies .caseStudiesBand .caseStudyCard.alt{background:#fff}@media (width<=768px){#caseStudies .caseStudiesBand .caseStudyCard{padding:40px 20px}}#caseStudies .caseStudiesBand .caseStudyCard .category{text-transform:uppercase;letter-spacing:.1em;color:var(--primary-color,#de411b);margin-bottom:10px;font-size:.8rem;font-weight:700;display:inline-block}#caseStudies .caseStudiesBand .caseStudyCard h2{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:10px;font-size:1.75rem;font-weight:700}#caseStudies .caseStudiesBand .caseStudyCard .client{color:var(--text-secondary,#555);margin-bottom:30px;font-size:1.1rem;font-style:italic}#caseStudies .caseStudiesBand .caseStudyCard .caseStudyContent{grid-template-columns:1fr 1fr 1fr;gap:40px;display:grid}@media (width<=1000px){#caseStudies .caseStudiesBand .caseStudyCard .caseStudyContent{grid-template-columns:1fr;gap:30px}}#caseStudies .caseStudiesBand .caseStudyCard .caseStudyContent .section h3{text-transform:uppercase;color:var(--primary-color,#de411b);margin-bottom:15px;font-size:1rem;font-weight:700}#caseStudies .caseStudiesBand .caseStudyCard .caseStudyContent .section p{color:var(--text-secondary,#555);font-size:.95rem;line-height:1.7}#caseStudies .caseStudiesBand .caseStudyCard .caseStudyContent .section.outcomes ul{margin:0;padding:0;list-style:none}#caseStudies .caseStudiesBand .caseStudyCard .caseStudyContent .section.outcomes ul li{color:var(--text-secondary,#555);margin-bottom:12px;padding-left:20px;font-size:.95rem;line-height:1.5;position:relative}#caseStudies .caseStudiesBand .caseStudyCard .caseStudyContent .section.outcomes ul li:before{content:"";background:var(--primary-color,#de411b);width:8px;height:8px;position:absolute;top:8px;left:0}.fwkTextFieldX[type=url]{min-width:200px}.fwkTextFieldX[type=template],.fwkTextFieldX[type=html],.fwkTextFieldX[type=jinja]{width:100%;min-width:400px}.fwkTextFieldX[type=template]{height:100%}.fwkTextFieldX[type=template] .template-input-container,.fwkTextFieldX[type=html] .template-input-container,.fwkTextFieldX[type=jinja] .template-input-container{flex-direction:column;flex:1;width:100%;height:100%;min-height:400px;display:flex;overflow:visible}.fwkTextFieldX[type=template] .template-input-toolbar,.fwkTextFieldX[type=html] .template-input-toolbar,.fwkTextFieldX[type=jinja] .template-input-toolbar{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:4px;padding:4px 0;display:flex}.fwkTextFieldX[type=template] .template-engine-label,.fwkTextFieldX[type=html] .template-engine-label,.fwkTextFieldX[type=jinja] .template-engine-label{color:var(--info-colour,#0288d1);font-size:12px;font-weight:600}.fwkTextFieldX[type=template] .template-encoding-label,.fwkTextFieldX[type=html] .template-encoding-label,.fwkTextFieldX[type=jinja] .template-encoding-label{color:var(--textfield-placeholder-color);font-size:11px;font-style:italic}.fwkTextFieldX[type=template] .template-input-help,.fwkTextFieldX[type=html] .template-input-help,.fwkTextFieldX[type=jinja] .template-input-help{flex-shrink:0;margin-top:4px}.fwkTextFieldX[type=template] .template-input-help small,.fwkTextFieldX[type=html] .template-input-help small,.fwkTextFieldX[type=jinja] .template-input-help small{color:var(--textfield-placeholder-color);font-size:11px;line-height:1.3}.fwkTextFieldX[type=select],.fwkTextFieldX[type=select1],.fwkTextFieldX[type=select2]{min-width:150px}.fwkTextFieldX[type=select].inline,.fwkTextFieldX[type=select1].inline,.fwkTextFieldX[type=select2].inline{min-width:0}.fwkTextFieldX[type=multiselect],.fwkTextFieldX[type=multiselect1],.fwkTextFieldX[type=multiselect2]{min-width:200px}.fwkTextFieldX .control .selectInput{width:100%}.fwkTextFieldX .control .selectInput__control{min-height:unset;background-color:unset}.fwkTextFieldX .control .selectInput__input-container,.fwkTextFieldX .control .selectInput__value-container,.fwkTextFieldX .control .selectInput__indicator{margin:0;padding:0}.fwkTextFieldX.inline .selectInput{width:100%;background:0 0!important;border:none!important;outline:none!important}.selectInput__menu-portal{z-index:1100!important}.selectInput__menu-portal .selectInput__menu{min-width:200px}.fwkTextFieldX[type=status]{min-width:150px}.fwkTextFieldX[type=status].inline{min-width:0}.fwkTextFieldX[type=search]{min-width:150px}.fwkTextFieldX[type=search] .searchbox{flex-wrap:nowrap;align-items:center;width:100%;display:flex;position:relative}.fwkTextFieldX[type=search] .searchbox input{flex:1;min-width:0}.fwkTextFieldX[type=search] .searchbox input::-webkit-search-cancel-button{display:none}.fwkTextFieldX[type=search] .searchbox input::-webkit-search-decoration{display:none}.fwkTextFieldX[type=search] .searchbox input::-ms-clear{display:none}.fwkTextFieldX[type=search] .searchbox .search-icons{align-items:center;gap:.25rem;margin-left:.25rem;display:flex}.fwkTextFieldX[type=search] .searchbox .search-icons .clear-button{cursor:pointer;width:1.5rem;height:1.5rem;color:var(--accent-colour);background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:.25rem;display:flex}.fwkTextFieldX[type=search] .searchbox .search-icons .clear-button:hover{background-color:var(--hover-bg-color,#f5f5f5);color:var(--accent-colour-light,var(--accent-colour))}.fwkTextFieldX[type=search] .searchbox .search-icons .clear-button:disabled{cursor:not-allowed;opacity:.5}.fwkTextFieldX[type=search] .searchbox .search-icons .search-icon{color:var(--accent-colour)}.fwkTextFieldX[type=search] .searchbox .search-dropdown{background:var(--paper-colour,#fff);border:1px solid var(--border-light,#0000001a);border-radius:var(--radius-md,8px);box-shadow:var(--shadow-lg,0 10px 25px #00000026);z-index:1000;max-height:300px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-loading,.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-empty{color:var(--text-muted,#6b7280);justify-content:center;align-items:center;gap:8px;padding:16px;font-size:.9rem;display:flex}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-list{margin:0;padding:4px 0;list-style:none}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-list .search-dropdown-item{cursor:pointer;color:var(--colour-text,#1f2937);align-items:center;gap:10px;padding:10px 14px;transition:background .15s;display:flex}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-list .search-dropdown-item:hover{background:var(--accent-colour-faint,#3b82f61a)}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-list .search-dropdown-item .search-result-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:32px;height:32px}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-list .search-dropdown-item .search-result-avatar-placeholder{background:var(--paper-colour-1,#f3f4f6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-list .search-dropdown-item .search-result-avatar-placeholder i{color:var(--text-muted,#9ca3af);font-size:.9rem}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-list .search-dropdown-item .search-result-info{flex:1;min-width:0}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-list .search-dropdown-item .search-result-info .search-result-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-list .search-dropdown-item .search-result-info .search-result-subtitle{color:var(--text-muted,#6b7280);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.react-tel-input{font-family:inherit;width:100%!important;font-size:inherit!important}.react-tel-input .form-control{width:100%!important;font-size:inherit!important;color:var(--textfield-text-color)!important;background:0 0!important;border:none!important;border-radius:0!important;font-family:inherit!important}.react-tel-input .form-control::placeholder{font-style:italic;color:var(--textfield-placeholder-color)!important}.react-tel-input .form-control:focus{box-shadow:none!important;border-color:#0000!important;outline:none!important}.react-tel-input .form-control:disabled{opacity:.6;background-color:var(--textfield-background-disabled)!important;cursor:not-allowed!important}.react-tel-input .flag-dropdown{color:var(--textfield-text-color)!important;border:none!important;border-right:1px solid var(--textfield-border-color)!important;background-color:#0000!important;border-radius:0!important}.react-tel-input .flag-dropdown:hover{background-color:var(--textfield-hover-background,#0000000a)!important}.react-tel-input .flag-dropdown:focus{box-shadow:none!important;outline:none!important}.react-tel-input .flag-dropdown.disabled{opacity:.6;background-color:var(--textfield-background-disabled)!important;cursor:not-allowed!important}.react-tel-input .flag-dropdown.disabled .selected-flag{cursor:not-allowed!important}.react-tel-input .flag-dropdown.open,.react-tel-input .flag-dropdown.open .selected-flag,.react-tel-input .flag-dropdown .selected-flag:hover,.react-tel-input .flag-dropdown .selected-flag:focus{background-color:#0000!important}.react-tel-input .flag-dropdown .selected-flag{padding:0 8px!important}.react-tel-input .flag-dropdown .selected-flag .flag{margin-right:8px!important}.react-tel-input .flag-dropdown .selected-flag .arrow{border-color:var(--textfield-placeholder-color) transparent transparent!important;margin-left:4px!important}.react-tel-input .flag-dropdown .selected-flag .arrow.up{border-color:transparent transparent var(--textfield-placeholder-color)!important}.react-tel-input .country-list{width:300px!important;max-height:300px!important;color:var(--textfield-text-color)!important;background:var(--textfield-dropdown-background,var(--textfield-background))!important;box-shadow:var(--textfield-dropdown-shadow,0 8px 24px #0000002e)!important;border:var(--textfield-border-width) solid var(--textfield-border-color)!important;border-radius:var(--textfield-border-radius)!important;margin-top:2px!important}.react-tel-input .country-list .search{border:none!important;border-bottom:1px solid var(--textfield-border-color)!important;background:0 0!important;padding:10px!important}.react-tel-input .country-list .search .search-box{color:var(--textfield-text-color)!important;background:var(--textfield-background)!important;border:var(--textfield-border-width) solid var(--textfield-border-color)!important;border-radius:var(--textfield-border-radius)!important;font-size:inherit!important;width:100%!important;padding:6px 10px!important}.react-tel-input .country-list .search .search-box::placeholder{color:var(--textfield-placeholder-color)!important}.react-tel-input .country-list .search .search-box:focus{border-color:var(--textfield-focus-color)!important;box-shadow:var(--textfield-focus-shadow)!important;outline:none!important}.react-tel-input .country-list .country{font-size:inherit!important;padding:8px 10px!important}.react-tel-input .country-list .country:hover{background-color:var(--textfield-hover-background,#0000000a)!important}.react-tel-input .country-list .country.highlight{background-color:var(--textfield-focus-color)!important;color:var(--textfield-selected-text-color,#fff)!important}.react-tel-input .country-list .country .flag{margin-right:8px!important}.react-tel-input .country-list .country .country-name{margin-right:6px!important}.react-tel-input .country-list .country .dial-code{color:var(--textfield-placeholder-color)!important}.fwkTextFieldX[type=phone]{width:100%;min-width:150px}.fwkTextFieldX[type=phone] .control{padding:0;overflow:hidden;height:calc(var(--textfield-min-height) + var(--textfield-padding-y) * 2)!important}.fwkTextFieldX[type=phone] .control .react-tel-input{height:100%!important;margin:0!important;padding:0!important}.fwkTextFieldX[type=phone] .control .react-tel-input .flag-dropdown .selected-flag{align-items:center!important;display:flex!important}.fwkTextFieldX[type=password]{min-width:180px}.fwkTextFieldX[type=password] .control .password-input-wrapper,.fwkTextFieldX[type=password] .control .password-input-wrapper>div:first-child{width:100%;position:relative}.fwkTextFieldX[type=password] .control .password-input-wrapper input{padding-right:36px}.fwkTextFieldX[type=password] .control .password-input-wrapper button{border-radius:var(--radius-sm,4px);cursor:pointer;color:var(--text-muted,#666);z-index:1;transition:var(--textfield-transition);background:0 0;border:none;justify-content:center;align-items:center;padding:4px 6px;font-size:14px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.fwkTextFieldX[type=password] .control .password-input-wrapper button:hover{color:var(--accent-colour);background:var(--hover-colour,#0000000d)}.fwkTextFieldX[type=integer]{width:auto;min-width:80px;max-width:140px}.fwkTextFieldX[type=number]{width:auto;min-width:100px;max-width:180px}.fwkTextFieldX[type=currency]{width:auto;min-width:120px;max-width:180px}.fwkTextFieldX.inline .base-number-input-wrapper input{width:100%;background:0 0!important;border:none!important;outline:none!important}.fwkTextFieldX[type=note],.fwkTextFieldX[type=notes]{width:100%;min-width:300px}.fwkTextFieldX[type=note].locked,.fwkTextFieldX[type=notes].locked{pointer-events:auto}.fwkTextFieldX[type=note].locked .ql-toolbar,.fwkTextFieldX[type=notes].locked .ql-toolbar{display:none}.fwkTextFieldX[type=note] .control .quill,.fwkTextFieldX[type=notes] .control .quill{width:100%}.fwkTextFieldX[type=note] .control .ql-container.ql-snow,.fwkTextFieldX[type=notes] .control .ql-container.ql-snow{border:none}.fwkTextFieldX[type=note] .control .ql-toolbar,.fwkTextFieldX[type=notes] .control .ql-toolbar,.fwkTextFieldX[type=note] .control .ql-toolbar.ql-snow,.fwkTextFieldX[type=notes] .control .ql-toolbar.ql-snow{background-color:var(--bg-muted,#f5f5f5);border-radius:var(--textfield-border-radius) var(--textfield-border-radius) 0 0;transition:var(--textfield-transition);border:none}.fwkTextFieldX[type=note] .control .ql-editor,.fwkTextFieldX[type=notes] .control .ql-editor{line-height:1.4;font-family:system-ui,-apple-system,sans-serif!important;font-size:18px!important;font-weight:400!important}.fwkTextFieldX[type=note] .control .ql-editor.ql-blank:before,.fwkTextFieldX[type=notes] .control .ql-editor.ql-blank:before{font-family:system-ui,-apple-system,sans-serif!important;font-size:18px!important;font-weight:400!important}.note{color:#000;background-color:#fff;border:1px solid #ddd;border-radius:4px;margin-bottom:10px}.note .toolbar{color:#666;background-color:#f8f9fa;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.9em;display:flex}.note .toolbar .buttons{gap:4px;display:flex}.note .ql-editor{min-height:100px;padding:12px}.note .ql-container{border:none;border-radius:0 0 4px 4px}.note .ql-toolbar{border:none;border-bottom:1px solid #ddd}.note.readOnly .ql-toolbar{display:none}.note.readOnly .ql-editor{background-color:#f8f9fa}.ql-container.ql-snow.readOnly{border:none}.ql-container.ql-snow.readOnly .ql-editor{color:#495057;background-color:#f8f9fa}.fwkTextFieldX[type=multiline]{width:100%;min-width:200px}.fwkTextFieldX[type=multiline] textarea{min-width:10rem;min-height:var(--textfield-min-height);resize:vertical}.fwkTextFieldX[type=mdeditor]{flex-direction:column;flex:1;width:100%;min-width:300px;height:100%;display:flex}.fwkTextFieldX[type=mdeditor] .control{background:0 0;border:none;flex-direction:column;flex:1;padding:0;display:flex}.fwkTextFieldX[type=mdeditor] .control:focus-within{box-shadow:none}.mdeditor-input-container{flex-direction:column;width:100%;height:100%;display:flex}.mdeditor-input-container .mdeditor-loading{border:1px solid var(--border-color,#ddd);background:var(--bg-secondary,white);min-height:300px;color:var(--text-secondary,#666);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.mdeditor-input-container .mdeditor-loading .loading-spinner{color:var(--accent-color,#4a90d9);font-size:24px}.mdeditor-input-container .mdeditor-loading span{font-size:14px}.mdeditor-input-container.editing{min-height:300px}.mdeditor-input-container.editing .mdxeditor{border:1px solid var(--border-color,#ddd);border-radius:6px;flex-direction:column;flex:1;display:flex;overflow:hidden}.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar{background:var(--bg-tertiary,#f5f5f5);border-bottom:1px solid var(--border-color,#ddd);flex-wrap:wrap;flex-shrink:0;gap:2px;padding:4px 8px}.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar button,.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar [role=button]{color:var(--text-secondary,#666);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 8px;transition:all .15s}.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar button:hover,.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar [role=button]:hover{background:var(--bg-hover,#0000000d);color:var(--text-primary,#333)}.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar button[data-state=on],.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar [role=button][data-state=on],.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar button.active,.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar [role=button].active,.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar button[aria-pressed=true],.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar [role=button][aria-pressed=true]{background:var(--accent-color,#4a90d9);color:#fff}.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar button svg,.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar [role=button] svg{width:18px;height:18px}.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar [data-orientation=vertical]{background:var(--border-color,#ddd);width:1px;height:24px;margin:0 4px}.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar select,.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar .mdxeditor-select{background:var(--bg-secondary,white);border:1px solid var(--border-color,#ddd);color:var(--text-primary,#333);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:13px}.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar select:hover,.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar .mdxeditor-select:hover{border-color:var(--border-hover,#bbb)}.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar select:focus,.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar .mdxeditor-select:focus{border-color:var(--accent-color,#4a90d9);outline:none}.mdeditor-input-container.editing .mdxeditor .mdxeditor-root-contenteditable{flex:1;min-height:200px;overflow-y:auto}.mdeditor-input-container.editing .mdxeditor .mdeditor-content{min-height:200px;color:var(--text-primary,#333);outline:none;padding:16px;font-size:15px;line-height:1.7}.mdeditor-input-container.editing .mdxeditor .mdeditor-content:empty:before{content:attr(data-placeholder);color:var(--text-secondary,#999);font-style:italic}.mdeditor-input-container.editing .mdxeditor .mdeditor-content h1,.mdeditor-input-container.editing .mdxeditor .mdeditor-content h2,.mdeditor-input-container.editing .mdxeditor .mdeditor-content h3,.mdeditor-input-container.editing .mdxeditor .mdeditor-content h4,.mdeditor-input-container.editing .mdxeditor .mdeditor-content h5,.mdeditor-input-container.editing .mdxeditor .mdeditor-content h6{color:var(--text-primary,#222);margin-top:1.5em;margin-bottom:.5em;line-height:1.3}.mdeditor-input-container.editing .mdxeditor .mdeditor-content h1:first-child,.mdeditor-input-container.editing .mdxeditor .mdeditor-content h2:first-child,.mdeditor-input-container.editing .mdxeditor .mdeditor-content h3:first-child,.mdeditor-input-container.editing .mdxeditor .mdeditor-content h4:first-child,.mdeditor-input-container.editing .mdxeditor .mdeditor-content h5:first-child,.mdeditor-input-container.editing .mdxeditor .mdeditor-content h6:first-child{margin-top:0}.mdeditor-input-container.editing .mdxeditor .mdeditor-content h1{font-size:1.75em}.mdeditor-input-container.editing .mdxeditor .mdeditor-content h2{font-size:1.5em}.mdeditor-input-container.editing .mdxeditor .mdeditor-content h3{font-size:1.25em}.mdeditor-input-container.editing .mdxeditor .mdeditor-content h4{font-size:1.1em}.mdeditor-input-container.editing .mdxeditor .mdeditor-content p{margin:.75em 0}.mdeditor-input-container.editing .mdxeditor .mdeditor-content p:first-child{margin-top:0}.mdeditor-input-container.editing .mdxeditor .mdeditor-content a{color:var(--accent-color,#4a90d9);text-decoration:none}.mdeditor-input-container.editing .mdxeditor .mdeditor-content a:hover{text-decoration:underline}.mdeditor-input-container.editing .mdxeditor .mdeditor-content code{background:var(--bg-code,#f5f5f5);border-radius:4px;padding:2px 6px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em}.mdeditor-input-container.editing .mdxeditor .mdeditor-content pre{background:var(--bg-code,#f5f5f5);border-radius:6px;margin:1em 0;padding:12px;line-height:1.5;overflow-x:auto}.mdeditor-input-container.editing .mdxeditor .mdeditor-content pre code{background:0 0;padding:0;font-size:13px}.mdeditor-input-container.editing .mdxeditor .mdeditor-content blockquote{border-left:4px solid var(--accent-color,#4a90d9);background:var(--bg-tertiary,#f9f9f9);color:var(--text-secondary,#666);margin:1em 0;padding:.5em 1em}.mdeditor-input-container.editing .mdxeditor .mdeditor-content ul,.mdeditor-input-container.editing .mdxeditor .mdeditor-content ol{margin:.75em 0;padding-left:1.5em}.mdeditor-input-container.editing .mdxeditor .mdeditor-content ul li,.mdeditor-input-container.editing .mdxeditor .mdeditor-content ol li{margin:.25em 0}.mdeditor-input-container.editing .mdxeditor .mdeditor-content table{border-collapse:collapse;width:100%;margin:1em 0}.mdeditor-input-container.editing .mdxeditor .mdeditor-content table th,.mdeditor-input-container.editing .mdxeditor .mdeditor-content table td{border:1px solid var(--border-color,#ddd);text-align:left;padding:8px 12px}.mdeditor-input-container.editing .mdxeditor .mdeditor-content table th{background:var(--bg-tertiary,#f5f5f5);font-weight:600}.mdeditor-input-container.editing .mdxeditor .mdeditor-content table tr:nth-child(2n){background:var(--bg-tertiary,#fafafa)}.mdeditor-input-container.editing .mdxeditor .mdeditor-content hr{border:none;border-top:2px solid var(--border-color,#eee);margin:1.5em 0}.mdeditor-input-container.editing .mdxeditor .mdeditor-content img{border-radius:6px;max-width:100%}.mdeditor-input-container.locked{flex:1;min-height:0;position:relative}.mdeditor-input-container.locked .markdown-content{background:var(--bg-secondary,white);border:1px solid var(--border-color,#ddd);color:var(--text-primary,#333);border-radius:4px;padding:12px;line-height:1.7;position:absolute;inset:0;overflow-y:auto}.mdeditor-input-container.locked .markdown-content h1,.mdeditor-input-container.locked .markdown-content h2,.mdeditor-input-container.locked .markdown-content h3,.mdeditor-input-container.locked .markdown-content h4,.mdeditor-input-container.locked .markdown-content h5,.mdeditor-input-container.locked .markdown-content h6{color:var(--text-primary,#222);margin-top:1.5em;margin-bottom:.5em}.mdeditor-input-container.locked .markdown-content h1:first-child,.mdeditor-input-container.locked .markdown-content h2:first-child,.mdeditor-input-container.locked .markdown-content h3:first-child,.mdeditor-input-container.locked .markdown-content h4:first-child,.mdeditor-input-container.locked .markdown-content h5:first-child,.mdeditor-input-container.locked .markdown-content h6:first-child{margin-top:0}.mdeditor-input-container.locked .markdown-content h1{border-bottom:2px solid var(--border-color,#eee);padding-bottom:.3em;font-size:1.75em}.mdeditor-input-container.locked .markdown-content h2{border-bottom:1px solid var(--border-color,#eee);padding-bottom:.2em;font-size:1.4em}.mdeditor-input-container.locked .markdown-content p{margin:1em 0}.mdeditor-input-container.locked .markdown-content p:first-child{margin-top:0}.mdeditor-input-container.locked .markdown-content p:last-child{margin-bottom:0}.mdeditor-input-container.locked .markdown-content a{color:var(--accent-color,#4a90d9);text-decoration:none}.mdeditor-input-container.locked .markdown-content a:hover{text-decoration:underline}.mdeditor-input-container.locked .markdown-content code{background:var(--bg-code,#f5f5f5);border-radius:4px;padding:2px 6px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em}.mdeditor-input-container.locked .markdown-content pre{background:var(--bg-code,#f5f5f5);border-radius:6px;margin:1em 0;padding:12px;line-height:1.5;overflow-x:auto}.mdeditor-input-container.locked .markdown-content pre code{background:0 0;padding:0;font-size:13px}.mdeditor-input-container.locked .markdown-content blockquote{border-left:4px solid var(--accent-color,#4a90d9);background:var(--bg-tertiary,#f9f9f9);color:var(--text-secondary,#666);margin:1em 0;padding:.5em 1em}.mdeditor-input-container.locked .markdown-content table{border-collapse:collapse;width:100%;margin:1em 0}.mdeditor-input-container.locked .markdown-content table th,.mdeditor-input-container.locked .markdown-content table td{border:1px solid var(--border-color,#ddd);text-align:left;padding:8px 12px}.mdeditor-input-container.locked .markdown-content table th{background:var(--bg-tertiary,#f5f5f5);font-weight:600}.mdeditor-input-container.locked .markdown-content table tr:nth-child(2n){background:var(--bg-tertiary,#fafafa)}.mdeditor-input-container.locked .markdown-content ul,.mdeditor-input-container.locked .markdown-content ol{margin:1em 0;padding-left:2em}.mdeditor-input-container.locked .markdown-content ul li,.mdeditor-input-container.locked .markdown-content ol li{margin:.3em 0}.mdeditor-input-container.locked .markdown-content hr{border:none;border-top:2px solid var(--border-color,#eee);margin:2em 0}.mdeditor-input-container.locked .markdown-content img{border-radius:6px;max-width:100%}.fwkTextFieldX[type=markdown]{flex-direction:column;flex:auto;width:100%;min-width:300px;height:100%;min-height:200px;display:flex}.fwkTextFieldX[type=markdown] .control{background:0 0;border:none;flex-direction:column;flex:auto;min-height:200px;padding:0;display:flex}.fwkTextFieldX[type=markdown] .control:focus-within{box-shadow:none}.markdown-input-container{flex-direction:column;width:100%;height:100%;min-height:200px;display:flex}.markdown-input-container.editing{min-height:300px}.markdown-input-container .markdown-toolbar.fwkToolBar{border-bottom:none;border-radius:4px 4px 0 0;flex-shrink:0}.markdown-input-container .markdown-toolbar.fwkToolBar .toolbar-label{color:var(--text-secondary,#666);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.markdown-input-container .markdown-toolbar.fwkToolBar .toolbar-label .encoding-label{text-transform:none;color:var(--text-secondary,#999);font-size:10px;font-style:italic;font-weight:400}.markdown-input-container .markdown-toolbar.fwkToolBar .toolbar-label .encoding-label.migrated{color:var(--info-colour,#0288d1);background:var(--info-bg,#e3f2fd);border-radius:3px;padding:2px 6px;font-style:normal}.markdown-input-container .markdown-editor-wrapper{border:1px solid var(--border-color,#ddd);border-radius:0 0 4px 4px;flex:1;gap:0;min-height:0;display:flex;overflow:hidden}.markdown-input-container .markdown-editor-wrapper.with-preview .markdown-editor-pane{border-right:1px solid var(--border-color,#ddd);width:50%}.markdown-input-container .markdown-editor-wrapper.with-preview .markdown-preview-pane{width:50%}.markdown-input-container .markdown-editor-pane{flex-direction:column;width:100%;display:flex}.markdown-input-container .markdown-editor-pane .markdown-textarea{resize:none;box-sizing:border-box;background:var(--bg-secondary,white);width:100%;color:var(--text-primary,#333);border:none;flex:1;padding:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.5;height:100%!important}.markdown-input-container .markdown-editor-pane .markdown-textarea:focus{outline:none}.markdown-input-container .markdown-editor-pane .markdown-textarea::placeholder{color:var(--text-secondary,#999)}.markdown-input-container .markdown-preview-pane{background:var(--bg-secondary,white);flex-direction:column;display:flex;overflow:hidden}.markdown-input-container .markdown-preview-pane .preview-header{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary,#999);background:var(--bg-tertiary,#fafafa);border-bottom:1px solid var(--border-color,#eee);flex-shrink:0;padding:8px 12px;font-size:11px;font-weight:600}.markdown-input-container .markdown-preview-pane .markdown-content{flex:1;padding:12px;overflow-y:auto}.markdown-input-container .markdown-preview-pane .preview-placeholder{color:var(--text-secondary,#999);font-style:italic}.markdown-input-container .markdown-input-help{background:var(--bg-tertiary,#f9f9f9);border:1px solid var(--border-color,#ddd);border-top:none;border-radius:0 0 4px 4px;flex-shrink:0;padding:8px 12px}.markdown-input-container .markdown-input-help small{color:var(--text-secondary,#666);font-size:11px}.markdown-input-container.locked{flex:1;min-height:0}.markdown-input-container.locked .markdown-content{background:var(--bg-secondary,white);border:1px solid var(--border-color,#ddd);border-radius:4px;max-height:100%;padding:12px;overflow-y:auto}.markdown-input-container .markdown-content{color:var(--text-primary,#333);line-height:1.7}.markdown-input-container .markdown-content h1,.markdown-input-container .markdown-content h2,.markdown-input-container .markdown-content h3,.markdown-input-container .markdown-content h4,.markdown-input-container .markdown-content h5,.markdown-input-container .markdown-content h6{color:var(--text-primary,#222);border-bottom:none;margin-top:1.5em;margin-bottom:.5em;padding-bottom:0}.markdown-input-container .markdown-content h1:first-child,.markdown-input-container .markdown-content h2:first-child,.markdown-input-container .markdown-content h3:first-child,.markdown-input-container .markdown-content h4:first-child,.markdown-input-container .markdown-content h5:first-child,.markdown-input-container .markdown-content h6:first-child{margin-top:0}.markdown-input-container .markdown-content h1{border-bottom:2px solid var(--border-color,#eee);padding-bottom:.3em;font-size:1.75em}.markdown-input-container .markdown-content h2{border-bottom:1px solid var(--border-color,#eee);padding-bottom:.2em;font-size:1.4em}.markdown-input-container .markdown-content h3{font-size:1.2em}.markdown-input-container .markdown-content h4{font-size:1.1em}.markdown-input-container .markdown-content p{margin:1em 0}.markdown-input-container .markdown-content p:first-child{margin-top:0}.markdown-input-container .markdown-content p:last-child{margin-bottom:0}.markdown-input-container .markdown-content a{color:var(--accent-color,#4a90d9);text-decoration:none}.markdown-input-container .markdown-content a:hover{text-decoration:underline}.markdown-input-container .markdown-content code{background:var(--bg-code,#f5f5f5);border-radius:4px;padding:2px 6px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em}.markdown-input-container .markdown-content pre{background:var(--bg-code,#f5f5f5);border-radius:6px;margin:1em 0;padding:12px;line-height:1.5;overflow-x:auto}.markdown-input-container .markdown-content pre code{background:0 0;padding:0;font-size:13px}.markdown-input-container .markdown-content blockquote{border-left:4px solid var(--accent-color,#4a90d9);background:var(--bg-tertiary,#f9f9f9);color:var(--text-secondary,#666);margin:1em 0;padding:.5em 1em}.markdown-input-container .markdown-content table{border-collapse:collapse;width:100%;margin:1em 0}.markdown-input-container .markdown-content table th,.markdown-input-container .markdown-content table td{border:1px solid var(--border-color,#ddd);text-align:left;padding:8px 12px}.markdown-input-container .markdown-content table th{background:var(--bg-tertiary,#f5f5f5);font-weight:600}.markdown-input-container .markdown-content table tr:nth-child(2n){background:var(--bg-tertiary,#fafafa)}.markdown-input-container .markdown-content ul,.markdown-input-container .markdown-content ol{margin:1em 0;padding-left:2em}.markdown-input-container .markdown-content ul li,.markdown-input-container .markdown-content ol li{margin:.3em 0}.markdown-input-container .markdown-content ul.contains-task-list{padding-left:1.5em;list-style:none}.markdown-input-container .markdown-content ul.contains-task-list li.task-list-item{align-items:flex-start;gap:8px;display:flex}.markdown-input-container .markdown-content ul.contains-task-list li.task-list-item input[type=checkbox]{margin-top:4px}.markdown-input-container .markdown-content hr{border:none;border-top:2px solid var(--border-color,#eee);margin:2em 0}.markdown-input-container .markdown-content img{border-radius:6px;max-width:100%}.markdown-input-container .markdown-content del{color:var(--text-secondary,#999)}.markdown-help-modal{max-height:calc(80vh - 80px);padding:20px;overflow-y:auto}.markdown-help-modal h1{border-bottom:2px solid var(--border-color,#eee);color:var(--text-primary,#333);margin-top:0;margin-bottom:1em;padding-bottom:.5em;font-size:1.5em}.markdown-help-modal h2{color:var(--text-primary,#444);margin-top:1.5em;margin-bottom:.5em;font-size:1.2em}.markdown-help-modal p{margin:.5em 0;line-height:1.6}.markdown-help-modal table{border-collapse:collapse;width:100%;margin:1em 0;font-size:14px}.markdown-help-modal table th,.markdown-help-modal table td{border:1px solid var(--border-color,#ddd);text-align:left;padding:8px 12px}.markdown-help-modal table th{background:var(--bg-tertiary,#f5f5f5);font-weight:600}.markdown-help-modal table code{background:var(--bg-code,#f0f0f0);border-radius:3px;padding:2px 4px;font-size:12px}.markdown-help-modal pre{background:var(--bg-code,#f5f5f5);border-radius:6px;margin:.5em 0;padding:12px;font-size:13px;line-height:1.4;overflow-x:auto}.markdown-help-modal pre code{background:0 0;padding:0}.markdown-help-modal code{background:var(--bg-code,#f0f0f0);border-radius:3px;padding:2px 6px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em}.markdown-help-modal hr{border:none;border-top:1px solid var(--border-color,#eee);margin:1.5em 0}.markdown-help-modal em{color:var(--text-secondary,#666)}.fwkTextFieldX[type=ipv4]{width:auto;min-width:13em}.fwkTextFieldX[type=ipv4] .control{min-width:13em}.fwkTextFieldX[type=ipv4] .ipv4-input{align-items:center;gap:0;display:inline-flex}.fwkTextFieldX[type=ipv4] .ipv4-segment{align-items:center;display:inline-flex}.fwkTextFieldX[type=ipv4] .ipv4-octet{text-align:center;border:none;border-bottom:1px solid var(--textfield-border-color,#ccc);width:2.8em;font:inherit;color:inherit;background:0 0;padding:0 2px}.fwkTextFieldX[type=ipv4] .ipv4-octet:focus{border-bottom-color:var(--textfield-focus-color,#1976d2);outline:none}.fwkTextFieldX[type=ipv4] .ipv4-octet::placeholder{color:var(--textfield-placeholder-color,#bbb)}.fwkTextFieldX[type=ipv4] .ipv4-dot{-webkit-user-select:none;user-select:none;color:var(--textfield-text-color,inherit);padding:0 1px}.fwkTextFieldX[type=ipv4] .ipv4-display{min-width:13em;font:inherit;color:inherit;display:inline-block}.fwkTextFieldX[type=filter]{min-width:150px}.fwkTextFieldX[type=filter] .control div{flex-wrap:nowrap;align-items:center;display:flex}.excel-renderer{background:var(--paper-colour);border:1px solid var(--border-colour);box-sizing:border-box;border-radius:4px;flex-direction:column;width:100%;max-width:100%;height:100%;display:flex;overflow:hidden}.excel-header{background:var(--bg-muted);border-bottom:1px solid var(--border-colour);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.excel-header .file-info{align-items:center;gap:.5rem;display:flex}.excel-header .file-info .file-name{color:var(--colour-text);font-weight:500}.excel-header .sheet-tabs{gap:.25rem;display:flex}.excel-header .sheet-tabs .sheet-tab{background:var(--bg-muted);border:1px solid var(--border-colour);cursor:pointer;border-radius:4px 4px 0 0;padding:.375rem .75rem;font-size:12px;transition:all .2s}.excel-header .sheet-tabs .sheet-tab:hover{background:var(--hover-colour)}.excel-header .sheet-tabs .sheet-tab.active{background:var(--paper-colour);border-bottom-color:var(--paper-colour);color:var(--accent-colour);font-weight:500}.excel-content{flex:1;width:100%;overflow:hidden}.excel-content .spreadsheet-container{box-sizing:border-box;width:100%;max-height:600px;overflow:auto}.excel-content .spreadsheet-container .excel-table{border-collapse:collapse;table-layout:auto;width:auto;min-width:100%;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:13px}.excel-content .spreadsheet-container .excel-table .row-number{background:var(--bg-muted);border:1px solid var(--border-colour);text-align:center;color:var(--text-muted);z-index:2;min-width:40px;padding:.25rem .5rem;font-weight:500;position:sticky;left:0}.excel-content .spreadsheet-container .excel-table .excel-cell{border:1px solid var(--border-colour);word-wrap:break-word;word-break:break-word;vertical-align:top;text-overflow:ellipsis;white-space:nowrap;min-width:60px;max-width:150px;padding:.375rem .5rem;overflow:hidden}.excel-content .spreadsheet-container .excel-table .excel-cell:hover{white-space:normal;word-wrap:break-word;z-index:10;background:var(--paper-colour);max-width:none;position:relative;box-shadow:0 2px 8px #0000001a}.excel-content .spreadsheet-container .excel-table .excel-cell.header-cell{background:var(--bg-muted);color:var(--colour-text);font-weight:500}.excel-content .spreadsheet-container .excel-table .excel-cell.header-cell:hover{background:var(--hover-colour)}.excel-content .spreadsheet-container .excel-table .header-row .excel-cell{z-index:1;position:sticky;top:0}.excel-content .spreadsheet-container .excel-table tr:nth-child(2n) .excel-cell:not(.header-cell){background:var(--bg-muted)}.excel-content .spreadsheet-container .excel-table tr:hover .excel-cell:not(.header-cell){background:var(--accent-colour-faint)}.excel-footer{background:var(--bg-muted);border-top:1px solid var(--border-colour);color:var(--text-muted);padding:.5rem 1rem;font-size:12px}.excel-footer .sheet-info{align-items:center;gap:1rem;display:flex}.excel-loading,.excel-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.excel-loading .loading-spinner,.excel-error .loading-spinner{border:3px solid var(--border-colour);border-top:3px solid var(--accent-colour);border-radius:50%;width:32px;height:32px;margin-bottom:1rem;animation:1s linear infinite spin}.excel-loading p,.excel-error p{color:var(--text-muted);margin:0}.excel-error p{color:var(--error-colour)}.debug-info{text-align:left;margin-top:1rem}.debug-info details{border:1px solid var(--border-colour);border-radius:4px;padding:.5rem}.debug-info details summary{cursor:pointer;margin-bottom:.5rem;font-weight:500}.debug-info details p{color:var(--text-muted);margin:.25rem 0;font-size:12px}.document-preview-container{box-sizing:border-box;width:100%;max-width:100%;height:100%;position:relative;overflow:hidden}.document-preview-loading{flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.document-preview-loading .loading-spinner{border:3px solid var(--border-colour);border-top:3px solid var(--accent-colour);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}.document-preview-loading p{color:var(--text-muted);margin:0;font-size:14px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.document-preview-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.document-preview-error .error-message{color:var(--error-colour);margin:1rem 0;font-size:14px}.document-preview-error .retry-button{background:var(--accent-colour);color:var(--text-inverse);cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:14px}.document-preview-error .retry-button:hover{background:var(--accent-colour-light)}.native-preview{box-sizing:border-box;width:100%;max-width:100%;height:100%;overflow:hidden}.office-online-preview,.google-docs-preview{box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;height:100%;display:flex;overflow:hidden}.office-online-preview .preview-header,.google-docs-preview .preview-header{border-bottom:1px solid var(--border-colour);background:var(--bg-muted);justify-content:space-between;align-items:center;padding:.5rem;display:flex}.office-online-preview .preview-header .file-info,.google-docs-preview .preview-header .file-info{align-items:center;gap:.5rem;display:flex}.office-online-preview .preview-header .preview-actions,.google-docs-preview .preview-header .preview-actions{gap:.5rem;display:flex}.office-online-preview iframe,.google-docs-preview iframe{flex:1;width:100%;min-height:500px}.download-prompt{text-align:center;border:2px dashed var(--border-colour);background:var(--bg-muted);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.download-prompt .document-info{margin:1rem 0}.download-prompt .document-info h3{color:var(--colour-text);margin:0 0 .5rem;font-size:16px;font-weight:600}.download-prompt .document-info .file-type{color:var(--text-muted);margin:.25rem 0;font-size:14px}.download-prompt .document-info .file-size{color:var(--text-muted);margin:.25rem 0;font-size:12px}.download-prompt .document-info .preview-message{color:var(--text-muted);margin:1rem 0;font-size:13px;font-style:italic}.download-prompt .action-buttons{gap:1rem;margin-top:1rem;display:flex}.download-prompt .action-buttons button{cursor:pointer;border:none;border-radius:4px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:14px;font-weight:500;transition:all .2s;display:flex}.download-prompt .action-buttons button.primary-button{background:var(--accent-colour);color:var(--text-inverse)}.download-prompt .action-buttons button.primary-button:hover{background:var(--accent-colour-light);transform:translateY(-1px)}.download-prompt .action-buttons button.secondary-button{background:var(--paper-colour);color:var(--accent-colour);border:1px solid var(--accent-colour)}.download-prompt .action-buttons button.secondary-button:hover{background:var(--accent-colour-faint);transform:translateY(-1px)}.document-icon-container{flex-direction:column;align-items:center;padding:1rem;display:flex}.document-icon-container .icon-wrapper{margin-bottom:.5rem}.document-icon-container .file-info{text-align:center}.document-icon-container .file-info .file-name{color:var(--colour-text);word-break:break-word;max-width:200px;margin:.25rem 0;font-size:14px;font-weight:500}.document-icon-container .file-info .file-extension{color:var(--text-muted);text-transform:uppercase;margin:0;font-size:12px}@media (width<=768px){.excel-renderer .excel-content .spreadsheet-container{max-height:400px}.excel-renderer .excel-content .spreadsheet-container .excel-table .excel-cell{min-width:40px;max-width:100px;padding:.25rem .375rem;font-size:12px}.excel-renderer .excel-content .spreadsheet-container .excel-table .row-number{min-width:30px;padding:.25rem .375rem;font-size:11px}.download-prompt{padding:1rem}.download-prompt .action-buttons{flex-direction:column;width:100%}.download-prompt .action-buttons button{justify-content:center;width:100%}.office-online-preview iframe,.google-docs-preview iframe{min-height:400px}}.image-preview{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;min-height:100px;display:flex}.image-preview__img{object-fit:contain;max-width:100%;max-height:100%}.image-preview--thumbnail{width:100%;height:100%}.image-preview--thumbnail .image-preview__img{object-fit:cover;width:100%;height:100%}.image-preview--loading,.image-preview--error,.image-preview--empty{color:#666;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;display:flex}.image-preview--loading i,.image-preview--error i,.image-preview--empty i{opacity:.5;font-size:48px}.image-preview--loading i{opacity:1;font-size:24px}.image-preview__error-detail{color:#999;margin-top:4px;font-size:12px}.video-preview{background-color:#1a1a1a;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;min-height:100px;display:flex}.video-preview__video{object-fit:contain;max-width:100%;max-height:100%}.video-preview__play-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.video-preview__play-overlay i{color:#fffc;text-shadow:0 1px 4px #00000080;font-size:36px}.video-preview--thumbnail{width:100%;height:100%;position:relative}.video-preview--thumbnail .video-preview__video{object-fit:cover;width:100%;height:100%}.video-preview--empty{color:#666;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;display:flex}.video-preview--empty i{opacity:.5;font-size:48px}.fwkTextFieldX[type=file]{width:100%;min-width:200px;height:100%}.fwkTextFieldX[type=file].locked{pointer-events:auto}.fwkTextFieldX[type=file] .control .fileInput{min-height:var(--textfield-min-height)}.fwkTextFieldX[type=file] .fileInput{align-content:center;width:100%;height:100%}.fwkTextFieldX[type=file] .fileInputContainer{flex-direction:column;width:100%;height:100%;display:flex}.fwkTextFieldX[type=file] .fileInputContainer .toolbar{z-index:10;background:var(--background-color,white);border-bottom:1px solid var(--border-color,#ddd);flex-shrink:0;position:sticky;top:0}.fwkTextFieldX[type=file] .fileInputContainer .content{flex:1;min-height:0;position:relative;overflow:auto}.fwkTextFieldX[type=file] .fileInputContainer .content:has(.nativePdfViewer){min-height:500px}.fwkTextFieldX[type=file] .dropzoneActive{border:2px solid var(--error-colour,#dc3545)}.fwkTextFieldX[type=file] .pdfViewer{box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;height:100%;padding:10px;display:flex;position:relative}.fwkTextFieldX[type=file] .pdfViewer .react-pdf__Page{justify-content:center;align-items:center;margin-bottom:10px;display:flex}.fwkTextFieldX[type=file] .pdfViewer .react-pdf__Page__canvas{border:1px solid var(--accent-colour)}.fwkTextFieldX[type=file] .pdfViewer[data-zoom-mode=width] .react-pdf__Document{width:100%!important}.fwkTextFieldX[type=file] .pdfViewer[data-zoom-mode=width] .react-pdf__Page{justify-content:flex-start;align-items:flex-start;width:100%!important;height:auto!important;max-height:none!important}.fwkTextFieldX[type=file] .pdfViewer[data-zoom-mode=width] .react-pdf__Page__canvas{width:100%!important;max-width:none!important;height:auto!important;max-height:none!important}.fwkTextFieldX[type=file] .pdfViewer[data-zoom-mode=height]{padding:0;overflow:auto hidden}.fwkTextFieldX[type=file] .pdfViewer[data-zoom-mode=height] .react-pdf__Document{justify-content:flex-start;display:flex}.fwkTextFieldX[type=file] .pdfViewer[data-zoom-mode=height] .react-pdf__Page{margin-bottom:0}.fwkTextFieldX[type=file] .pdfViewer[data-zoom-mode=page]{justify-content:center;align-items:center;padding:0;overflow:hidden}.fwkTextFieldX[type=file] .pdfViewer[data-zoom-mode=page] .react-pdf__Document{justify-content:center;align-items:center;display:flex}.fwkTextFieldX[type=file] .pdfViewer[data-zoom-mode=page] .react-pdf__Page{margin-bottom:0}.fwkTextFieldX[type=file] .pdfViewer .textPreview{box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word;border:none;width:100%;height:100%;margin:0;padding:0}.fwkTextFieldX[type=file] .nativePdfViewer{flex-direction:column;width:100%;height:100%;min-height:500px;display:flex;position:absolute;inset:0}.fwkTextFieldX[type=file] .nativePdfViewer iframe{background:#fff;border:none;flex:1;width:100%;height:100%;min-height:500px}.fwkTextFieldX[type=email]{min-width:200px}.fwkTextFieldX[type=email] .email-input-wrapper{flex-direction:column;gap:.125rem;width:100%;min-width:0;display:flex}.fwkTextFieldX[type=email] .email-input-wrapper>input{width:100%}.fwkTextFieldX[type=email] .email-validation-error,.fwkTextFieldX[type=email] .email-input-hint{font-size:.75em;line-height:1.2}.fwkTextFieldX[type=email] .email-validation-error{color:var(--textfield-error-color)}.fwkTextFieldX[type=email] .email-input-hint{color:var(--textfield-placeholder-color)}.fwkTextFieldX[type=email] .control:has(.email-input-wrapper[data-invalid=true]){border-color:var(--textfield-error-border-color)}.fwkTextFieldX[type=document]{flex-direction:column;flex:1;width:100%;height:100%;display:flex}.fwkTextFieldX[type=document].locked{pointer-events:auto}.fwkTextFieldX[type=document] .control{flex-direction:column;flex:1;display:flex}.docTemplateContainer{flex-direction:column;flex:1;gap:10px;width:100%;min-height:0;display:flex}.docTemplateContainer .docTemplateToolbar{flex-shrink:0;align-items:center;gap:10px;padding:5px 0;display:flex}.docTemplateContainer .docTemplateToolbar .fwkTextField{min-width:200px;max-width:300px}.docTemplateContainer .docTemplateToolbar .toolbarActions{margin-left:auto}.docTemplateContainer .docTemplatePreview{background:#f9f9f9;border:1px solid #ddd;border-radius:4px;flex-direction:column;flex:1;min-height:400px;display:flex;overflow:hidden}.docTemplateContainer .docTemplatePreview .fwkTextFieldX[type=file]{flex:1;height:100%}.docTemplateContainer .docTemplatePreview .fwkTextFieldX[type=file] .fileInputContainer .content:has(.nativePdfViewer){min-height:500px}.docTemplateContainer .loadingPlaceholder,.docTemplateContainer .errorPlaceholder,.docTemplateContainer .emptyPlaceholder{text-align:center;color:#666;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:200px;padding:20px;display:flex}.docTemplateContainer .loadingPlaceholder i,.docTemplateContainer .errorPlaceholder i,.docTemplateContainer .emptyPlaceholder i{opacity:.5;margin-bottom:15px;font-size:48px}.docTemplateContainer .loadingPlaceholder span,.docTemplateContainer .errorPlaceholder span,.docTemplateContainer .emptyPlaceholder span{font-size:14px}.docTemplateContainer .errorPlaceholder,.docTemplateContainer .errorPlaceholder i{color:#d32f2f}.docTemplateContainer .loadingPlaceholder i{color:var(--theme-color,crimson)}.docTemplateContainer.docTemplateReact .docTemplateToolbar{background:#f5f5f5;border-bottom:1px solid #ddd;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.docTemplateContainer.docTemplateReact .docTemplateToolbar .tplSelector{align-items:center;gap:8px;display:flex}.docTemplateContainer.docTemplateReact .docTemplateToolbar .tplSelector .fwkTextField{min-width:200px;max-width:300px}.docTemplateContainer.docTemplateReact .docTemplateToolbar .buttons{gap:8px;display:flex}.docTemplateContainer.docTemplateReact .errorBanner{color:#c62828;background:#ffebee;border:1px solid #f44336;border-radius:4px;align-items:center;gap:8px;margin:0 10px;padding:10px 15px;display:flex}.docTemplateContainer.docTemplateReact .errorBanner i{color:#f44336}.docTemplateContainer.docTemplateReact .docTemplatePreview{background:0 0;border:none;overflow:auto}.docTemplateContainer.docTemplateReact .docTemplatePreview .mspages{background:#fff;margin:10px auto;box-shadow:0 2px 8px #00000026}.fwkTextField .dateInput{position:relative}.fwkTextFieldX[type=date]{width:auto;min-width:150px}.fwkTextFieldX[type=date] .control{width:100%}.fwkTextFieldX[type=datetime],.fwkTextFieldX[type=timestamp]{width:auto;min-width:220px}.fwkTextFieldX.inline .dateInput,.fwkTextFieldX.inline .inline-date-input{width:100%;background:0 0!important;border:none!important;outline:none!important}.fwkTextFieldX[type=date] .control .date-input-wrapper,.fwkTextFieldX[type=datetime] .control .date-input-wrapper,.fwkTextFieldX[type=timestamp] .control .date-input-wrapper{pointer-events:auto;flex-wrap:nowrap;align-items:center;width:100%;display:flex;position:relative}.fwkTextFieldX[type=date] .control .date-input-wrapper .react-datepicker-wrapper,.fwkTextFieldX[type=datetime] .control .date-input-wrapper .react-datepicker-wrapper,.fwkTextFieldX[type=timestamp] .control .date-input-wrapper .react-datepicker-wrapper{flex:1;min-width:0}.fwkTextFieldX[type=date] .control .date-input-wrapper .react-datepicker-wrapper .react-datepicker__input-container,.fwkTextFieldX[type=datetime] .control .date-input-wrapper .react-datepicker-wrapper .react-datepicker__input-container,.fwkTextFieldX[type=timestamp] .control .date-input-wrapper .react-datepicker-wrapper .react-datepicker__input-container{width:100%}.fwkTextFieldX[type=date] .control .date-input-wrapper .date-clear-button,.fwkTextFieldX[type=datetime] .control .date-input-wrapper .date-clear-button,.fwkTextFieldX[type=timestamp] .control .date-input-wrapper .date-clear-button{cursor:pointer;width:1.5rem;height:1.5rem;color:var(--accent-colour);background:0 0;border:none;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;margin-left:.25rem;padding:.25rem;display:flex}.fwkTextFieldX[type=date] .control .date-input-wrapper .date-clear-button:hover,.fwkTextFieldX[type=datetime] .control .date-input-wrapper .date-clear-button:hover,.fwkTextFieldX[type=timestamp] .control .date-input-wrapper .date-clear-button:hover{background-color:var(--hover-bg-color,#f5f5f5);color:var(--accent-colour-light,var(--accent-colour))}.fwkTextFieldX[type=date] .control .date-input-wrapper .date-clear-button:disabled,.fwkTextFieldX[type=datetime] .control .date-input-wrapper .date-clear-button:disabled,.fwkTextFieldX[type=timestamp] .control .date-input-wrapper .date-clear-button:disabled{cursor:not-allowed;opacity:.5}.inline-date-wrapper{background:0 0!important;border:none!important;width:100%!important;margin:0!important;padding:0!important}.inline-date-wrapper .react-datepicker-wrapper{width:100%!important}.inline-date-input{width:100%!important;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;margin:0!important;padding:0!important}#root-portal .react-datepicker-popper,.react-datepicker-popper{z-index:1100!important}.fwkTextFieldX[type=creditcard]{width:auto;min-width:200px;max-width:240px}.fwkTextField .colourInput{position:relative}.fwkTextField .colourInput input{box-sizing:border-box;width:90px;font:inherit;text-transform:uppercase;text-align:center;background:#eee;border:1px solid #ddd;border-radius:4px;outline:none;margin:0 55px;padding:6px;display:block}.fwkTextField .colourInput .swatch{cursor:pointer;border:2px solid #fff;border-radius:8px;width:1.5em;height:1.5em;box-shadow:0 0 0 1px #0000001a,inset 0 0 0 1px #0000001a}.fwkTextField .colourInput .popover{border-radius:9px;position:absolute;top:calc(100% + 2px);left:0;box-shadow:0 6px 12px #00000026}.fwkTextField .colourInput .picker__swatches{flex-wrap:wrap;padding:12px;display:flex}.fwkTextField .colourInput .picker__swatch{cursor:pointer;border:none;border-radius:4px;outline:none;width:24px;height:24px;margin:4px;padding:0}.fwkTextFieldX[type=colour]{width:auto;min-width:60px;max-width:80px}.fwkTextFieldX[type=colour] .control{background-color:unset;border:none;justify-content:center}.fwkTextFieldX[type=colour] .control .swatch{width:var(--textfield-swatch-size);height:var(--textfield-swatch-size);border-radius:var(--textfield-swatch-border-radius);cursor:pointer;transition:var(--textfield-transition)}.fwkTextFieldX[type=colour] .control .swatch:hover{transform:scale(1.1)}.fwkTextFieldX[type=colour] .control .popover{position:absolute}.fwkTextFieldX[type=checkbox]{gap:.125rem;width:auto;max-width:fit-content}.fwkTextFieldX[type=checkbox][labelpos=top],.fwkTextFieldX[type=checkbox][labelpos=bottom]{align-items:center}.fwkTextFieldX[type=checkbox] label{padding:0}.fwkTextFieldX[type=checkbox][labelpos=right],.fwkTextFieldX[type=checkbox][labelpos=left]{white-space:nowrap;flex-wrap:nowrap!important}.fwkTextFieldX[type=checkbox][labelpos=right] label,.fwkTextFieldX[type=checkbox][labelpos=left] label{white-space:nowrap;flex-shrink:0}.fwkTextFieldX[type=checkbox][labelpos=right] .control,.fwkTextFieldX[type=checkbox][labelpos=left] .control{flex-shrink:0}.fwkTextFieldX[type=checkbox] .control{background-color:unset;border:none}.fwkTextFieldX[type=checkbox] .control input[type=checkbox]{appearance:none;background-color:var(--textfield-background);width:var(--textfield-checkbox-size);height:var(--textfield-checkbox-size);border:none;border:var(--textfield-border-width) solid var(--textfield-checkbox-color);border-radius:var(--textfield-checkbox-border-radius);cursor:pointer;transition:var(--textfield-transition);justify-content:center;align-items:center;display:inline-flex;position:relative}.fwkTextFieldX[type=checkbox] .control input[type=checkbox]:checked{background-color:var(--textfield-checkbox-color)}.fwkTextFieldX[type=checkbox] .control input[type=checkbox]:checked:after{content:"✓";color:var(--textfield-checkbox-check-color);font-size:1rem}.fwkTextFieldX[type=checkbox] .control input[type=checkbox]:focus-visible{outline:2px solid var(--textfield-focus-color);outline-offset:2px}.fwkTextFieldX[type=address]{width:100%;min-width:250px}.menuItemButton,.expandMenuButton{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;text-align:inherit;appearance:none;cursor:pointer;background:0 0;border:none;margin:0;padding:0}.menuItemButton:focus-visible,.expandMenuButton:focus-visible{outline:2px solid var(--accent-colour);outline-offset:2px}.menuItemButton:focus:not(:focus-visible),.expandMenuButton:focus:not(:focus-visible){outline:none}.menuItemButton{align-items:center;width:100%;text-decoration:none;display:flex}.menuItemButton.condensed{justify-content:center}.fwkMenu a.menuItemButton{color:inherit;font-size:inherit;font-weight:inherit;text-decoration:none}.fwkMenu a.menuItemButton:hover,.fwkMenu a.menuItemButton:visited,.fwkMenu a.menuItemButton:active{color:inherit;text-decoration:none}.fwkMenu{width:100%;display:flex;position:relative}.fwkMenu nav{width:100%}.fwkMenu.vertical ul{flex-direction:column;gap:.25rem;display:flex}.fwkMenu.vertical ul li{border-radius:var(--radius-md,8px);transition:var(--transition-smooth,all .3s ease)}.fwkMenu.vertical ul li.active>.menuHeader{background:var(--bg-overlay-hover)}.fwkMenu.vertical ul li.active>.menuHeader .menuText{font-weight:700}.fwkMenu.vertical ul li.active>.menuHeader .menuIcon{color:inherit}.fwkMenu.vertical ul li>.menuHeader:hover{background:var(--bg-overlay);transform:translate(4px)}.fwkMenu.vertical ul li.active>.menuHeader:hover{transform:none}.fwkMenu.horizontal{width:unset}.fwkMenu.horizontal>nav>ul{flex-direction:row;gap:.5rem;display:flex}.fwkMenu.horizontal>nav>ul>li{border-radius:var(--radius-md,8px);transition:var(--transition-base,all .2s ease);padding:0;position:relative}.fwkMenu.horizontal>nav>ul>li.active .menuIcon{color:var(--navbar-link-active-color,var(--navbar-text-color))}.fwkMenu.horizontal>nav>ul>li.active .menuText{color:var(--navbar-link-active-color,var(--navbar-text-color));font-weight:600}.fwkMenu.horizontal>nav>ul>li.has-active-child>.menuHeader .menuItemButton .menuText{font-weight:600}.fwkMenu.horizontal>nav>ul>li:hover:not(.active){transform:translateY(-2px);box-shadow:0 2px 4px #0000001a}.fwkMenu.horizontal>nav>ul>li .dropdownIndicator{opacity:.7;margin-left:6px;font-size:.75rem;transition:transform .2s}.fwkMenu.horizontal>nav>ul>li.has-submenu:hover .dropdownIndicator{transform:rotate(180deg)}.fwkMenu.horizontal>nav>ul>li>ul.submenu{background:var(--paper-colour,#fff);border-radius:var(--radius-lg,12px);border:1px solid var(--border-muted,#0000000f);z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:220px;margin-top:8px;padding:6px;animation:.2s ease-out menuDropdownFadeIn;display:block;position:absolute;top:100%;left:0;box-shadow:0 10px 40px #0000001f,0 2px 10px #00000014}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li{border-radius:var(--radius-sm,8px);align-items:stretch;transition:all .15s;min-height:auto!important;margin:2px 0!important;padding:0!important;display:block!important}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li>.menuHeader{border-radius:var(--radius-sm,8px);align-items:center;width:100%;padding:10px 14px;display:flex}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li>.menuHeader .menuIcon{opacity:.7;text-align:center;width:20px;margin-right:10px;font-size:1rem}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li>.menuHeader .menuItemButton .menuText{color:var(--text-primary,#333);white-space:nowrap;text-align:left;letter-spacing:-.01em;font-size:.875rem;font-weight:500;display:block}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li:hover:not(.active)>.menuHeader{background:var(--accent-colour-faint,#0000000a)}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li:hover:not(.active)>.menuHeader .menuIcon{opacity:1;color:var(--accent-colour)}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li:hover:not(.active)>.menuHeader .menuItemButton .menuText{color:var(--accent-colour)}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li.active>.menuHeader{background:var(--gradient-accent,var(--accent-colour))}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li.active>.menuHeader .menuIcon{opacity:1;color:#fff}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li.active>.menuHeader .menuItemButton .menuText{color:#fff;font-weight:600}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li.active:hover>.menuHeader{background:var(--gradient-accent-hover,var(--accent-colour))}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li.menuDivider{cursor:default;margin:6px 0!important;padding:6px 10px!important}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li.menuDivider hr{background:var(--border-muted,#00000014);border:none;height:1px;margin:0}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li.menuDivider:hover{background:0 0!important}.fwkMenu.condensed ul li .menuHeader{justify-content:center}.fwkMenu.condensed ul li .menuHeader .menuIcon{margin:0 auto}.fwkMenu.condensed ul li .menuHeader .menuText{display:none}.fwkMenu ul{margin:0;padding:0;list-style:none}.fwkMenu ul li{border-radius:var(--radius-md,8px);cursor:pointer;flex-direction:column;margin-bottom:.25rem;display:flex}.fwkMenu ul li .menuHeader{border-radius:var(--radius-md,8px);min-height:48px;transition:var(--transition-smooth,all .3s ease);align-items:center;padding:.75rem 1rem;display:flex}.fwkMenu ul li .menuHeader .menuItemButton{flex:1;min-width:0}.fwkMenu ul li .menuHeader .menuItemButton .menuIcon{width:20px;height:20px;min-height:20px;transition:var(--transition-base,color .2s ease);flex-shrink:0;justify-content:center;align-items:center;margin-right:.75rem;font-size:1.1rem;display:flex}.fwkMenu ul li .menuHeader .menuItemButton .menuIcon .menuIconImg{object-fit:contain;border-radius:2px;width:100%;height:100%}.fwkMenu ul li .menuHeader .menuItemButton .menuIcon.no-label{margin-right:0}.fwkMenu ul li .menuHeader .menuItemButton .menuText{text-transform:none;letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;align-items:center;font-size:.9rem;font-weight:500;transition:color .2s;display:flex;overflow:hidden}.fwkMenu ul li .menuHeader .expandMenuButton{color:inherit;background:var(--bg-overlay,#ffffff14);border-radius:var(--radius-sm,6px);opacity:.85;flex-shrink:0;justify-content:center;align-items:center;min-width:1.5rem;margin-left:.5rem;padding:.35rem;font-size:.7rem;transition:all .2s;display:flex}.fwkMenu ul li .menuHeader .expandMenuButton i,.fwkMenu ul li .menuHeader .expandMenuButton .fa,.fwkMenu ul li .menuHeader .expandMenuButton [class*=fa-]{color:inherit;font-weight:900;transition:transform .25s}.fwkMenu ul li .menuHeader .expandMenuButton.expanded i,.fwkMenu ul li .menuHeader .expandMenuButton.expanded .fa,.fwkMenu ul li .menuHeader .expandMenuButton.expanded [class*=fa-]{transform:rotate(90deg)}.fwkMenu ul li .menuHeader .expandMenuButton:hover{background:var(--bg-overlay-hover,#ffffff26);opacity:1}.fwkMenu ul li>ul.submenu{margin:.5rem 0 0;padding:0 0 0 2.75rem;list-style:none}.fwkMenu ul li>ul.submenu>li{border-radius:4px;margin:0;position:relative}.fwkMenu ul li>ul.submenu>li>.menuHeader{align-items:center;min-height:32px;padding:.35rem .5rem}.fwkMenu ul li>ul.submenu>li>.menuHeader .menuIcon{width:16px;height:16px;min-height:16px;margin-right:.5rem;font-size:.85rem}.fwkMenu ul li>ul.submenu>li>.menuHeader .menuItemButton .menuText{font-size:.85rem}.fwkMenu ul li>ul.submenu>li.active>.menuHeader{background:var(--bg-overlay-hover,#00000014)}.fwkMenu ul li>ul.submenu>li.active>.menuHeader .menuIcon{opacity:1}.fwkMenu ul li>ul.submenu>li.active>.menuHeader .menuItemButton .menuText{opacity:1;font-weight:700}.fwkMenu ul li>ul.submenu>li>.menuHeader:hover{background:var(--bg-overlay,#0000000a)}.fwkMenu ul li>ul.submenu>li>.menuHeader:hover .menuIcon,.fwkMenu ul li>ul.submenu>li>.menuHeader:hover .menuItemButton .menuText{opacity:1}.fwkMenu ul li>ul.submenu>li.active>.menuHeader:hover{background:var(--bg-overlay-hover,#00000014)}.popupMenu{background:var(--paper-colour,#fff);border-radius:var(--radius-lg,12px);border:1px solid var(--border-muted,#0000000f);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:200px;padding:6px;animation:.2s ease-out menuDropdownFadeIn;box-shadow:0 10px 40px #0000001f,0 2px 10px #00000014}.popupMenu .fwkMenu{width:100%}.popupMenu .fwkMenu ul{gap:2px}.popupMenu .fwkMenu ul li{margin:0}.popupMenu .fwkMenu ul li .menuHeader{border-radius:var(--radius-sm,8px);min-height:auto;padding:10px 12px;transition:all .15s}.popupMenu .fwkMenu ul li .menuHeader .menuIcon{opacity:.7;width:18px;height:18px;min-height:18px;color:var(--text-primary,#333);margin-right:10px;font-size:.9rem}.popupMenu .fwkMenu ul li .menuHeader .menuItemButton .menuText{color:var(--text-primary,#333);font-size:.875rem;font-weight:500}.popupMenu .fwkMenu ul li:hover:not(.active)>.menuHeader{background:var(--accent-colour-faint,#0000000a)}.popupMenu .fwkMenu ul li:hover:not(.active)>.menuHeader .menuIcon{opacity:1;color:var(--accent-colour)}.popupMenu .fwkMenu ul li:hover:not(.active)>.menuHeader .menuItemButton .menuText{color:var(--accent-colour)}.popupMenu .fwkMenu ul li.active>.menuHeader{background:var(--gradient-accent,var(--accent-colour))}.popupMenu .fwkMenu ul li.active>.menuHeader .menuIcon{opacity:1;color:#fff}.popupMenu .fwkMenu ul li.active>.menuHeader .menuItemButton .menuText{color:#fff;font-weight:600}@keyframes menuDropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.fwkStatus.connected{width:6ch}.fwkStatus.disconnected{color:#00f}.fwkNavbar{background:var(--navbar-bg-color,#ffffffd9);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--navbar-border-color,#e2e8f0cc);width:100%;box-shadow:var(--navbar-shadow,0 1px 3px #0000000d, 0 1px 2px #0000001a);z-index:999;color:var(--navbar-text-color,#0f172a);transition:all .3s cubic-bezier(.4,0,.2,1);position:sticky;top:0;left:0;right:0}.fwkNavbar>.container,.fwkNavbar>.container-fluid{align-items:center;height:70px;display:flex}.fwkNavbar.navbarScrolled{background:var(--navbar-bg-color-scrolled,#fffffff2);-webkit-backdrop-filter:blur(32px);box-shadow:var(--navbar-shadow-scrolled,0 4px 6px #0000000d, 0 10px 15px #0000001a);border-bottom:1px solid var(--navbar-border-color-scrolled,#cbd5e1cc)}.fwkNavbar .navbarInner{align-items:center;gap:2rem;width:100%;height:100%;display:flex}.fwkNavbar .logoContainer{cursor:pointer;align-items:center;display:flex}.fwkNavbar .logoContainer .logo{height:var(--navbar-logo-height,36px);object-fit:contain;width:auto;filter:var(--navbar-logo-filter,drop-shadow(0 1px 2px #0000001a));transition:opacity .2s}.fwkNavbar .logoContainer:hover .logo{opacity:.8}.fwkNavbar .title{letter-spacing:-.025em;text-wrap-mode:nowrap;color:var(--navbar-title-color,inherit);cursor:pointer;font-size:1.5rem;font-weight:700;transition:opacity .2s}.fwkNavbar .title:hover{opacity:.8}.fwkNavbar .grow{flex-grow:1}.fwkNavbar .desktop{align-items:center;gap:1.5rem;padding:.75rem 1.25rem;display:flex}.fwkNavbar #navbarMenuButton{color:var(--navbar-text-color,#0f172a);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.5rem;transition:opacity .2s,transform .3s cubic-bezier(.4,0,.2,1);display:flex}.fwkNavbar #navbarMenuButton:hover{opacity:.7}.fwkNavbar #navbarMenuButton:active{opacity:.5}.fwkNavbar #navbarMenuButton.menuButtonRotated{transform:rotate(90deg)}.fwkNavbar .searchContainer{flex:1;max-width:400px;position:relative}.fwkNavbar .searchContainer input{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#334155;background:#fffc;border:1px solid #cbd5e199;border-radius:12px;width:100%;padding:.75rem 1rem .75rem 3rem;font-size:.9rem}.fwkNavbar .searchContainer input::placeholder{color:#94a3b8}.fwkNavbar .searchContainer input:focus{border-color:var(--accent-colour,#667eea);outline:none;box-shadow:0 0 0 3px #667eea1a}.fwkNavbar .searchContainer .searchIcon{color:#94a3b8;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.fwkNavbar .userMenu{align-items:center;gap:.75rem;display:flex}.fwkNavbar .userMenu .avatar{border:2px solid #667eea33;border-radius:50%;width:36px;height:36px;box-shadow:0 2px 4px #0000001a}.fwkNavbar .userMenu .notifications{color:var(--navbar-icon-color,#64748b);border-radius:8px;padding:.5rem;transition:all .2s;position:relative}.fwkNavbar .userMenu .notifications:hover{background:var(--navbar-icon-hover-bg,#667eea1a);color:var(--navbar-icon-hover-color,#667eea)}.fwkNavbar .userMenu .notifications .badge{background:var(--error-colour);border:2px solid var(--paper-colour);border-radius:50%;width:8px;height:8px;position:absolute;top:.25rem;right:.25rem}.fwkNavbar .fwkMenu.horizontal nav ul{align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.fwkNavbar .fwkMenu.horizontal nav ul li .menuItem .menuLine{color:var(--navbar-link-color,inherit);cursor:pointer;border-radius:8px;padding:.75rem 1.25rem;font-weight:500;transition:all .2s}.fwkNavbar .fwkMenu.horizontal nav ul li .menuItem .menuLine:hover{background:var(--navbar-link-hover-bg,#0000000d);color:var(--navbar-link-hover-color,inherit)}.fwkNavbar .fwkMenu.horizontal nav ul li.active .menuItem .menuLine{color:var(--navbar-link-active-color,var(--accent-colour));background:var(--navbar-link-active-bg,transparent);font-weight:600}@media (width<=1024px){.fwkNavbar .navbarInner{gap:1rem}.fwkNavbar .desktop{box-shadow:none;background:0 0;border:none;gap:1rem;padding:0}.fwkNavbar #navbarMenuButton{display:flex}.fwkNavbar .title{font-size:1.25rem}}@media (width<=768px){.fwkNavbar>.container,.fwkNavbar>.container-fluid{height:60px}.fwkNavbar .navbarInner{gap:.75rem}.fwkNavbar .title{font-size:1.1rem}.fwkNavbar .logoContainer{padding:.25rem}.fwkNavbar .logoContainer .logo{height:var(--navbar-logo-height-mobile,28px)}}@media (width<=380px){.fwkNavbar>.container,.fwkNavbar>.container-fluid{height:48px;padding:0 .5rem}.fwkNavbar .navbarInner{gap:.5rem}.fwkNavbar .title{font-size:.95rem}.fwkNavbar .logoContainer .logo{height:22px}}.fwkPortal{background:var(--paper-colour-0);flex-direction:column;display:flex;position:relative}.fwkPortal.fullHeight{height:100vh}.fwkPortal .portalbody{flex:1;display:flex;position:relative}.fwkPortal .portalbody #portalbodyInner{width:100%;position:relative}.fwkPortal .fwkNavbar{width:calc(100% - 280px);margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)}.fwkPortal.hideSideBar .fwkSidebar{transform:translate(-100%)}.fwkPortal.hideSideBar .fwkNavbar{width:100%;margin-left:0}.fwkPortal.hideSideBar .contentArea{margin-left:0!important}.fwkPortal .noBoardError{background:var(--paper-colour);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;margin:1.5rem;display:flex;box-shadow:0 1px 3px #0000001a}.fwkPortal .noBoardError h1{color:var(--text-muted);font-size:2rem;font-weight:600}.fwkPortal .noBoardError p{color:var(--text-muted);margin-top:.5rem;font-size:1rem}.fwkPortal .noBoardError.accessDenied h1{color:var(--error-colour)}.fwkPortal .noBoardError.accessDenied:before{content:"";color:var(--error-colour);margin-bottom:1rem;font-family:FontAwesome;font-size:3rem}.fwkPortal .pinnedSidebar{flex:1;display:flex}.fwkPortal .pinnedSidebar .contentArea{flex-direction:column;flex:1;margin-left:280px;display:flex;overflow:hidden}.fwkPortal .pinnedSidebar.condensed .contentArea{margin-left:80px}.fwkPortal.fullHeight .pinnedSidebar{min-height:calc(100vh - 70px)}.fwkPortal .contentArea{box-sizing:border-box;flex-direction:column;flex:1;margin-left:280px;padding:12px 12px 0;transition:margin-left .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.fwkPortal .contentArea.noPadding{padding:0}.fwkPortal .contentArea .contentInner{max-width:var(--page-width,none);flex-direction:column;flex:1;width:100%;min-height:0;margin-left:auto;margin-right:auto;display:flex}.fwkPortal.condensed:not(.hideSideBar) .fwkNavbar{width:calc(100% - 80px);margin-left:80px}.fwkPortal.condensed:not(.hideSideBar) .contentArea{margin-left:80px}.fwkPortal .fwkBoard{background:var(--paper-colour-0);border-radius:12px;flex:1;min-height:0;margin:1.5rem;overflow:auto;box-shadow:0 1px 3px #0000001a}@media (width<=1024px){.fwkPortal .fwkNavbar{width:100%;margin-left:0}.fwkPortal .contentArea{margin-left:0!important}.fwkPortal .pinnedSidebar .fwkSidebar{transform:translate(-100%)}}@media (width<=380px){.fwkPortal .contentArea{padding:6px 4px 0}.fwkPortal .fwkBoard{border-radius:8px;margin:.75rem .5rem}}.fwkPortal.hideSideBar .contentArea,html body .fwkPortal.hideSideBar .contentArea{width:100%!important;margin-left:0!important}.fwkSidebar{z-index:1000;width:280px;min-width:280px;height:100vh;color:var(--sidebar-text-color);background:linear-gradient(135deg, var(--accent-colour) 0%, var(--accent-colour-light) 100%);border-right:1px solid #ffffff1a;flex-direction:column;flex-grow:0;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;box-shadow:4px 0 24px #0000001a}.fwkSidebar .inner{box-sizing:border-box;flex-direction:column;height:100%;padding:1.5rem 0;display:flex;overflow-y:auto}.fwkSidebar .inner::-webkit-scrollbar{width:4px}.fwkSidebar .inner::-webkit-scrollbar-track{background:#ffffff1a}.fwkSidebar .inner::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.fwkSidebar .top{flex:1;width:100%;padding:0 1rem}.fwkSidebar .bottom{border-top:1px solid #ffffff1a;margin-top:1rem;padding:1rem 1rem 0}.fwkSidebar .buttonContainer{justify-content:flex-end;gap:.5rem;width:100%;margin-bottom:1.5rem;padding:0 .5rem;display:flex}.fwkSidebar .buttonContainer #pinButton,.fwkSidebar .buttonContainer #shrinkButton{color:var(--sidebar-text-color);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:8px;transition:all .2s}.fwkSidebar .buttonContainer #pinButton:hover,.fwkSidebar .buttonContainer #shrinkButton:hover{color:#fff;background:#fff3;transform:translateY(-1px)}.fwkSidebar.condensed{width:80px;min-width:80px}.fwkSidebar.condensed .inner{padding:1.5rem .5rem}.fwkSidebar.condensed .top,.fwkSidebar.condensed .bottom{padding:0 .5rem}.fwkSidebar.condensed .label,.fwkSidebar.condensed .fwkVersion{display:none}.fwkSidebar.condensed .buttonContainer{justify-content:center;gap:.25rem;padding:0}.fwkSidebar .fwkVersion{text-align:center;color:var(--sidebar-text-color);border-top:1px solid var(--sidebar-text-color);padding:1rem;font-size:.75rem}.fwkSocialIcon img{width:100%;height:100%}.row-editor{flex-direction:column;gap:8px;display:flex}.row-editor .row-editor-row{border-bottom:1px solid var(--border-light,#0000000f);align-items:flex-end;gap:12px;padding:8px 0;display:flex}.row-editor .row-editor-row:last-of-type{border-bottom:none}.row-editor .row-editor-row .row-editor-fields{flex:1;align-items:end;gap:12px;display:grid}.row-editor .row-editor-row .row-editor-fields .fwkTextField[data-type=checkbox]{padding-bottom:8px}.row-editor .row-editor-row .row-editor-remove-btn{color:var(--danger-colour,#ef4444);flex-shrink:0;margin-bottom:4px}.row-editor .row-editor-row .row-editor-remove-btn:hover{color:var(--danger-colour-dark,#dc2626)}.row-editor .row-editor-add-btn{color:var(--accent-colour,#3b82f6);align-self:flex-start;margin-top:8px}.row-editor .row-editor-add-btn:hover{color:var(--accent-colour-dark,#2563eb)}.row-editor .row-editor-empty{color:var(--text-muted,#6b7280);padding:12px 0;font-style:italic}@media (width<=380px){.row-editor{gap:4px}.row-editor .row-editor-row{gap:6px;padding:4px 0}.row-editor .row-editor-row .row-editor-fields{gap:6px}.row-editor .row-editor-add-btn{margin-top:4px}}.fwkHeading .accentBar{background:var(--accent-colour,#de411b);width:60px;height:4px;margin-bottom:20px}.fwkHeading h1,.fwkHeading h2,.fwkHeading h3,.fwkHeading h4,.fwkHeading h5,.fwkHeading h6{text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px;font-family:Roboto Condensed,Roboto,sans-serif;font-weight:700}.fwkHeading h1{font-size:2.5rem}.fwkHeading h2{font-size:2rem}.fwkHeading h3{font-size:1.5rem}.fwkHeading h4{font-size:1.25rem}.fwkHeading h5{font-size:1rem}.fwkHeading h6{font-size:.875rem}.ageBadge{text-align:center;border-radius:50%;width:1.5em;height:1.5em}.fwkAvatar{flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex;overflow:hidden}.fwkAvatar .fwkAvatar-img{object-fit:cover;border:2px solid var(--border-light,#00000014);width:100%;height:100%}.fwkAvatar .fwkAvatar-placeholder{background:var(--gradient-header,linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%));color:#ffffffe6;border:2px solid var(--border-light,#00000014);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.fwkAvatar .fwkAvatar-placeholder i{font-size:1.5rem}.fwkAvatar.circle,.fwkAvatar.circle .fwkAvatar-img,.fwkAvatar.circle .fwkAvatar-placeholder{border-radius:50%}.fwkAvatar.rounded,.fwkAvatar.rounded .fwkAvatar-img,.fwkAvatar.rounded .fwkAvatar-placeholder{border-radius:8px}.fwkAvatar.square,.fwkAvatar.square .fwkAvatar-img,.fwkAvatar.square .fwkAvatar-placeholder{border-radius:0}.fwkAvatar.table{width:36px;height:36px;box-shadow:var(--shadow-sm,0 1px 2px #0000000d)}.fwkAvatar.table .fwkAvatar-placeholder i{font-size:1rem}.fwkAvatar.small{width:32px;height:32px;box-shadow:var(--shadow-sm,0 1px 2px #0000000d)}.fwkAvatar.small .fwkAvatar-placeholder i{font-size:.875rem}.fwkAvatar.medium{width:52px;height:52px;box-shadow:var(--shadow-sm,0 1px 2px #0000000d)}.fwkAvatar.medium .fwkAvatar-placeholder i{font-size:1.5rem}.fwkAvatar.large{width:80px;height:80px;box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a)}.fwkAvatar.large .fwkAvatar-img,.fwkAvatar.large .fwkAvatar-placeholder{border-width:3px}.fwkAvatar.large .fwkAvatar-placeholder i{font-size:2rem}.fwkAvatar.xlarge{width:100px;height:100px;box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a)}.fwkAvatar.xlarge .fwkAvatar-img{border-width:3px;border-color:var(--accent-colour,#3b82f6)}.fwkAvatar.xlarge .fwkAvatar-placeholder{border-width:3px}.fwkAvatar.xlarge .fwkAvatar-placeholder i{font-size:2.5rem}.fwkBusy{opacity:.5;text-transform:uppercase;z-index:1000;background-image:url(/assets/loading.BlVDlXrh.gif);background-position:50%;background-repeat:no-repeat;justify-content:center;align-items:center;width:100%;height:100%;font-size:2rem;display:flex;position:absolute;top:0;bottom:0}.fwkCardContainer{flex-wrap:wrap;justify-content:center;gap:1rem;width:100%;display:flex}.fwkCard{background-color:var(--paper-colour-1);width:fit-content;min-width:20rem;height:fit-content;min-height:20rem;transition:var(--transition-smooth,all .3s ease);border-radius:var(--radius-lg,16px);box-shadow:var(--shadow-md,0 4px 6px -1px #00000012);border:1px solid var(--border-muted,#0000000f);flex-direction:column;display:flex;position:relative}.fwkCard:hover{box-shadow:var(--shadow-lg,0 10px 15px -3px #00000014)}.fwkCard.full-width{width:100%;min-width:unset}.fwkCard.clickable{cursor:pointer}.fwkCard.clickable:hover{transform:var(--hover-lift,translateY(-2px));box-shadow:var(--shadow-xl,0 20px 25px -5px #0000001a)}.fwkCard.clickable:active{transform:translateY(0)}.fwkCard .heading{background:var(--card-heading-bg);color:var(--card-heading-color);border-bottom:var(--card-heading-border);z-index:100;border-radius:var(--radius-lg,16px) var(--radius-lg,16px) 0 0;align-items:center;column-gap:1rem;padding:.75rem 1rem;display:flex}.fwkCard .heading .filler{flex-grow:1}.fwkCard .heading .title{letter-spacing:-.01em;color:var(--card-heading-color);font-size:1.2rem;font-weight:600}.fwkCard .heading .fwkIconButton{color:var(--card-heading-icon-color)}.fwkCard .heading .fwkIconButton:hover:not(.disabled){background:var(--card-heading-icon-hover-bg);color:var(--card-heading-icon-color)}.fwkCard .heading i,.fwkCard .heading .fa,.fwkCard .heading [class*=fa-],.fwkCard .heading svg{color:var(--card-heading-icon-color)}.fwkCard.accent .heading{background:var(--gradient-accent,var(--accent-colour));color:var(--text-inverse,white);border-bottom:none}.fwkCard.accent .heading .title,.fwkCard.accent .heading .fwkIconButton{color:var(--text-inverse,white)}.fwkCard.accent .heading .fwkIconButton:hover:not(.disabled){background:var(--bg-overlay-hover,#fff3);color:var(--text-inverse,white)}.fwkCard.accent .heading i,.fwkCard.accent .heading .fa,.fwkCard.accent .heading [class*=fa-],.fwkCard.accent .heading svg{color:var(--text-inverse,white)}.fwkCard .content{color:unset;padding:1.25rem;overflow:auto}.fwkCard .content.no-padding{padding:0}.fwkCard .card-footer{color:var(--text-muted,#6c757d);border-top:1px solid var(--border-light,#e0e0e0);text-align:center;padding:.5rem 1rem;font-size:.85rem}animated{animation-duration:1s;animation-fill-mode:both}.animated.infinite{animation-iteration-count:infinite}.animated.hinge{animation-duration:2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{animation-name:fadeIn}.dotScrollContainer{width:100%;height:100%}.dotScroll{width:100%;height:100%;display:flex}.scrollDotContainer{flex-direction:column;justify-content:center;display:flex}.scrollDot{width:2vh;height:2vh;font-size:2vh;line-height:2vh;display:table}.scrollContainer{scroll-behavior:smooth;white-space:nowrap;scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex-grow:1;display:flex;overflow:auto}.scrollContainer::-webkit-scrollbar{display:none}.fwkInfoWidget{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-width:140px;min-height:120px;margin:8px;padding:20px 24px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 15px #00000026}.fwkInfoWidget:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.fwkInfoWidget.clickable{cursor:pointer}.fwkInfoWidget .icon{opacity:.9;margin-bottom:8px;font-size:32px}.fwkInfoWidget .count{font-size:2.2em;font-weight:700;line-height:1.1}.fwkInfoWidget .title{text-transform:uppercase;letter-spacing:.5px;opacity:.9;margin-top:4px;font-size:.85em;font-weight:500}.fwkInfoWidget.widget-blue{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.fwkInfoWidget.widget-green{background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%)}.fwkInfoWidget.widget-orange{background:linear-gradient(135deg,#f2994a 0%,#f2c94c 100%)}.fwkInfoWidget.widget-red{background:linear-gradient(135deg,#eb3349 0%,#f45c43 100%)}.fwkInfoWidget.widget-purple{background:linear-gradient(135deg,#8e2de2 0%,#4a00e0 100%)}.fwkInfoWidget.widget-teal{background:linear-gradient(135deg,#00b4db 0%,#0083b0 100%)}.fwkInfoWidget.widget-pink{background:linear-gradient(135deg,#ee0979 0%,#ff6a00 100%)}.fwkInfoWidget.widget-gray{background:linear-gradient(135deg,#606c88 0%,#3f4c6b 100%)}.fwkInfoWidget.widget-indigo{background:linear-gradient(135deg,#4568dc 0%,#b06ab3 100%)}.fwkInfoWidget.widget-cyan{background:linear-gradient(135deg,#00d2ff 0%,#3a7bd5 100%)}.fwkLabel{color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;display:inline}a.fwkLabel:hover,a.fwkLabel:focus{color:gray;cursor:pointer;text-decoration:none}.fwkLabel:empty{display:none}.btn .fwkLabel{position:relative;top:-1px}.fwkLabel.label-default{background-color:#00f}.fwkLabel.label-default[href]:hover,.fwkLabel.label-default[href]:focus{background-color:#00c}.fwkLabel.label-primary{background-color:#00f}.fwkLabel.label-primary[href]:hover,.fwkLabel.label-primary[href]:focus{background-color:#00c}.fwkLabel.label-success{background-color:green}.fwkLabel.label-success[href]:hover,.fwkLabel.label-success[href]:focus{background-color:#004d00}.fwkLabel.label-info{background-color:green}.fwkLabel.label-info[href]:hover,.fwkLabel.label-info[href]:focus{background-color:#004d00}.fwkLabel.label-warning{background-color:orange}.fwkLabel.label-warning[href]:hover,.fwkLabel.label-warning[href]:focus{background-color:#cc8400}.fwkLabel.label-danger{background-color:red}.fwkLabel.label-danger[href]:hover,.fwkLabel.label-danger[href]:focus{background-color:#c00}.fwkModalDialog.backdrop{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;animation:.2s ease-out modalBackdropFadeIn;display:flex;position:fixed;top:0;left:0}.fwkModalDialog .modal-dialog{z-index:1001;border-radius:var(--radius-lg,16px);width:fit-content;box-shadow:var(--shadow-xl,0 20px 25px -5px #0000001a);border:1px solid var(--border-muted,#0000000f);overflow-wrap:break-word;pointer-events:auto;flex-direction:column;max-width:80%;max-height:80%;margin:0;padding:1.5rem;animation:.25s cubic-bezier(.34,1.56,.64,1) modalSlideIn;display:flex;position:relative;background-color:var(--paper-colour,white)!important}.fwkModalDialog .modal-content{border-radius:var(--radius-md,10px);color:var(--colour-text,#333);padding:1rem;overflow:auto;background-color:var(--paper-colour,white)!important}.fwkModalDialog .modal-footer{border-top:1px solid var(--border-muted,#0000000f);justify-content:flex-end;align-items:center;column-gap:.75rem;width:100%;margin-top:.5rem;padding-top:1.25rem;display:flex}.fwkModalDialog .modal-footer .fwkIconButton.button{background:var(--gradient-accent,var(--accent-colour,#de411b));color:#fff}@keyframes modalBackdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}.fwkMoney{text-align:right;white-space:nowrap}.fwkNumber{font-variant-numeric:tabular-nums;text-align:right;display:inline-block}.fwkOptionSelector{gap:.75rem;display:flex}.fwkOptionSelector--wrap{flex-wrap:wrap}.fwkOptionSelector--column{flex-direction:column}.fwkOptionSelector__option{border:1px solid var(--border-light,#0000001f);background:var(--paper-colour-1,#fff);color:var(--colour-text,#333);border-radius:var(--radius-md,10px);transition:var(--transition-base,.2s ease);text-align:left;padding:.8rem 1rem}.fwkOptionSelector__option:hover:not(:disabled){border-color:var(--accent-colour,#1976d2);background:var(--accent-colour-faint,#0000000d)}.fwkOptionSelector__option.is-selected{border-color:var(--accent-colour,#1976d2);background:color-mix(in srgb, var(--accent-colour,#1976d2) 10%, white);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent-colour,#1976d2) 18%, transparent)}.fwkOptionSelector__option:disabled{opacity:.45;cursor:not-allowed}.fwkPage{color:#000;box-sizing:border-box;background-color:#fff;width:fit-content;font-size:14px;position:relative}.fwkPage.A4Single,.fwkPage .A4Single{width:210mm;max-width:210mm;height:296.294mm;max-height:296.294mm;padding:48pt}.fwkPage.A4Single .inner,.fwkPage .A4Single .inner{height:262.428mm;max-height:262.428mm;position:relative}.fwkPage.A4Cont{width:210mm;max-width:210mm;padding:48pt}.fwkPage.A4Cont .Single{height:297mm;max-height:297mm}.fwkPage.A4NoBorder{width:210mm;max-width:210mm}.fwkPopup .content{background-color:var(--accent-colour);color:#fff;margin-top:.5rem;padding:.3rem}.fwkPopup .content:has(.fwkSidebar){color:inherit;background:0 0;border-radius:0;margin:0;padding:0}@media (width<=1024px){.fwkPopup:before{content:"";z-index:9998;background:#00000080;position:fixed;inset:0}.fwkPopup .fwkSidebar{z-index:9999!important;width:100vw!important;max-width:320px!important;height:100vh!important;position:fixed!important;top:0!important;left:0!important;transform:translate(0)!important}.fwkPopup .content{background:0 0!important;margin:0!important;padding:0!important;position:static!important}}@media (width<=380px){.fwkPopup .fwkSidebar{max-width:100vw!important}}.fwkQuantityStepper{border:1px solid var(--border-light,#0000001f);border-radius:var(--radius-full,9999px);background:var(--paper-colour-1,#fff);align-items:center;display:inline-flex;overflow:hidden}.fwkQuantityStepper__button{width:42px;height:42px;color:var(--colour-text,#333);transition:var(--transition-base,.2s ease);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.fwkQuantityStepper__button:hover:not(:disabled){background:var(--accent-colour-faint,#0000000d);color:var(--accent-colour,#1976d2)}.fwkQuantityStepper__button:disabled{opacity:.45;cursor:not-allowed}.fwkQuantityStepper__value{text-align:center;min-width:2.5rem;color:var(--colour-text,#333);padding:0 .35rem;font-weight:700}.fwkTable{border-collapse:collapse;border-spacing:0;border-radius:var(--radius-md,8px);background-color:#0000;width:100%;max-width:100%;overflow:hidden}.fwkTable th{text-align:left;color:var(--table-header-color,var(--text-primary,inherit));font-weight:600}.fwkTable thead,.fwkTable .tHead{background:var(--table-header-bg,transparent)}.fwkTable td,.fwkTable th{transition:var(--transition-base,.2s ease)}.fwkTable.table{width:100%;margin-bottom:20px}.fwkTable.table>thead>tr>th,.fwkTable.table>tbody>tr>th,.fwkTable.table>tfoot>tr>th,.fwkTable.table>thead>tr>td,.fwkTable.table>tbody>tr>td,.fwkTable.table>tfoot>tr>td{vertical-align:top;border-top:1px solid var(--table-border-color,var(--border-muted,#ddd));padding:.8rem 8px;line-height:1.42857}.fwkTable.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid var(--table-border-color,var(--border-muted,#ddd))}.fwkTable.table>caption+thead>tr:first-child>th,.fwkTable.table>colgroup+thead>tr:first-child>th,.fwkTable.table>thead:first-child>tr:first-child>th,.fwkTable.table>caption+thead>tr:first-child>td,.fwkTable.table>colgroup+thead>tr:first-child>td,.fwkTable.table>thead:first-child>tr:first-child>td{border-top:0}.fwkTable.table>tbody+tbody{border-top:2px solid var(--table-border-color,var(--border-muted,#ddd))}.fwkTable.table-condensed>thead>tr>th,.fwkTable.table-condensed>tbody>tr>th,.fwkTable.table-condensed>tfoot>tr>th,.fwkTable.table-condensed>thead>tr>td,.fwkTable.table-condensed>tbody>tr>td,.fwkTable.table-condensed>tfoot>tr>td{padding:2px 5px}.fwkTable.table-bordered,.fwkTable.table-bordered>thead>tr>th,.fwkTable.table-bordered>tbody>tr>th,.fwkTable.table-bordered>tfoot>tr>th,.fwkTable.table-bordered>thead>tr>td,.fwkTable.table-bordered>tbody>tr>td,.fwkTable.table-bordered>tfoot>tr>td{border:1px solid var(--table-border-color,var(--border-muted,#ddd))}.fwkTable.table-bordered>thead>tr>th,.fwkTable.table-bordered>thead>tr>td{border-bottom-width:2px}.fwkTable.table-striped>tbody>tr:nth-child(odd)>td,.fwkTable.table-striped>tbody>tr:nth-child(odd)>th{background-color:var(--table-stripe-bg,var(--bg-muted,#f9f9f9))}.fwkTable.table-striped>thead>tr>th,.fwkTable.table-striped>tbody>tr>th,.fwkTable.table-striped>tfoot>tr>th,.fwkTable.table-striped>thead>tr>td,.fwkTable.table-striped>tbody>tr>td,.fwkTable.table-striped>tfoot>tr>td{padding:.8rem 8px}.fwkTable.table-striped.table-condensed>thead>tr>th,.fwkTable.table-striped.table-condensed>tbody>tr>th,.fwkTable.table-striped.table-condensed>tfoot>tr>th,.fwkTable.table-striped.table-condensed>thead>tr>td,.fwkTable.table-striped.table-condensed>tbody>tr>td,.fwkTable.table-striped.table-condensed>tfoot>tr>td{padding:2px 5px}.fwkTable.table-hover>tbody>tr:hover>td,.fwkTable .tRow:hover>td,.fwkTable tbody tr:hover>td,.fwkTable.table-hover>tbody>tr:hover>th,.fwkTable .tRow:hover>th,.fwkTable tbody tr:hover>th,.fwkTable>thead>tr>td.active,.fwkTable>tbody>tr>td.active,.fwkTable>tfoot>tr>td.active,.fwkTable>thead>tr>th.active,.fwkTable>tbody>tr>th.active,.fwkTable>tfoot>tr>th.active,.fwkTable>thead>tr.active>td,.fwkTable>tbody>tr.active>td,.fwkTable>tfoot>tr.active>td,.fwkTable>thead>tr.active>th,.fwkTable>tbody>tr.active>th,.fwkTable>tfoot>tr.active>th{background-color:var(--table-row-hover-bg,var(--hover-colour,#f5f5f5))}.fwkTable.table-paper{background-color:#fff}.fwkTable.table-paper>thead>tr>th{background-color:var(--SideBar-background,var(--table-stripe-bg,var(--bg-muted,#f9f9f9)));color:var(--SideBar-textcolour,inherit)}.fwkTable.table-paper>tbody>tr>td,.fwkTable.table-paper>tfoot>tr>td{background-color:#fff}.fwkTable.table-transparent,.fwkTable.table-transparent>thead>tr>th,.fwkTable.table-transparent>tbody>tr>th,.fwkTable.table-transparent>tfoot>tr>th,.fwkTable.table-transparent>thead>tr>td,.fwkTable.table-transparent>tbody>tr>td,.fwkTable.table-transparent>tfoot>tr>td{background-color:#0000}.fwkTable col[class*=col-]{float:none;display:table-column}.fwkTable td[class*=col-],.fwkTable th[class*=col-]{float:none;display:table-cell}.fwkTable>thead>tr>td.success,.fwkTable>tbody>tr>td.success,.fwkTable>tfoot>tr>td.success,.fwkTable>thead>tr>th.success,.fwkTable>tbody>tr>th.success,.fwkTable>tfoot>tr>th.success,.fwkTable>thead>tr.success>td,.fwkTable>tbody>tr.success>td,.fwkTable>tfoot>tr.success>td,.fwkTable>thead>tr.success>th,.fwkTable>tbody>tr.success>th,.fwkTable>tfoot>tr.success>th{background-color:#dff0d8;border-color:#d6e9c6}.fwkTable.table-hover>tbody>tr>td.success:hover,.fwkTable.table-hover>tbody>tr>th.success:hover,.fwkTable.table-hover>tbody>tr.success:hover>td,.fwkTable.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6;border-color:#c9e2b4}.fwkTable>thead>tr>td.info,.fwkTable>tbody>tr>td.info,.fwkTable>tfoot>tr>td.info,.fwkTable>thead>tr>th.info,.fwkTable>tbody>tr>th.info,.fwkTable>tfoot>tr>th.info,.fwkTable>thead>tr.info>td,.fwkTable>tbody>tr.info>td,.fwkTable>tfoot>tr.info>td,.fwkTable>thead>tr.info>th,.fwkTable>tbody>tr.info>th,.fwkTable>tfoot>tr.info>th{background-color:#d9edf7;border-color:#bce8f1}.fwkTable.table-hover>tbody>tr>td.info:hover,.fwkTable.table-hover>tbody>tr>th.info:hover,.fwkTable.table-hover>tbody>tr.info:hover>td,.fwkTable.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3;border-color:#a7e1ed}.fwkTable>thead>tr>td.warning,.fwkTable>tbody>tr>td.warning,.fwkTable>tfoot>tr>td.warning,.fwkTable>thead>tr>th.warning,.fwkTable>tbody>tr>th.warning,.fwkTable>tfoot>tr>th.warning,.fwkTable>thead>tr.warning>td,.fwkTable>tbody>tr.warning>td,.fwkTable>tfoot>tr.warning>td,.fwkTable>thead>tr.warning>th,.fwkTable>tbody>tr.warning>th,.fwkTable>tfoot>tr.warning>th{background-color:#fcf8e3;border-color:#faebcc}.fwkTable.table-hover>tbody>tr>td.warning:hover,.fwkTable.table-hover>tbody>tr>th.warning:hover,.fwkTable.table-hover>tbody>tr.warning:hover>td,.fwkTable.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc;border-color:#f8e2b5}.fwkTable>thead>tr>td.danger,.fwkTable>tbody>tr>td.danger,.fwkTable>tfoot>tr>td.danger,.fwkTable>thead>tr>th.danger,.fwkTable>tbody>tr>th.danger,.fwkTable>tfoot>tr>th.danger,.fwkTable>thead>tr.danger>td,.fwkTable>tbody>tr.danger>td,.fwkTable>tfoot>tr.danger>td,.fwkTable>thead>tr.danger>th,.fwkTable>tbody>tr.danger>th,.fwkTable>tfoot>tr.danger>th{background-color:#f2dede;border-color:#ebccd1}.fwkTable.table-hover>tbody>tr>td.danger:hover,.fwkTable.table-hover>tbody>tr>th.danger:hover,.fwkTable.table-hover>tbody>tr.danger:hover>td,.fwkTable.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc;border-color:#e4bac0}@media (width<=767px){.table-responsive{-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid var(--table-border-color,var(--border-muted,#ddd));-webkit-overflow-scrolling:touch;width:100%;margin-bottom:15px;overflow:scroll hidden}.table-responsive>.fwkTable{margin-bottom:0}.table-responsive>.fwkTable>thead>tr>th,.table-responsive>.fwkTable>tbody>tr>th,.table-responsive>.fwkTable>tfoot>tr>th,.table-responsive>.fwkTable>thead>tr>td,.table-responsive>.fwkTable>tbody>tr>td,.table-responsive>.fwkTable>tfoot>tr>td{white-space:nowrap}.table-responsive>.fwkTable.table-bordered{border:0}.table-responsive>.fwkTable.table-bordered>thead>tr>th:first-child,.table-responsive>.fwkTable.table-bordered>tbody>tr>th:first-child,.table-responsive>.fwkTable.table-bordered>tfoot>tr>th:first-child,.table-responsive>.fwkTable.table-bordered>thead>tr>td:first-child,.table-responsive>.fwkTable.table-bordered>tbody>tr>td:first-child,.table-responsive>.fwkTable.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.fwkTable.table-bordered>thead>tr>th:last-child,.table-responsive>.fwkTable.table-bordered>tbody>tr>th:last-child,.table-responsive>.fwkTable.table-bordered>tfoot>tr>th:last-child,.table-responsive>.fwkTable.table-bordered>thead>tr>td:last-child,.table-responsive>.fwkTable.table-bordered>tbody>tr>td:last-child,.table-responsive>.fwkTable.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.fwkTable.table-bordered>tbody>tr:last-child>th,.table-responsive>.fwkTable.table-bordered>tfoot>tr:last-child>th,.table-responsive>.fwkTable.table-bordered>tbody>tr:last-child>td,.table-responsive>.fwkTable.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}.tile-layout{width:auto;margin-left:calc(var(--tile-gap,16px) * -1);margin-right:calc(var(--tile-gap,16px) * -1);justify-content:center;display:flex}.tile-layout-column{padding-left:var(--tile-gap,16px);background-clip:padding-box}.tile-layout-column>*{margin-bottom:var(--tile-gap,16px)}.fwkToolBar{background:var(--toolbar-bg-gradient,var(--toolbar-bg));color:var(--toolbar-text-color);border:var(--toolbar-border);border-radius:var(--radius-md,10px);box-shadow:var(--toolbar-shadow);justify-content:space-between;align-items:center;column-gap:.75rem;padding:.5rem 1rem;display:flex;position:relative}.fwkToolBar i.fa,.fwkToolBar i.fas,.fwkToolBar i.far,.fwkToolBar i.fab,.fwkToolBar i[class*=fa-]{text-align:center;justify-content:center;align-items:center;width:1em;height:1em;font-size:1.125rem;line-height:1;display:inline-flex}.fwkToolBar a{color:inherit;text-decoration:none}.fwkToolBar .fwkIconButton{color:var(--toolbar-icon-color);border-radius:var(--radius-sm,6px);transition:var(--transition-base,.2s ease);background-color:#0000;padding:.5rem}.fwkToolBar .fwkIconButton i,.fwkToolBar .fwkIconButton .fa,.fwkToolBar .fwkIconButton [class*=fa-],.fwkToolBar .fwkIconButton svg{color:var(--toolbar-icon-color);justify-content:center;align-items:center;width:1em;height:1em;font-size:1.125rem;line-height:1;display:inline-flex}.fwkToolBar .fwkIconButton:hover:not(.disabled){background-color:var(--toolbar-icon-hover-bg);transform:none}.fwkToolBar .fwkIconButton:active:not(.disabled){background-color:var(--toolbar-icon-active-bg)}.fwkToolBar .fwkIconButton.selected{background-color:var(--toolbar-icon-selected-bg);color:var(--toolbar-icon-selected-color)}.fwkToolBar .fwkIconButton.selected i,.fwkToolBar .fwkIconButton.selected .fa,.fwkToolBar .fwkIconButton.selected [class*=fa-],.fwkToolBar .fwkIconButton.selected svg{color:var(--toolbar-icon-selected-color);width:1em;height:1em;font-size:1.125rem;line-height:1}.fwkToolBar .fwkIconButton.toolbarButton{white-space:nowrap;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;display:flex}.fwkToolBar .fwkIconButton.button{background:var(--gradient-accent);color:var(--text-inverse,white);box-shadow:var(--shadow-accent-sm);border:none}.fwkToolBar .fwkIconButton.button i,.fwkToolBar .fwkIconButton.button .fa,.fwkToolBar .fwkIconButton.button [class*=fa-],.fwkToolBar .fwkIconButton.button svg{color:var(--text-inverse,white);width:1em;height:1em;font-size:1.125rem;line-height:1}.fwkToolBar .fwkIconButton.button:hover:not(.disabled){background:var(--gradient-accent-hover);box-shadow:var(--shadow-accent-md);transform:none}.fwkToolBar i,.fwkToolBar .fa,.fwkToolBar [class*=fa-],.fwkToolBar svg{color:var(--toolbar-icon-color)}.fwkToolBar .fwkTextFieldX:not([type=checkbox]) .control{background:var(--toolbar-input-bg);border:var(--toolbar-input-border);border-radius:var(--radius-sm,6px)}.fwkToolBar .fwkTextFieldX:not([type=checkbox]) .control i,.fwkToolBar .fwkTextFieldX:not([type=checkbox]) .control .fa,.fwkToolBar .fwkTextFieldX:not([type=checkbox]) .control [class*=fa-]{color:var(--toolbar-icon-color)}.fwkToolBar .fwkTextFieldX:not([type=checkbox]) .control:hover{border:var(--toolbar-input-border-hover)}.fwkToolBar .fwkTextFieldX:not([type=checkbox]) .control:focus-within{border:var(--toolbar-input-border-focus);box-shadow:var(--toolbar-input-focus-shadow)}.fwkToolBar .fwkTextFieldX:not([type=checkbox]) input{color:var(--toolbar-input-color)}.fwkToolBar .fwkTextFieldX:not([type=checkbox]) input::placeholder{color:var(--toolbar-input-placeholder)}.fwkToolBar .fwkTextFieldX:not([type=checkbox])[type=search] .searchbox .search-icons .search-icon{color:var(--toolbar-icon-color)}.fwkToolBar .fwkTextFieldX[type=checkbox] .control{box-shadow:none;background:0 0;border:none}.fwkToolBar select,.fwkToolBar .form-select,.fwkToolBar .fwkSelect{background:var(--toolbar-input-bg);border:var(--toolbar-input-border);border-radius:var(--radius-sm,6px);color:var(--toolbar-text-color);padding:.4rem .75rem}.fwkToolBar select:hover,.fwkToolBar .form-select:hover,.fwkToolBar .fwkSelect:hover{border:var(--toolbar-input-border-hover)}.fwkToolBar select:focus,.fwkToolBar .form-select:focus,.fwkToolBar .fwkSelect:focus{border:var(--toolbar-input-border-focus);box-shadow:var(--toolbar-input-focus-shadow);outline:none}.fwkToolBar .left,.fwkToolBar .center,.fwkToolBar .right{flex-wrap:nowrap;flex-grow:0;align-items:center;column-gap:.5rem;display:flex}.fwkToolBar .left{justify-content:flex-start}.fwkToolBar .center{flex-grow:1;justify-content:center}.fwkToolBar .right{justify-content:flex-end}.fwkToolBar .toolbar-title{letter-spacing:-.01em;font-size:1rem;font-weight:600}.fwkToolBar .toolbar-divider{background:var(--toolbar-icon-hover-bg);width:1px;height:1.5rem;margin:0 .25rem}@media (width<=1024px){.fwkToolBar{column-gap:.375rem;padding:.375rem .625rem}.fwkToolBar .left,.fwkToolBar .center,.fwkToolBar .right{column-gap:.25rem}.fwkToolBar .fwkIconButton{padding:.375rem}.fwkToolBar .fwkIconButton.toolbarButton{gap:.25rem;padding:.375rem .5rem;font-size:.8125rem}.fwkToolBar .fwkTextFieldX:not([type=checkbox]){min-width:0}.fwkToolBar .fwkTextFieldX:not([type=checkbox]) input{font-size:.8125rem}.fwkToolBar select,.fwkToolBar .form-select,.fwkToolBar .fwkSelect{padding:.3rem .5rem;font-size:.8125rem}}@media (width<=380px){.fwkToolBar{column-gap:.25rem;padding:.25rem .375rem}.fwkToolBar .left,.fwkToolBar .center,.fwkToolBar .right{column-gap:.125rem}.fwkToolBar .fwkIconButton{padding:.25rem}.fwkToolBar .fwkIconButton i,.fwkToolBar .fwkIconButton .fa,.fwkToolBar .fwkIconButton [class*=fa-],.fwkToolBar .fwkIconButton svg{font-size:.9375rem}.fwkToolBar .fwkIconButton.toolbarButton{gap:.125rem;padding:.25rem .375rem;font-size:.75rem}.fwkToolBar .fwkTextFieldX:not([type=checkbox]){min-width:0}.fwkToolBar .fwkTextFieldX:not([type=checkbox]) input{font-size:.75rem}.fwkToolBar select,.fwkToolBar .form-select,.fwkToolBar .fwkSelect{padding:.25rem .375rem;font-size:.75rem}.fwkToolBar .toolbar-title{font-size:.8125rem}}.fwkToolBar.secondary{background:var(--paper-colour-2,#f5f5f5);color:var(--text-primary,#333);box-shadow:none;border:1px solid var(--border-muted,#00000014)}.fwkToolBar.secondary .fwkIconButton,.fwkToolBar.secondary .fwkIconButton i,.fwkToolBar.secondary .fwkIconButton .fa,.fwkToolBar.secondary .fwkIconButton [class*=fa-],.fwkToolBar.secondary .fwkIconButton svg{color:var(--text-primary,#333)}.fwkToolBar.secondary .fwkIconButton:hover:not(.disabled){background-color:var(--hover-colour,#0000000d)}.fwkToolBar.secondary .fwkIconButton.button{background:var(--gradient-accent);color:#fff;border:none}.fwkToolBar.secondary .fwkIconButton.button i,.fwkToolBar.secondary .fwkIconButton.button .fa,.fwkToolBar.secondary .fwkIconButton.button [class*=fa-],.fwkToolBar.secondary .fwkIconButton.button svg{color:#fff}.fwkToolBar.secondary .fwkIconButton.button:hover:not(.disabled){background:var(--gradient-accent-hover)}.fwkToolBar.secondary i,.fwkToolBar.secondary .fa,.fwkToolBar.secondary [class*=fa-],.fwkToolBar.secondary svg{color:var(--text-primary,#333)}.fwkToolBar.secondary .fwkTextFieldX:not([type=checkbox]) .control{background-color:var(--paper-colour,white);border-color:var(--border-light,#0000001a)}.fwkToolBar.secondary .fwkTextFieldX:not([type=checkbox]) input{color:var(--text-primary,#333)}.fwkToolBar.secondary .fwkTextFieldX:not([type=checkbox]) input::placeholder{color:var(--text-muted,#999)}.fwkToolBar.secondary .toolbar-divider{background:var(--border-light,#0000001a)}.fwkToolBar.ghost{color:var(--text-primary,#333);box-shadow:none;background:0 0;border:none;padding:.5rem 0}.fwkToolBar.ghost .fwkIconButton,.fwkToolBar.ghost .fwkIconButton i,.fwkToolBar.ghost .fwkIconButton .fa,.fwkToolBar.ghost .fwkIconButton [class*=fa-],.fwkToolBar.ghost .fwkIconButton svg{color:var(--text-primary,#333)}.fwkToolBar.ghost .fwkIconButton:hover:not(.disabled){background-color:var(--hover-colour,#0000000d)}.fwkToolBar.ghost i,.fwkToolBar.ghost .fa,.fwkToolBar.ghost [class*=fa-],.fwkToolBar.ghost svg{color:var(--text-primary,#333)}.fwkToolBar.accent{background:var(--gradient-accent);color:var(--text-inverse,white);border:none}.fwkToolBar.accent .fwkIconButton,.fwkToolBar.accent .fwkIconButton i,.fwkToolBar.accent .fwkIconButton .fa,.fwkToolBar.accent .fwkIconButton [class*=fa-],.fwkToolBar.accent .fwkIconButton svg{color:var(--text-inverse,white)}.fwkToolBar.accent .fwkIconButton:hover:not(.disabled){background-color:var(--bg-overlay-hover,#fff3)}.fwkToolBar.accent .fwkIconButton:active:not(.disabled){background-color:var(--bg-overlay-active,#ffffff4d)}.fwkToolBar.accent .fwkIconButton.button{background:var(--bg-overlay,#ffffff26);border:1px solid var(--border-on-dark,#fff3);color:var(--text-inverse,white)}.fwkToolBar.accent .fwkIconButton.button i,.fwkToolBar.accent .fwkIconButton.button .fa,.fwkToolBar.accent .fwkIconButton.button [class*=fa-],.fwkToolBar.accent .fwkIconButton.button svg{color:var(--text-inverse,white)}.fwkToolBar.accent .fwkIconButton.button:hover:not(.disabled){background:var(--bg-overlay-hover,#ffffff40)}.fwkToolBar.accent i,.fwkToolBar.accent .fa,.fwkToolBar.accent [class*=fa-],.fwkToolBar.accent svg{color:var(--text-inverse,white)}.fwkToolBar.accent .fwkTextFieldX:not([type=checkbox]) .control{background-color:var(--bg-overlay,#ffffff26);border:1px solid var(--border-on-dark,#fff3)}.fwkToolBar.accent .fwkTextFieldX:not([type=checkbox]) .control i,.fwkToolBar.accent .fwkTextFieldX:not([type=checkbox]) .control .fa,.fwkToolBar.accent .fwkTextFieldX:not([type=checkbox]) .control [class*=fa-]{color:var(--text-inverse,white)}.fwkToolBar.accent .fwkTextFieldX:not([type=checkbox]) .control:focus-within{background-color:var(--bg-overlay-hover,#ffffff40);border-color:var(--border-on-dark,#ffffff4d)}.fwkToolBar.accent .fwkTextFieldX:not([type=checkbox]) input{color:var(--text-inverse,white)}.fwkToolBar.accent .fwkTextFieldX:not([type=checkbox]) input::placeholder{color:var(--text-overlay-muted,#fff9)}.fwkToolBar.accent select,.fwkToolBar.accent .form-select,.fwkToolBar.accent .fwkSelect{background-color:var(--bg-overlay,#ffffff26);border:1px solid var(--border-on-dark,#fff3);color:var(--text-inverse,white)}.fwkToolBar.accent select:focus,.fwkToolBar.accent .form-select:focus,.fwkToolBar.accent .fwkSelect:focus{background-color:var(--bg-overlay-hover,#ffffff40);border-color:var(--border-on-dark,#ffffff4d)}.fwkToolBar.accent .toolbar-divider{background:var(--border-on-dark,#fff3)}.page-404{background:var(--page404-bg,var(--background-colour));justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.page-404__content{text-align:center;width:100%;max-width:480px;animation:.6s ease-out page404-fadeIn}@keyframes page404-fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-404__branding{margin-bottom:2.5rem}.page-404__logo{cursor:pointer;max-width:180px;max-height:50px;transition:transform .2s}.page-404__logo:hover{transform:scale(1.05)}.page-404__title-brand{font-family:var(--font-family-heading);color:var(--colour-dark);cursor:pointer;font-size:1.5rem;font-weight:700}.page-404__illustration{margin-bottom:2rem}.page-404__frame{background:linear-gradient(135deg, var(--colour-dark) 0%, var(--text-muted) 50%, var(--colour-dark) 100%);border-radius:4px;padding:8px;display:inline-block;box-shadow:0 8px 32px #0000001f,inset 0 1px #ffffff1a}.page-404__frame-inner{background:var(--paper-colour);border-radius:2px;justify-content:center;align-items:center;width:180px;height:140px;display:flex;position:relative;overflow:hidden}.page-404__frame-inner:before{content:"";background-color:#0000;background-image:linear-gradient(90deg,#0000 0%,#00000004 50%,#0000 100%),linear-gradient(#0000 0%,#00000004 50%,#0000 100%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:4px 4px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.page-404__frame-text{font-family:var(--font-family-heading);color:var(--colour-border);letter-spacing:.1em;font-size:3rem;font-weight:300;position:relative}.page-404__message{margin-bottom:2rem}.page-404__message h1{font-family:var(--font-family-heading);color:var(--colour-dark);margin:0 0 .75rem;font-size:1.5rem;font-weight:600;line-height:1.3}.page-404__message p{color:var(--text-muted);margin:0;font-size:1rem;line-height:1.6}.page-404__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.page-404__btn{cursor:pointer;border:2px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:12px 24px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.page-404__btn i{font-size:.95rem}.page-404__btn--primary{background:var(--accent-colour);color:var(--text-inverse);border-color:var(--accent-colour)}.page-404__btn--primary:hover{background:var(--colour-dark);border-color:var(--colour-dark);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.page-404__btn--secondary{background:var(--paper-colour);color:var(--colour-dark);border-color:var(--colour-dark)}.page-404__btn--secondary:hover{background:var(--colour-dark);color:var(--text-inverse);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.page-404__suggestions{border-top:1px solid var(--colour-border);margin-top:2rem;padding-top:1.5rem}.page-404__suggestions p{color:var(--text-muted);margin:0 0 .75rem;font-size:.875rem}.page-404__links{flex-wrap:wrap;justify-content:center;gap:1.25rem;display:flex}.page-404__link{color:var(--accent-colour);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.page-404__link:after{content:"";background:var(--colour-dark);width:0;height:1px;transition:width .2s;position:absolute;bottom:-2px;left:0}.page-404__link:hover{color:var(--colour-dark)}.page-404__link:hover:after{width:100%}@media (width<=576px){.page-404{padding:1.5rem 1rem}.page-404__frame-inner{width:150px;height:120px}.page-404__frame-text{font-size:2.5rem}.page-404__message h1{font-size:1.35rem}.page-404__actions{flex-direction:column;align-items:center}.page-404__btn{justify-content:center;width:100%;max-width:200px}.page-404__links{gap:1rem}}.fwkNotes.fwkTextCol{flex-direction:column}.fwkLastNote{background-color:#ffebcd;flex-direction:column;width:100%;padding-bottom:10px;display:flex}.fwkLastNote>div{display:flex}.fwkEntityPopup{width:fit-content}.fwkEntityPopup .modal-dialog{max-width:80%;height:80vh;margin:5vh auto;max-height:90vh!important}.fwkEntityPopup .modal-content{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden!important}.fwkEntityPopup .entityPopupContainer{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.fwkEntityPopup .entityPopupHeader{border-bottom:1px solid var(--border-colour,#e0e0e0);flex-shrink:0;padding:8px 0}.fwkEntityPopup .entityPopupToolbarContainer{z-index:10;background-color:var(--paper-colour,#fff);border-bottom:1px solid var(--border-colour,#e0e0e0);flex-shrink:0;position:sticky;top:0}.fwkEntityPopup .entityPopupContent{scrollbar-width:thin;scrollbar-color:var(--border-colour) var(--bg-muted);flex:1;min-height:0;padding:16px;overflow:hidden auto}.fwkEntityPopup .entityPopupContent::-webkit-scrollbar{width:8px}.fwkEntityPopup .entityPopupContent::-webkit-scrollbar-track{background:var(--bg-muted);border-radius:4px}.fwkEntityPopup .entityPopupContent::-webkit-scrollbar-thumb{background:var(--border-colour);border-radius:4px}.fwkEntityPopup .entityPopupContent::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.fwkEntityPopup .entityPopupToolbar .fwkToolBar{background-color:var(--toolbar-bg-color,#f8f9fa);border-radius:0;margin:0}.fwkEntityPopup .entityPopup-ledger .entityPopupContent{padding:0;overflow:hidden!important}.fwkEntityPopup .entityPopup-ledger .fwkDataPart{flex-direction:column!important;height:100%!important;display:flex!important}.fwkEntityPopup .entityPopup-ledger .fwkTabs{flex-direction:column!important;flex:1!important;min-height:0!important;display:flex!important}.fwkEntityPopup .entityPopup-ledger .fwkTabs .tabbody{flex:1!important;min-height:0!important}.fwkEntityPopup .entityPopup-ledger .fwkTabs .panel,.fwkEntityPopup .entityPopup-ledger .fwkTabs .tabPanel{height:100%!important}.fwkEntityPopup .entityPopup-ledger .fwkManagedDiv,.fwkEntityPopup .entityPopup-ledger #fwkManagedDiv{height:100%!important;max-height:100%!important;overflow:hidden!important}.fwkEntityPopup .entityPopup-ledger .fwkLedger{height:100%!important}.fwkEntityPopup .entityPopup-ledger .fwkLedger>.fwkToolBar{background-color:var(--toolbar-bg-color);color:var(--toolbar-text-color)}.fwkEntityPopup .entityPopup-ledger .fwkLedger .fwkIconButton.button{background-color:var(--toolbar-text-color);color:#fff;font-size:unset;border-radius:.3rem;height:1.5rem;padding:.5rem;font-weight:600}.fwkEntityPopup .entityPopup-ledger .fwkLedger .fwkIconButton.button.disabled{pointer-events:none;cursor:default;color:var(--text-inverse);background-color:var(--disabled-colour)!important}.entityToolbar{border-bottom:1px solid var(--border-colour,#e0e0e0);background-color:var(--toolbar-bg-color,#f8f9fa);padding:4px 8px}.entityToolbar .fwkToolBar{background-color:var(--toolbar-bg-color);color:var(--toolbar-text-color)}.entityKindLabel{color:var(--text-muted,#495057);align-items:center;padding:8px 12px;font-size:16px;font-weight:600;display:flex}.entityKindLabel strong{color:var(--colour-text,#212529)}.fwkPageWidth{max-width:var(--page-width);width:100%;margin-left:auto;margin-right:auto}*{box-sizing:border-box;outline:none}html,body{color:var(--colour-text);background-color:var(--background-colour);font-variant:normal;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-osx-font-smoothing:grayscale;min-height:100%;margin:0;padding:0;font-family:Roboto,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400}.portalbody{background:var(--background-colour)}.flex{display:flex}.flex.centered{justify-content:center}.noBackground{background-color:none}.rounded{border-radius:.5rem}@media screen and (width>=1200px){html,body{font-size:18px}}@media screen and (device-width<=768px){body{font-size:10px;line-height:1}}@media screen and (device-width>=768px) and (device-width<=1024px){body{font-size:10px;line-height:1.2}}@media screen and (device-width<=480px) and (orientation:portrait){body{font-size:10px;line-height:1.1}}.hidden{display:none}.fwkNavbar a{color:#fff;font-size:larger;font-weight:700}h1,h2,h3{text-transform:uppercase;font-family:Roboto Condensed,sans-serif;font-weight:700}h1{font-size:48pt}h2{font-size:32pt}h3{font-size:20pt}a{color:#000}.fwkPageBand{padding-top:0;padding-bottom:0}.infoBox{padding:94px 80px;font-size:15px}.white{background-color:#fff}.lightGray{background-color:#f7f7f8}.darkGray{color:#fff;background-color:#64666d}@keyframes slideUp{0%{opacity:0;bottom:-50px}to{opacity:1;bottom:50%}}.email-verify-badge{white-space:nowrap;border-radius:10px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.email-verify-badge.verified{color:#2d7a2d;background-color:#e6f7e6;border:1px solid #b3dfb3}.email-verify-badge.verified .fa{color:#2d7a2d}.email-verify-badge.unverified{color:#8a6500;background-color:#fff8e6;border:1px solid #f0d080}.email-verify-badge.unverified .fa{color:#c98a00}.email-verify-badge .verify-date{opacity:.8;margin-left:4px;font-weight:400}.email-verify-modal{padding:8px 0}.email-verify-modal .evs-step{flex-direction:column;gap:12px;display:flex}.email-verify-modal .evs-intro{color:#555;margin:0;line-height:1.5}.email-verify-modal .evs-email{color:#1a1a1a;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:8px 12px;font-size:15px;font-weight:600}.email-verify-modal .evs-expiry{color:#888;font-size:12px}.email-verify-modal .evs-error{color:#c0392b;background:#fff0f0;border:1px solid #f5c0c0;border-radius:4px;padding:8px 12px;font-size:13px}.email-verify-modal .evs-error .fa{margin-right:5px}.email-verify-modal .evs-success{text-align:center;align-items:center;padding:16px 0}.email-verify-modal .evs-success .evs-success-icon{color:#2d7a2d;font-size:48px}.email-verify-modal .evs-success p{color:#333;margin:8px 0 0}.evp-page{background:var(--background-colour,#f4f6f9);min-height:100vh;font-family:var(--font-family-heading,sans-serif);justify-content:center;align-items:center;display:flex}.evp-card{background:var(--card-background,#fff);border-radius:var(--card-border-radius,8px);box-shadow:var(--shadow-lg,0 2px 16px #0000001a);border:var(--card-border,none);text-align:center;width:100%;max-width:440px;padding:48px 40px}.evp-logo{color:var(--accent-colour,#aaa);margin-bottom:24px;font-size:48px}.evp-logo img{object-fit:contain;max-width:200px;max-height:60px}.evp-body{flex-direction:column;align-items:center;gap:12px;display:flex}.evp-body h2{color:var(--text-primary,#333);margin:0;font-size:22px;font-weight:600}.evp-body p{color:var(--text-muted,#555);margin:0;line-height:1.5}.evp-spinner{color:var(--text-muted,#888);font-size:36px}.evp-icon{font-size:56px}.evp-email{font-weight:600;color:var(--text-primary,#222)!important}.evp-success .evp-icon{color:var(--success-colour,#2d7a2d)}.evp-expired .evp-icon{color:var(--warning-colour,#c98a00)}.evp-invalid .evp-icon,.evp-error .evp-icon{color:var(--error-colour,#c0392b)}
