.fwkBoard{display:flex;flex-direction:column;justify-content:flex-start;padding:8px 8px 0;height:100%;box-sizing:border-box;width:100%}.fwkBoard.noPadding{padding:0}.fwkPageBand{position:relative;width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}.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-]{display:flex;flex-direction:column}.fwkPageBand .row.equal-height>[class*=col-]>*{flex:1}.hero{position:relative;overflow:hidden;width:100%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ffffffd9,#fff9 40%,#fff3,#fff0);pointer-events:none;z-index:1}.hero.overlay-light:after{background:linear-gradient(90deg,#ffffff80,#ffffff4d,#fff0 60%)}.hero.overlay-none:after{display:none}.hero img{width:100%;height:auto;display:block}.text{position:absolute;bottom:-50px;left:50%;transform:translate(-50%);font-size:2rem;font-weight:700;color:#fff;opacity:0;transition:bottom 1s ease-in-out,opacity 1s ease-in-out;z-index:2}.text.show{bottom:50%;transform:translate(-50%,50%);opacity:1}.zoom-pan-container{position:relative;overflow:hidden}.zoom-pan-container img{transition:transform 5s ease}.zoom-pan-container:hover img{transform:scale(1.1)}.slavery{height:100%}.slavery h2{font-family:Roboto Condensed,Roboto,sans-serif;font-weight:700;font-size:1.75rem;text-transform:uppercase;margin-bottom:1.5rem;letter-spacing:-.02em;color:var(--colour-text)}.slavery h2:before{content:"";display:block;width:60px;height:4px;background-color:var(--accent-colour);margin-bottom:1rem}.slavery p{font-family:Roboto,Open Sans,sans-serif;font-size:1rem;line-height:1.7;margin-bottom:1rem;color:var(--text-muted)}.slavery ul{font-family:Roboto,Open Sans,sans-serif;font-size:1rem;line-height:1.7;margin:1rem 0;padding-left:1.5rem;color:var(--text-muted)}.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{position:absolute;bottom:40px;left:40px;z-index:2;font-family:Roboto Condensed,Roboto,sans-serif;font-size:3rem;font-weight:700;color:var(--colour-text);text-transform:uppercase;letter-spacing:-.02em;line-height:1}.statements #herotext:before{content:"";display:block;width:60px;height:4px;background-color:var(--accent-colour);margin-bottom:15px}@media(max-width:768px){.statements #herotext{font-size:2rem;left:20px;bottom:30px}}.statements .infoBox{padding:60px}@media(max-width:768px){.statements .infoBox{padding:40px 20px}}.statements .infoBox h2{font-family:Roboto Condensed,Roboto,sans-serif;font-weight:700;font-size:1.75rem;text-transform:uppercase;margin-bottom:1.5rem;letter-spacing:-.02em;color:var(--colour-text)}.statements .infoBox h2:before{content:"";display:block;width:60px;height:4px;background-color:var(--accent-colour);margin-bottom:1rem}.statements .infoBox p{font-family:Roboto,Open Sans,sans-serif;font-size:1rem;line-height:1.7;margin-bottom:1rem;color:var(--text-muted)}.statements .infoBox ul{font-family:Roboto,Open Sans,sans-serif;font-size:1rem;line-height:1.7;margin:1rem 0;padding-left:1.5rem;color:var(--text-muted)}.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{font-weight:700;color:#22c55e}#productvariantsboard .variant-stock-low{color:#f59e0b}#productvariantsboard .variant-stock-out{color:#ef4444}#productimagesboard .image-thumbnail{width:50px;height:50px;object-fit:cover;border-radius:4px}#productimagesboard .image-list-thumbnail{width:40px;height:40px;object-fit:cover;border-radius:4px}#productimagesboard .image-item-preview{width:50px;display:flex;align-items:center;justify-content:center}.image-preview-container{margin-bottom:16px;text-align:center}.image-preview-container .image-preview{max-width:300px;max-height:300px;border-radius:8px;box-shadow:0 2px 8px #0000001a}#productcategoriesboard .category-image-preview{max-width:100px;max-height:100px;border-radius:4px;margin-top:8px}#productattributesboard .attribute-options{margin-top:8px;padding:8px;background:#f5f5f5;border-radius:4px}#productsboard .product-thumbnail{width:50px;height:50px;object-fit:cover;border-radius:4px}#productsboard .product-price{font-weight:700;color:#22c55e}#productsboard .product-stock-low{color:#f59e0b}#productsboard .product-stock-out{color:#ef4444}#productsboard .product-featured-badge{background:#8b5cf6;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;margin-left:8px}.privacy{height:100%}.privacy h2{font-family:Roboto Condensed,Roboto,sans-serif;font-weight:700;font-size:1.75rem;text-transform:uppercase;margin-bottom:1.5rem;letter-spacing:-.02em;color:var(--colour-text)}.privacy h2:before{content:"";display:block;width:60px;height:4px;background-color:var(--accent-colour);margin-bottom:1rem}.privacy p{font-family:Roboto,Open Sans,sans-serif;font-size:1rem;line-height:1.7;margin-bottom:1rem;color:var(--text-muted)}.privacy ul{font-family:Roboto,Open Sans,sans-serif;font-size:1rem;line-height:1.7;margin:1rem 0;padding-left:1.5rem;color:var(--text-muted)}.privacy ul li{margin-bottom:.5rem}.privacy a{color:var(--accent-colour);text-decoration:none;font-weight:500}.privacy a:hover{text-decoration:underline}.privacy .cookie-table{width:100%;border-collapse:collapse;font-family:Roboto,Open Sans,sans-serif;font-size:.9rem;margin-top:1rem}.privacy .cookie-table thead th{font-weight:700;text-align:left;padding:12px 8px;border-bottom:2px solid var(--accent-colour);color:var(--colour-text)}.privacy .cookie-table tbody td{padding:12px 8px;border-bottom:1px solid var(--border-colour);vertical-align:top;color:var(--text-muted)}.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{position:absolute;bottom:40px;left:40px;z-index:2;font-family:Roboto Condensed,Roboto,sans-serif;font-size:3rem;font-weight:700;color:var(--text-dark, #000000);text-transform:uppercase;letter-spacing:-.02em;line-height:1}.privacy #herotext:before{content:"";display:block;width:60px;height:4px;background-color:var(--primary-color, #de411b);margin-bottom:15px}@media(max-width:768px){.privacy #herotext{font-size:2rem;left:20px;bottom:30px}}.privacy .infoBox{padding:60px}@media(max-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{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.storage-dashboard .cell-guid{font-family:monospace;font-size:.85em}.storage-dashboard .section-header td{font-weight:600;color:var(--text-muted, #6c757d);font-size:.85em;text-transform:uppercase;letter-spacing:.05em}.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);font-style:italic;padding:20px 0;text-align:center}.storage-dashboard .fwkCardContainer{margin-bottom:16px}.storage-admin-panel{padding:24px;max-width:1200px;margin:0 auto;height:100%;overflow-y:auto}.storage-admin-panel h1{font-size:1.75rem;font-weight:600;color:var(--colour-text, #1f2937);margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid var(--border-colour, #e5e7eb)}.storage-admin-panel .admin-message{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;margin-bottom:16px}.storage-admin-panel .admin-message i{font-size:1.25rem}.storage-admin-panel .admin-message span{flex:1}.storage-admin-panel .admin-message button{background:none;border:none;cursor:pointer;opacity:.6;padding:4px}.storage-admin-panel .admin-message button:hover{opacity:1}.storage-admin-panel .admin-message.success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.storage-admin-panel .admin-message.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.storage-admin-panel .admin-content{display:flex;flex-direction:column;gap:32px}.storage-admin-panel .admin-section{background:var(--paper-colour-1, #ffffff);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.storage-admin-panel .admin-section h2{display:flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:600;color:var(--colour-text, #374151);margin:0 0 20px}.storage-admin-panel .admin-section h2 i{color:var(--accent-colour, #3b82f6)}.storage-admin-panel .admin-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.storage-admin-panel .admin-card{background:var(--paper-colour-2, #f9fafb);border-radius:8px;padding:20px;border:1px solid var(--border-colour, #e5e7eb)}.storage-admin-panel .admin-card .card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.storage-admin-panel .admin-card .card-header i{font-size:1.25rem;color:var(--text-muted, #6b7280)}.storage-admin-panel .admin-card .card-header h3{font-size:1rem;font-weight:600;margin:0;color:var(--colour-text, #1f2937)}.storage-admin-panel .admin-card p{color:var(--text-muted, #6b7280);font-size:.875rem;line-height:1.5;margin:0 0 16px}.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{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px}.storage-admin-panel .confirm-message .warning-icon{font-size:3rem;color:#f59e0b;margin-bottom:16px}.storage-admin-panel .confirm-message p{font-size:1rem;color:var(--colour-text, #374151);line-height:1.6;margin:0}#msgtemplates{width:100%}#msgtemplates .button{margin-top:8px;font-size:unset}#msgtemplates .fwkTextField{min-width:5em}#msgtemplates .emailCcBccRow{display:flex;gap:12px;align-items:flex-end}#msgtemplates .emailCcBccRow .fwkTextFieldX[type=email]{flex:1;min-width:0}#msgtemplates .preview-loading{padding:20px;text-align:center;color:var(--text-muted)}#msgtemplates .preview-error{padding:15px;background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:4px;color:var(--error-colour)}#msgtemplates .preview-content{display:flex;flex-direction:column;gap:20px}#msgtemplates .preview-channel{border:1px solid var(--border-colour);border-radius:4px;padding:15px;background-color:var(--bg-muted)}#msgtemplates .preview-channel h3{margin:0 0 10px;padding-bottom:5px;border-bottom:1px solid var(--border-colour);color:var(--colour-text)}#msgtemplates .preview-field{margin-bottom:8px}#msgtemplates .preview-field strong{color:var(--text-muted);margin-right:5px}#msgtemplates .preview-body{margin-top:5px;padding:10px;background-color:var(--paper-colour);border:1px solid var(--border-muted);border-radius:3px;white-space:pre-wrap;font-family:inherit;max-height:150px;overflow-y:auto}#msgtemplates .test-send-form{display:flex;flex-direction:column;gap:15px}#msgtemplates .test-send-result{padding:12px;border-radius:4px;margin-top:10px}#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{margin:15px 0;border:1px solid var(--border-colour);border-radius:4px;background-color:var(--bg-muted)}#msgtemplates .template-variables-help details summary{padding:10px 15px;cursor:pointer;font-weight:500;color:var(--text-muted);-webkit-user-select:none;user-select:none}#msgtemplates .template-variables-help details summary i{margin-right:8px;color:var(--accent-colour)}#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{margin:0 0 10px;color:var(--text-muted)}#msgtemplates .template-variables-help .help-content code{background-color:var(--bg-muted);padding:2px 6px;border-radius:3px;font-family:monospace;font-size:13px;color:var(--error-colour)}#msgtemplates .template-variables-help .help-content table{width:100%;border-collapse:collapse;margin:10px 0}#msgtemplates .template-variables-help .help-content table th,#msgtemplates .template-variables-help .help-content table td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border-colour)}#msgtemplates .template-variables-help .help-content table th{background-color:var(--bg-muted);font-weight:600;color:var(--colour-text)}#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{margin-top:10px;padding:10px;background-color:var(--warning-bg);border-radius:4px;color:var(--warning-colour);font-size:13px}.msg-settings{padding:20px;max-width:1200px;margin:0 auto}.msg-settings.loading{display:flex;align-items:center;justify-content:center;min-height:200px;font-size:1.1em;color:var(--text-muted)}.msg-settings.loading i{margin-right:10px}.msg-settings .settings-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid var(--border-muted)}.msg-settings .settings-header h1{margin:0;font-size:1.5em;color:var(--colour-text)}.msg-settings .settings-header .header-actions{display:flex;align-items:center;gap:15px}.msg-settings .settings-header .test-result{display:flex;align-items:center;gap:8px;padding:8px 15px;border-radius:4px;font-size:.9em}.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{display:flex;gap:25px}@media(max-width:768px){.msg-settings .settings-container{flex-direction:column}}.msg-settings .settings-nav{flex:0 0 200px;display:flex;flex-direction:column;gap:5px}@media(max-width:768px){.msg-settings .settings-nav{flex-direction:row;flex-wrap:wrap;flex:none}}.msg-settings .settings-nav .nav-item{display:flex;align-items:center;gap:10px;padding:12px 15px;border:none;border-radius:6px;background:var(--bg-muted);color:var(--text-muted);font-size:.95em;cursor:pointer;text-align:left;transition:all .2s ease}.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{width:20px;text-align:center;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{margin:0 0 8px;font-size:1.2em;color:var(--colour-text);display:flex;align-items:center;gap:10px}.msg-settings .section-header h2 i{color:var(--accent-colour)}.msg-settings .section-header .section-description{margin:0;color:var(--text-muted);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{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:600px){.msg-settings .settings-grid{grid-template-columns:1fr}}.msg-settings .checkbox-group{display:flex;flex-direction:column;gap:10px;margin-top:10px;padding:15px;background:var(--bg-muted);border-radius:6px}.msg-settings .section-actions{margin-top:20px;padding-top:15px;border-top:1px solid var(--border-muted)}.msg-settings .provider-toggle{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:20px;padding:15px;background:var(--bg-muted);border-radius:6px}.msg-settings .provider-card{border:1px solid var(--border-colour);border-radius:8px;margin-bottom:20px;overflow:hidden}.msg-settings .provider-card .provider-header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;background:var(--bg-muted);border-bottom:1px solid var(--border-colour)}.msg-settings .provider-card .provider-badge{font-size:.75em;padding:4px 10px;border-radius:12px;background:var(--accent-colour);color:var(--text-inverse);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{margin-top:15px;padding-top:15px;border-top:1px solid var(--border-muted)}.msg-settings .info-box{display:flex;gap:15px;margin-top:20px;padding:15px 20px;background:var(--info-bg);border-radius:6px;border-left:4px solid var(--accent-colour)}.msg-settings .info-box>i{color:var(--accent-colour);font-size:1.2em;flex-shrink:0}.msg-settings .info-box strong{display:block;margin-bottom:8px;color:var(--colour-text)}.msg-settings .info-box ol{margin:0;padding-left:20px}.msg-settings .info-box ol li{margin-bottom:5px;color:var(--text-muted);font-size:.9em}.msg-settings .rate-limit-card{padding:20px;background:var(--bg-muted);border-radius:8px}.msg-settings .rate-limit-card h3{margin:0 0 15px;font-size:1em;color:var(--colour-text)}.msg-settings .rate-limit-window{margin-top:20px;padding:20px;background:var(--bg-muted);border-radius:8px}.msg-settings .rate-limit-window .help-text{display:block;margin-top:8px;color:var(--text-muted);font-size:.85em}.msgQueue{width:100%}.msgQueue .button{margin-top:8px;font-size:unset}.msgQueue .fwkTextField{min-width:5em}.msgQueueItem{display:flex;flex-direction:column;gap:4px}.msgQueueItem .itemHeader{display:flex;align-items:center;gap:8px}.msgQueueItem .itemHeader i{color:var(--text-muted)}.msgQueueItem .itemHeader .recipient{font-weight:500}.msgQueueHeader{display:grid;grid-template-columns:1fr auto;column-gap:10px;width:100%;align-items:center}.msgQueueHeader h1{margin:0}.channel-badge{padding:2px 8px;border-radius:4px;color:var(--text-inverse);font-size:12px;text-transform:uppercase}.channel-badge.email{background-color:var(--accent-colour)}.channel-badge.sms,.channel-badge.whatsapp{background-color:var(--success-colour)}.delivery-status{padding:2px 8px;border-radius:4px;color:var(--text-inverse);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{padding:20px;max-width:1200px;margin:0 auto}.msg-analytics .analytics-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:20px}.msg-analytics .analytics-header h1{margin:0;font-size:1.5em}.msg-analytics .analytics-header .date-filters{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.msg-analytics .analytics-header .date-filters label{display:flex;align-items:center;gap:5px;font-size:.9em}.msg-analytics .analytics-header .date-filters label input[type=date]{padding:5px 10px;border:1px solid var(--border-colour);border-radius:4px}.msg-analytics .analytics-header .date-filters .refresh-btn{padding:6px 12px;background:var(--accent-colour);color:var(--text-inverse);border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:5px}.msg-analytics .analytics-header .date-filters .refresh-btn:hover{background:var(--accent-colour-light)}.msg-analytics .loading,.msg-analytics .error{padding:20px;text-align:center;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);font-style:italic;padding:10px}.msg-analytics .analytics-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:25px}.msg-analytics .analytics-cards .card{background:var(--paper-colour);border-radius:8px;padding:20px;text-align:center;box-shadow:0 2px 4px #0000001a;border-left:4px solid var(--border-colour)}.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{font-size:2em;font-weight:700;color:var(--colour-text)}.msg-analytics .analytics-cards .card .card-label{font-size:.85em;color:var(--text-muted);margin-top:5px}.msg-analytics .analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:768px){.msg-analytics .analytics-grid{grid-template-columns:1fr}}.msg-analytics .analytics-grid .grid-column{display:flex;flex-direction:column;gap:20px}.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{margin:0 0 15px;font-size:1.1em;color:var(--colour-text);border-bottom:1px solid var(--border-muted);padding-bottom:10px}.msg-analytics .channel-bars .channel-row{display:flex;align-items:center;margin-bottom:10px}.msg-analytics .channel-bars .channel-row .channel-name{width:80px;font-weight:500;font-size:.9em}.msg-analytics .channel-bars .channel-row .channel-bar-container{flex:1;height:20px;background:var(--bg-muted);border-radius:10px;overflow:hidden;margin:0 10px}.msg-analytics .channel-bars .channel-row .channel-bar{height:100%;border-radius:10px;transition:width .3s ease}.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{width:100px;text-align:right;font-size:.85em;color:var(--text-muted)}.msg-analytics .status-table,.msg-analytics .daily-table{width:100%;border-collapse:collapse}.msg-analytics .status-table th,.msg-analytics .daily-table th,.msg-analytics .status-table td,.msg-analytics .daily-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-muted)}.msg-analytics .status-table th,.msg-analytics .daily-table th{font-weight:600;color:var(--colour-text);font-size:.85em}.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{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.8em;font-weight:500}.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)}.fwkLogin{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:380px;min-width:320px;margin:5rem auto;padding:2.5rem 2rem 2rem;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 10px 20px -2px #0000001a,0 20px 40px -4px #00000014;background-color:var(--paper-colour);position:relative;overflow:hidden}.fwkLogin:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent-colour) 0%,color-mix(in srgb,var(--accent-colour) 70%,white) 100%)}.fwkLogin .loginIcon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--accent-colour) 0%,color-mix(in srgb,var(--accent-colour) 80%,black) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.75rem;box-shadow:0 4px 12px #00000026;margin-bottom:.5rem}.fwkLogin .loginIcon i{font-size:inherit}.fwkLogin .sign{color:var(--text-colour, #1a1a1a);font-size:1.5rem;font-weight:600;letter-spacing:-.025em;margin:0;text-align:center}.fwkLogin .loginSubtitle{color:var(--text-light, #666);font-size:.9rem;margin-top:-.75rem;text-align:center}.fwkLogin .loginForm,.fwkLogin .form1{display:flex;flex-direction:column;row-gap:1.25rem;align-items:stretch;width:100%}.fwkLogin .loginForm .fwkTextFieldX,.fwkLogin .form1 .fwkTextFieldX{width:100%;max-width:none;min-width:0}.fwkLogin .loginForm .fwkTextFieldX .control,.fwkLogin .form1 .fwkTextFieldX .control{border-radius:.5rem;transition:all .2s ease}.fwkLogin .loginForm .fwkTextFieldX .control:hover:not(:focus-within),.fwkLogin .form1 .fwkTextFieldX .control:hover:not(:focus-within){border-color:var(--border-colour, #ccc)}.fwkLogin .loginForm>div:has(.fwkIconButton),.fwkLogin .form1>div:has(.fwkIconButton){margin-top:.5rem}.fwkLogin .loginForm .fwkIconButton,.fwkLogin .form1 .fwkIconButton{width:100%;padding:.875rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:1rem;transition:all .2s ease}.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%);border:none;color:#fff;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;font-size:.875rem;padding:.75rem 1rem;background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:.5rem;width:100%;box-sizing:border-box}.fwkLogin .loginSuccess{color:var(--success-colour);text-align:center;font-size:.875rem;padding:.75rem 1rem;background-color:var(--success-bg);border:1px solid var(--success-border);border-radius:.5rem;width:100%;box-sizing:border-box}.fwkLogin .loginFooter{display:flex;justify-content:center;gap:1.5rem;margin-top:.5rem;font-size:.875rem}.fwkLogin .loginFooter a{color:var(--accent-colour);text-decoration:none;transition:opacity .2s ease}.fwkLogin .loginFooter a:hover{opacity:.8;text-decoration:underline}@media(max-width:480px){.fwkLogin{margin:2rem 1rem;min-width:unset;max-width:unset;width:calc(100% - 2rem);padding:2rem 1.5rem 1.5rem}}.fwkFirstRunSetup .sign,.fwkFirstRunSetup .loginForm .fwkTextField{margin-bottom:.5rem}.fwkLoginSplitPanel{display:flex;width:100vw;height:100vh;overflow:hidden}.fwkLoginSplitPanel .splitPanel-left{flex:0 0 45%;max-width:600px;min-width:400px;display:flex;align-items:center;justify-content:center;padding:2rem;background-color:var(--paper-colour, #fff);box-sizing:border-box}.fwkLoginSplitPanel .splitPanel-form{width:100%;max-width:320px}.fwkLoginSplitPanel .greeting{font-size:1.25rem;color:var(--text-light, #666);margin:0 0 .25rem;font-weight:400}.fwkLoginSplitPanel .welcome{font-size:1.75rem;color:var(--text-colour, #1a1a1a);margin:0 0 2rem;font-weight:700}.fwkLoginSplitPanel .loginForm{display:flex;flex-direction:column;gap:1.25rem}.fwkLoginSplitPanel .loginForm .fieldGroup{display:flex;flex-direction:column;gap:.5rem}.fwkLoginSplitPanel .loginForm .fieldGroup label{font-size:.875rem;font-weight:500;color:var(--text-colour, #1a1a1a)}.fwkLoginSplitPanel .loginForm .fwkTextFieldX{width:100%;max-width:none;min-width:0}.fwkLoginSplitPanel .loginForm .fwkTextFieldX .control{border-radius:.5rem;background-color:var(--input-bg, #f5f5f5);border:1px solid var(--border-colour, #e0e0e0);transition:all .2s ease}.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{width:100%;margin-top:.5rem;padding:.875rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:1rem;transition:all .2s ease}.fwkLoginSplitPanel .loginForm .fwkIconButton.button{background:var(--accent-colour, #3b82f6);border:none;color:#fff}.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;font-size:.875rem;padding:.75rem 1rem;background-color:var(--error-bg, #fef2f2);border:1px solid var(--error-border, #fecaca);border-radius:.5rem}.fwkLoginSplitPanel .splitPanel-right{flex:1;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:var(--accent-colour, #3b82f6)}.fwkLoginSplitPanel.centered{justify-content:center;background-color:var(--paper-colour, #fff)}.fwkLoginSplitPanel.centered .splitPanel-left{flex:1;max-width:unset;min-width:unset;width:100%}@media(max-width:900px){.fwkLoginSplitPanel{flex-direction:column}.fwkLoginSplitPanel .splitPanel-left{flex:0 0 auto;min-width:unset;max-width:unset;width:100%;padding:2rem 1.5rem}.fwkLoginSplitPanel .splitPanel-right{flex:1;min-height:200px}}@media(max-width:480px){.fwkLoginSplitPanel .splitPanel-left{padding:1.5rem 1rem}.fwkLoginSplitPanel .splitPanel-form{max-width:100%}.fwkLoginSplitPanel .welcome{font-size:1.5rem}}.userContainer{display:flex;flex-wrap:wrap;height:100%;align-content:center;justify-content:center;align-items:center}.user{margin:10px;border-radius:5px;text-align:center;text-transform:uppercase;display:grid}.userIcon{font-size:5vh}.pinPadContainer{display:grid;grid-gap:1vh;margin-left:32vw;margin-right:32vw;width:36vw;text-align:center;color:#fff}.userTitle{background-color:#000000bf;font-size:5vh}.pinPad{background-color:#fff;text-align:center;min-height:40vh;display:inherit;grid-template-columns:auto auto auto;grid-gap:.3vw}.pinPadNumber{font-size:12vh;background-color:#00000080;cursor:pointer}.pinPadResult{height:14vh;font-size:18vh;background-color:#00000040}.pinPadButtons{height:10vh;background-color:#0000001a;display:grid;grid-template-columns:auto auto;font-size:6vh}.pinPadOk{background-color:gray;margin:.5vw;cursor:not-allowed}.pinPadCancel{background-color:#dc143c;margin:.5vw;cursor:pointer}.fwkUserProfileButton .menuText{text-transform:capitalize}.fwkUserProfileButton .user-avatar-button{display:inline-flex;align-items:center;background:var(--user-profile-bg);border:1px solid var(--user-profile-border);border-radius:50px;padding:.25rem 1rem .25rem .25rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:background-color .15s ease;color:var(--user-profile-color)}.fwkUserProfileButton .user-avatar-button .user-avatar-img{width:1.75rem;height:1.75rem;border-radius:50%;object-fit:cover;margin-right:.5rem;border:2px solid var(--user-avatar-border, var(--user-profile-border))}.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);border-radius:50px;box-shadow:none;padding:.5rem 1rem .5rem .5rem;font-weight:500;font-size:.875rem;color:var(--user-profile-color)}.fwkUserProfileButton .fwkIconButton.button:before{content:"";font-family:FontAwesome;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:var(--user-avatar-bg);border-radius:50%;font-size:.75rem;margin-right:.5rem;pointer-events:none}.fwkUserProfileButton .fwkIconButton.button:hover:not(.disabled){background:var(--user-profile-hover-bg);box-shadow:none;transform:none}.fwkUserProfileButton.fwkPopup .content{background:transparent;padding:0;margin-top:8px}.registry-viewer{padding:20px;max-width:1200px;margin:0 auto}.registry-viewer.loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary)}.registry-viewer .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.registry-viewer .header h2{margin:0;color:var(--text-primary)}.registry-viewer .header .header-info{display:flex;align-items:center;gap:16px}.registry-viewer .header .last-update{font-size:.85rem;color:var(--text-secondary)}.registry-viewer .header .refresh-button{padding:6px 12px;background:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.registry-viewer .header .refresh-button:hover{background:var(--primary-dark)}.registry-viewer .status-section{margin-bottom:24px;padding:16px;background:var(--card-bg);border-radius:8px;border:1px solid var(--border-color)}.registry-viewer .status-section h3{margin:0 0 16px;font-size:1.1rem;color:var(--text-primary)}.registry-viewer .status-section .section-hint{margin:0 0 12px;font-size:.85rem;color:var(--text-secondary)}.registry-viewer .status-indicator{display:flex;align-items:center;gap:8px}.registry-viewer .status-indicator .status-light{width:12px;height:12px;border-radius:50%}.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{font-weight:500;text-transform:capitalize}.registry-viewer .status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.registry-viewer .status-grid .status-item{display:flex;align-items:center;gap:8px}.registry-viewer .status-grid .status-item label{color:var(--text-secondary);font-size:.9rem}.registry-viewer .status-grid .status-item .total-count{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.registry-viewer .kinds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.registry-viewer .kind-card{background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease}.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{display:flex;justify-content:space-between;align-items:center}.registry-viewer .kind-card .kind-header .kind-count{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.registry-viewer .kind-card .kind-items{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color);max-height:300px;overflow-y:auto;display:flex;flex-wrap:wrap;gap:6px}.registry-viewer .kind-card .kind-item{padding:4px 8px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .15s ease}.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{margin:0 0 16px;color:var(--text-primary)}.registry-viewer .metadata-panel .metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.registry-viewer .metadata-panel .metadata-item{display:flex;flex-direction:column;gap:4px}.registry-viewer .metadata-panel .metadata-item label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase}.registry-viewer .metadata-panel .metadata-item span{font-size:.95rem;color:var(--text-primary)}.registry-viewer .metadata-panel .metadata-item .override-badge{display:inline-block;padding:2px 8px;background:#f59e0b;color:#fff;border-radius:4px;font-size:.75rem;font-weight:700}.registry-viewer .components-list{display:flex;flex-direction:column;gap:20px}.registry-viewer .component-category h4{margin:0 0 12px;font-size:1rem;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:8px}.registry-viewer .component-category .component-tags{display:flex;flex-wrap:wrap;gap:8px}.registry-viewer .component-tag{padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:500;font-family:monospace}.registry-viewer .component-tag.entity{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.registry-viewer .component-tag.board{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.registry-viewer .component-tag.textfield{background:#a855f726;color:#a855f7;border:1px solid rgba(168,85,247,.3)}.registry-viewer .component-tag.settings{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.registry-viewer .component-tag.template{background:#ec489926;color:#ec4899;border:1px solid rgba(236,72,153,.3)}.tasksboard .task-status{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.85em;font-weight:500;text-transform:uppercase}.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);padding:2px 6px;border-radius:3px;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{font-size:.9em;color:var(--text-muted)}.masterPaneRow .task-item{display:grid;grid-template-columns:1fr auto;gap:.5rem}.masterPaneRow .task-item .task-info .task-name{font-weight:500;margin-bottom:2px}.masterPaneRow .task-item .task-info .task-id{font-size:.85em;color:var(--text-muted);margin-bottom:4px}.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{font-size:.8em;color:var(--text-muted);margin-top:2px}.fwkForm .task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.fwkForm .task-header h1{margin:0;color:var(--colour-text)}.fwkForm .task-header .status-field{min-width:180px}.fwkForm .task-field-group{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.fwkForm .task-field-group.single{grid-template-columns:1fr}.fwkForm .read-only-field{background-color:var(--bg-muted);border:1px solid var(--border-muted);padding:.375rem .75rem;border-radius:.25rem}.taskqueuesboard .queue-status{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.85em;font-weight:500;text-transform:uppercase}.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-weight:600;font-size:.9em}.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{font-size:.9em;color:var(--text-muted)}.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{font-size:.9em;color:var(--text-muted)}.taskqueuesboard .trigger-source{background-color:var(--bg-muted);color:var(--text-muted);padding:2px 6px;border-radius:3px;font-size:.8em;display:inline-block}.masterPaneRow .queue-item{display:grid;grid-template-columns:1fr auto;gap:.5rem}.masterPaneRow .queue-item .queue-info .task-id{font-weight:500;margin-bottom:4px}.masterPaneRow .queue-item .queue-info .queue-status-badge{margin-bottom:4px}.masterPaneRow .queue-item .queue-info .priority-info{font-size:.8em;color:var(--text-muted);margin-top:4px}.masterPaneRow .queue-item .queue-meta{text-align:right;font-size:.8em;color:var(--text-muted)}.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{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.fwkForm .queue-header h1{margin:0;color:var(--colour-text)}.fwkForm .queue-header .status-field{min-width:180px}.fwkForm .queue-field-group{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.fwkForm .queue-field-group.single{grid-template-columns:1fr}.fwkForm .execution-metrics .metric-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border:1px solid var(--border-colour);border-radius:.25rem;margin-bottom:.5rem;background-color:var(--bg-muted)}.fwkForm .execution-metrics .metric-item .metric-label{font-weight:500;color:var(--colour-text)}.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);padding:.375rem .75rem;border-radius:.25rem}.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;font-family:Monaco,Menlo,Consolas,monospace;font-size:.9em;line-height:1.4;color:var(--error-colour);background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:.25rem;padding:.5rem}.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:pulse 2s infinite}.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{padding:24px;height:100%;overflow-y:auto}.manageSettings .settingsHeader{margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid var(--border-colour, #e5e7eb)}.manageSettings .settingsHeader h1{font-size:1.75rem;font-weight:600;color:var(--colour-text, #1f2937);margin:0}.manageSettings .settingsContent{display:flex;flex-direction:column;gap:32px}.manageSettings .settingsPanelSection{background:var(--paper-colour-1, #ffffff);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.manageSettings .settingsPanelSection .settingsPanelHeader{display:flex;align-items:center;gap:10px;margin-bottom:20px}.manageSettings .settingsPanelSection .settingsPanelHeader .fa{font-size:1.25rem;color:var(--accent-colour, #3b82f6)}.manageSettings .settingsPanelSection .settingsPanelHeader h2{font-size:1.25rem;font-weight:600;color:var(--colour-text, #374151);margin:0}.manageSettings .settingsPanelSection .settingsPanel{display:flex;flex-wrap:wrap;column-gap:1em;row-gap:1em}.manageSettings .settingsPanelDivider{display:none}.manageSettings .settings-groups{display:flex;flex-direction:column;gap:20px}.manageSettings .settings-group{background:var(--paper-colour-2, #f9fafb);border-radius:8px;padding:20px;border:1px solid var(--border-colour, #e5e7eb)}.manageSettings .settings-group .settings-group-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border-colour, #e5e7eb)}.manageSettings .settings-group .settings-group-header i{font-size:1rem;color:var(--text-muted, #6b7280)}.manageSettings .settings-group .settings-group-header h3{font-size:1rem;font-weight:600;margin:0;color:var(--colour-text, #1f2937)}.manageSettings .settingField{margin-bottom:12px}.manageSettings .settingField.settingFieldBoolean{margin-bottom:16px}.manageSettings .settingField.settingFieldBoolean .settingBooleanRow{display:flex;align-items:center;justify-content:space-between;gap:16px}.manageSettings .settingField.settingFieldBoolean .settingBooleanText{min-width:0;flex:1 1 auto}.manageSettings .settingField.settingFieldBoolean .settingBooleanLabel{color:var(--colour-text, #374151);font-size:var(--textfield-label-font-size, .875rem);line-height:1.35;margin-bottom:3px}.manageSettings .settingField.settingFieldBoolean .fwkTextFieldX[type=checkbox]{flex:0 0 auto;margin-left:12px}.manageSettings .settingField.settingFieldBoolean .settingDescription{margin-top:0}.manageSettings .settingField .settingDescription{font-size:.85rem;color:var(--text-muted, #6b7280);margin-top:4px;line-height:1.4}.manageSettings .settingField .settingError{color:var(--error-colour, #dc2626);font-size:.85rem;margin-top:4px}.manageSettings .settingField .settingSaving{color:var(--accent-colour, #3b82f6);font-size:.85rem;margin-top:4px}.manageSettings .settingField .settingRestart{color:var(--warning-colour, #d97706);font-size:.85rem;margin-top:8px;padding:8px 12px;background:var(--warning-bg, #fffbeb);border-radius:6px;border-left:3px solid var(--warning-colour, #d97706)}.manageSettings .noSettings{text-align:center;color:var(--text-muted, #6b7280);font-style:italic;padding:40px 20px}#portalsboard .portal-favicon{border-radius:var(--radius-sm, 4px);object-fit:contain;flex-shrink:0}#portalsboard .portal-favicon-placeholder{display:flex;align-items:center;justify-content:center;background:var(--gradient-accent, var(--accent-colour));color:var(--accent-text-colour, #ffffff);font-weight:700;border-radius:var(--radius-sm, 4px)}#portalsboard .portal-url{font-size:.85em;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}#portalsboard .portal-detail-header{display:flex;align-items:center;gap:16px;width:100%;padding-bottom:16px}#portalsboard .portal-detail-header h1{margin:0;flex:1}#portalsboard .portal-detail-title{flex:1}#portalsboard .portal-detail-status{min-width:180px}#portalsboard .portal-status-info{padding:16px;background:var(--paper-colour-alt, var(--bg-overlay));border-radius:var(--radius-md, 8px)}#portalsboard .status-row{display:flex;padding:8px 0;border-bottom:1px solid var(--border-light)}#portalsboard .status-row:last-child{border-bottom:none}#portalsboard .status-label{font-weight:500;width:140px;color:var(--text-muted)}#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{display:flex;align-items:center;gap:8px;font-size:.85em;color:var(--text-muted);margin:8px 0}#doctemplatesboard .timestampRow .timestampLabel{font-weight:500;color:var(--text-secondary)}#doctemplatesboard .timestampRow .timestampValue{margin-right:16px}#doctemplatesboard .template-status{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.8em;font-weight:700;text-align:center;min-width:60px}#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{display:inline-block;background-color:var(--bg-muted);color:var(--colour-text);padding:2px 6px;border-radius:3px;font-size:.85em;border:1px solid var(--border-colour)}#doctemplatesboard .template-content{font-family:Courier New,Consolas,monospace;background-color:var(--bg-muted);border:1px solid var(--border-colour);border-radius:4px;padding:8px;white-space:pre-wrap;overflow:auto;max-height:300px}#doctemplatesboard .tabs .tabPanel,#doctemplatesboard .tabs .tabPanel .managedDiv{overflow:visible!important;max-height:none!important}#doctemplatesboard .textField.template textarea,#doctemplatesboard textarea.templateEditor{min-height:400px;max-height:calc(100vh - 350px);overflow-y:auto!important;resize:vertical}#doctemplatesboard .template-item-header{font-weight:700;font-size:1.1em;margin-bottom:4px}#doctemplatesboard .template-item-meta{display:flex;align-items:center;gap:8px;margin-top:4px}#doctemplatesboard .template-item-description{color:var(--text-muted);font-size:.9em;margin-top:4px}#doctemplatesboard .template-item-type{color:var(--text-muted);font-size:.8em;margin-top:2px}#doctemplatesboard .systemManagedBadge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:.75em;background-color:var(--info-colour);color:var(--text-inverse)}#doctemplatesboard .docTemplateListItem{display:flex;justify-content:space-between;width:100%;padding:4px 0}#doctemplatesboard .docTemplateListItem .docTemplateInfo{flex:1}#doctemplatesboard .docTemplateListItem .docTemplateName{display:flex;align-items:center}#doctemplatesboard .docTemplateListItem .docTemplateName .systemManagedIcon{margin-right:6px;color:var(--info-colour)}#doctemplatesboard .docTemplateListItem .docTemplateMeta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}#doctemplatesboard .docTemplateListItem.systemManaged .docTemplateName{font-weight:500}#doctemplatesboard .systemManagedBanner{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:16px;background:var(--info-colour);color:var(--text-inverse);border-radius:4px;font-size:13px}#doctemplatesboard .systemManagedBanner i{font-size:16px;opacity:.9}#doctemplatesboard .systemManagedBanner span{flex:1}#doctemplatesboard .combinedTemplateEditor{padding:16px}#doctemplatesboard .combinedTemplateEditor .editorDescription{margin-bottom:20px;padding:12px;background:var(--bg-secondary, #f5f5f5);border-radius:4px;font-size:13px;line-height:1.5}#doctemplatesboard .combinedTemplateEditor .editorDescription p{margin:0}#doctemplatesboard .combinedTemplateEditor .loadingState{padding:40px;text-align:center;color:var(--text-muted, #666)}#doctemplatesboard .combinedTemplateEditor .selectedTemplates,#doctemplatesboard .combinedTemplateEditor .availableTemplates{margin-bottom:20px}#doctemplatesboard .combinedTemplateEditor .selectedTemplates h4,#doctemplatesboard .combinedTemplateEditor .availableTemplates h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-primary, #333)}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .emptyState,#doctemplatesboard .combinedTemplateEditor .availableTemplates .emptyState{padding:20px;text-align:center;color:var(--text-muted, #666);background:var(--bg-secondary, #f5f5f5);border-radius:4px;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{display:flex;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border-colour, #eee);background:#fff;gap:12px}#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{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--primary-colour, #007bff);color:#fff;border-radius:50%;font-size:12px;font-weight:600}#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{font-size:11px;color:var(--text-muted, #666);padding:2px 6px;background:var(--bg-muted, #e0e0e0);border-radius:3px}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem .actions,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem .actions{display:flex;gap:4px}#doctemplatesboard .combinedTemplateEditor .selectedTemplates .templateItem .actions button,#doctemplatesboard .combinedTemplateEditor .availableTemplates .templateItem .actions button{padding:4px 8px;border:1px solid var(--border-colour, #ddd);background:#fff;border-radius:3px;cursor:pointer;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{padding:4px 12px;border:none;background:var(--success-colour, #28a745);color:#fff;border-radius:3px;cursor:pointer;font-size:12px;display:flex;align-items:center;gap:4px}#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{margin-bottom:20px;padding:12px;background:var(--bg-secondary, #f5f5f5);border-radius:4px;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);padding:2px 6px;border-radius:3px;font-family:Courier New,Consolas,monospace;font-size:12px}#doctemplatesboard .wordTemplateUpload .uploadDescription em{color:var(--text-muted, #666)}#doctemplatesboard .wordTemplateUpload .dropZone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;border:2px dashed var(--border-colour, #ccc);border-radius:8px;background:var(--bg-secondary, #fafafa);transition:all .2s;min-height:200px}#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{font-size:48px;color:#2b579a;margin-bottom:16px;opacity:.6}#doctemplatesboard .wordTemplateUpload .dropZone p{margin:0;color:var(--text-muted, #666);font-size:14px}#doctemplatesboard .wordTemplateUpload .dropZone .orText{margin:12px 0;font-size:12px;text-transform:uppercase}#doctemplatesboard .wordTemplateUpload .dropZone .uploadBtn{display:inline-flex;align-items:center;padding:8px 16px;background:#2b579a;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}#doctemplatesboard .wordTemplateUpload .dropZone .uploadBtn:hover{background:#1e3f6f}#doctemplatesboard .wordTemplateUpload .templateAttached{display:flex;align-items:center;justify-content:space-between;padding:20px;background:#e8f4ea;border:1px solid #c3e6c9;border-radius:8px}#doctemplatesboard .wordTemplateUpload .templateAttached .templateInfo{display:flex;align-items:center;gap:12px}#doctemplatesboard .wordTemplateUpload .templateAttached .templateInfo>i{font-size:32px;color:#2b579a}#doctemplatesboard .wordTemplateUpload .templateAttached .templateInfo span{font-size:14px;font-weight:500}#doctemplatesboard .wordTemplateUpload .templateAttached .templateInfo .templateSize{color:var(--text-muted, #666);font-weight:400;font-size:12px}#doctemplatesboard .wordTemplateUpload .templateAttached .toolBar{background:transparent;padding:0;border:none}#doctemplatesboard .wordTemplateUpload .extractingStatus{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;background:#e3f2fd;border:1px solid #90caf9;border-radius:4px;font-size:13px;color:#1565c0}#doctemplatesboard .wordTemplateUpload .extractingStatus i{color:#1976d2}#doctemplatesboard .wordTemplateUpload .extractError{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;background:#ffebee;border:1px solid #ffcdd2;border-radius:4px;font-size:13px;color:#c62828}#doctemplatesboard .wordTemplateUpload .extractError i{color:#c62828}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor{margin-top:20px;padding:16px;background:var(--bg-secondary, #f5f5f5);border-radius:8px;border:1px solid var(--border-colour, #ddd)}#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{margin:0;font-size:12px;color:var(--text-muted, #666)}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingHeader .mappingDescription code{background:var(--bg-muted, #e0e0e0);padding:2px 6px;border-radius:3px;font-family:Courier New,Consolas,monospace;font-size:11px}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable{background:#fff;border:1px solid var(--border-colour, #ddd);border-radius:4px;overflow:hidden}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingTableHeader{display:grid;grid-template-columns:1fr 1fr 40px;gap:8px;padding:10px 12px;background:var(--bg-muted, #e9ecef);font-size:12px;font-weight:600;color:var(--text-secondary, #666);border-bottom:1px solid var(--border-colour, #ddd)}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingRow{display:grid;grid-template-columns:1fr 1fr 40px;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-colour, #eee)}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingRow:last-child{border-bottom:none}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingRow input{padding:6px 10px;border:1px solid var(--border-colour, #ddd);border-radius:4px;font-size:13px;font-family:Courier New,Consolas,monospace}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingRow input:focus{outline:none;border-color:var(--primary-colour, #007bff)}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingRow input:disabled{background:var(--bg-secondary, #f5f5f5);color:var(--text-muted, #666)}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingRow .removeBtn{display:flex;align-items:center;justify-content:center;padding:0;width:32px;height:32px;border:1px solid var(--danger-colour, #dc3545);background:#fff;color:var(--danger-colour, #dc3545);border-radius:4px;cursor:pointer}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .mappingRow .removeBtn:hover{background:var(--danger-colour, #dc3545);color:#fff}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .mappingTable .emptyMapping{padding:20px;text-align:center;color:var(--text-muted, #666);font-size:13px}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .addMappingBtn{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 16px;background:var(--success-colour, #28a745);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}#doctemplatesboard .wordTemplateUpload .fieldMappingEditor .addMappingBtn:hover{background:#218838}#doctemplatesboard .templatePreview{display:flex;flex-direction:column;height:calc(100vh - 400px);min-height:400px}#doctemplatesboard .templatePreview .previewHeader{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-secondary, #f5f5f5);border:1px solid var(--border-colour, #ddd);border-bottom:none;border-radius:4px 4px 0 0;font-size:13px;color:var(--text-secondary, #666)}#doctemplatesboard .templatePreview .previewHeader .icon{color:var(--primary-colour, #007bff)}#doctemplatesboard .templatePreview .previewHeader .previewNote{margin-left:auto;font-size:11px;color:var(--text-muted, #999);font-style:italic}#doctemplatesboard .templatePreview .previewFrame{flex:1;width:100%;border:1px solid var(--border-colour, #ddd);border-radius:0 0 4px 4px;background:#fff}#doctemplatesboard .sampleDataEditor{padding:16px}#doctemplatesboard .sampleDataEditor .editorDescription{margin-bottom:16px;padding:12px;background:var(--bg-secondary, #f5f5f5);border-radius:4px;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{font-size:12px;color:var(--text-muted, #666);font-style:italic}#doctemplatesboard .sampleDataEditor .jsonEditorToolbar{display:flex;gap:8px;margin-bottom:12px}#doctemplatesboard .sampleDataEditor .jsonEditorToolbar button{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:13px;transition:background .2s}#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{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;border-radius:4px;font-size:13px}#doctemplatesboard .sampleDataEditor .jsonError i,#doctemplatesboard .sampleDataEditor .testResult i{flex-shrink:0}#doctemplatesboard .sampleDataEditor .jsonError,#doctemplatesboard .sampleDataEditor .testResult.error{background:#ffebee;color:#c62828;border:1px solid #ffcdd2}#doctemplatesboard .sampleDataEditor .testResult.success{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}#doctemplatesboard .sampleDataEditor .jsonEditor textarea{width:100%;min-height:400px;padding:12px;font-family:Courier New,Consolas,Monaco,monospace;font-size:13px;line-height:1.5;border:1px solid var(--border-colour, #ddd);border-radius:4px;background:#fff;resize:vertical;tab-size:2}#doctemplatesboard .sampleDataEditor .jsonEditor textarea:focus{outline:none;border-color:var(--primary-colour, #007bff);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{height:calc(100vh - 400px);min-height:500px;display:flex;flex-direction:column}#doctemplatesboard .templatePreviewPdf .previewNote{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--info-bg, #e3f2fd);border:1px solid var(--info-colour, #2196f3);border-radius:4px;margin-bottom:8px;font-size:.9em;color:var(--info-colour, #1976d2)}#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{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:var(--bg-secondary, #f5f5f5);border:1px solid var(--border-colour, #ddd);border-radius:4px;min-height:300px}#doctemplatesboard .templatePreviewEmpty .icon{font-size:48px;color:var(--text-muted, #999);margin-bottom:16px;opacity:.5}#doctemplatesboard .templatePreviewEmpty p{margin:0;color:var(--text-muted, #666);font-size:14px;text-align:center}#doctemplatesboard .templatePreviewEmpty p.hint{margin-top:8px;font-size:12px;color:var(--text-muted, #999)}#doctemplatesboard .templatePreviewReact{border:1px solid var(--border-colour, #ddd);border-radius:4px;background:#fff;min-height:300px;overflow:auto}#doctemplatesboard .pdfTemplateUpload{padding:16px}#doctemplatesboard .pdfTemplateUpload .uploadDescription{margin-bottom:20px;padding:12px;background:var(--bg-secondary, #f5f5f5);border-radius:4px;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{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;border:2px dashed var(--border-colour, #ccc);border-radius:8px;background:var(--bg-secondary, #fafafa);transition:all .2s;min-height:150px;margin-bottom:20px}#doctemplatesboard .pdfTemplateUpload .dropZone.dragOver{border-color:#dc3545;background:#dc35450d}#doctemplatesboard .pdfTemplateUpload .dropZone.disabled{opacity:.6;cursor:not-allowed}#doctemplatesboard .pdfTemplateUpload .dropZone i{font-size:48px;color:#dc3545;margin-bottom:16px;opacity:.6}#doctemplatesboard .pdfTemplateUpload .dropZone p{margin:0;color:var(--text-muted, #666);font-size:14px}#doctemplatesboard .pdfTemplateUpload .dropZone .orText{margin:12px 0;font-size:12px;text-transform:uppercase}#doctemplatesboard .pdfTemplateUpload .dropZone .uploadBtn{display:inline-flex;align-items:center;padding:8px 16px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}#doctemplatesboard .pdfTemplateUpload .dropZone .uploadBtn:hover{background:#c82333}#doctemplatesboard .pdfTemplateUpload .templateAttached{display:flex;align-items:center;justify-content:space-between;padding:20px;background:#fce4e4;border:1px solid #f5c6cb;border-radius:8px;margin-bottom:20px}#doctemplatesboard .pdfTemplateUpload .templateAttached .templateInfo{display:flex;align-items:center;gap:12px}#doctemplatesboard .pdfTemplateUpload .templateAttached .templateInfo>i{font-size:32px;color:#dc3545}#doctemplatesboard .pdfTemplateUpload .templateAttached .templateInfo span{font-size:14px;font-weight:500}#doctemplatesboard .pdfTemplateUpload .templateAttached .templateInfo .templateSize{color:var(--text-muted, #666);font-weight:400;font-size:12px}#doctemplatesboard .pdfTemplateUpload .templateAttached .toolBar{background:transparent;padding:0;border:none}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor{margin-top:20px;padding:16px;background:var(--bg-secondary, #f5f5f5);border-radius:8px;border:1px solid var(--border-colour, #ddd)}#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{margin:0;font-size:12px;color:var(--text-muted, #666)}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingHeader .mappingDescription code{background:var(--bg-muted, #e0e0e0);padding:2px 6px;border-radius:3px;font-family:Courier New,Consolas,monospace;font-size:11px}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingHeader .extractingStatus{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;background:#e3f2fd;border-radius:4px;font-size:12px;color:#1976d2}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingHeader .extractingStatus i{color:#1976d2}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingHeader .extractError{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;background:#ffebee;border-radius:4px;font-size:12px;color:#c62828}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingHeader .extractError i{color:#c62828}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable{background:#fff;border:1px solid var(--border-colour, #ddd);border-radius:4px;overflow:hidden}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingTableHeader{display:grid;grid-template-columns:1fr 1fr 40px;gap:8px;padding:10px 12px;background:var(--bg-muted, #e9ecef);font-size:12px;font-weight:600;color:var(--text-secondary, #666);border-bottom:1px solid var(--border-colour, #ddd)}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingRow{display:grid;grid-template-columns:1fr 1fr 40px;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-colour, #eee)}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingRow:last-child{border-bottom:none}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingRow input{padding:6px 10px;border:1px solid var(--border-colour, #ddd);border-radius:4px;font-size:13px;font-family:Courier New,Consolas,monospace}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingRow input:focus{outline:none;border-color:var(--primary-colour, #007bff)}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingRow input:disabled{background:var(--bg-secondary, #f5f5f5);color:var(--text-muted, #666)}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingRow .removeBtn{display:flex;align-items:center;justify-content:center;padding:0;width:32px;height:32px;border:1px solid var(--danger-colour, #dc3545);background:#fff;color:var(--danger-colour, #dc3545);border-radius:4px;cursor:pointer}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .mappingRow .removeBtn:hover{background:var(--danger-colour, #dc3545);color:#fff}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .mappingTable .emptyMapping{padding:20px;text-align:center;color:var(--text-muted, #666);font-size:13px}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .addMappingBtn{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 16px;background:var(--success-colour, #28a745);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}#doctemplatesboard .pdfTemplateUpload .fieldMappingEditor .addMappingBtn:hover{background:#218838}#doctemplatesboard .reactTemplateSelector{padding:16px}#doctemplatesboard .reactTemplateSelector .selectorDescription{margin-bottom:20px;padding:12px;background:var(--bg-secondary, #f5f5f5);border-radius:4px;font-size:13px;line-height:1.5}#doctemplatesboard .reactTemplateSelector .selectorDescription p{margin:0}#doctemplatesboard .reactTemplateSelector .emptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;background:var(--bg-secondary, #fafafa);border:1px dashed var(--border-colour, #ccc);border-radius:8px;text-align:center}#doctemplatesboard .reactTemplateSelector .emptyState .icon{font-size:48px;color:var(--text-muted, #999);margin-bottom:16px;opacity:.5}#doctemplatesboard .reactTemplateSelector .emptyState p{margin:0;color:var(--text-muted, #666);font-size:14px}#doctemplatesboard .reactTemplateSelector .emptyState p.hint{margin-top:8px;font-size:12px;color:var(--text-muted, #999)}#doctemplatesboard .reactTemplateSelector .rendererList .componentPreview{margin-top:16px;border:1px solid var(--border-colour, #ddd);border-radius:4px;overflow:hidden}#doctemplatesboard .reactTemplateSelector .rendererList .componentPreview .previewHeader{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-secondary, #f5f5f5);border-bottom:1px solid var(--border-colour, #ddd);font-size:13px;color:var(--text-secondary, #666)}#doctemplatesboard .reactTemplateSelector .rendererList .componentPreview .previewHeader .icon{color:var(--primary-colour, #007bff)}#doctemplatesboard .reactTemplateSelector .rendererList .componentPreview .previewContent{padding:16px;background:#fff;min-height:200px;max-height:500px;overflow:auto}#choicesboard .masterIcon{font-size:1.5em;align-content:end}#choicesboard .detailIcon{font-size:40px;align-content:end}#choicesboard .align-bottom{align-items:flex-end}#choicesboard .icon-preview{display:flex;align-items:center;padding:8px;min-height:40px}.fwkHint{position:fixed;top:100%;padding:.3rem;background-color:var(--accent-colour-light);color:#fff;border-radius:.3rem;white-space:nowrap;z-index:1000}.fwkHint.fwkHint--right{transform:translateY(-50%)}.fwkHint.fwkHint--left{transform:translate(-100%,-50%)}.fwkHint.fwkHint--top{transform:translateY(-100%)}.fwkForm,.fwkFormColumn{display:flex;flex-direction:column;row-gap:.5rem}.fwkFormRow{display:flex;column-gap:.2rem;flex-wrap:wrap;align-items:flex-start;margin-bottom:.5rem}.fwkTextFieldX{--textfield-border-color: var(--input-border-color, var(--border-light, #e0e0e0));--textfield-border-hover-color: var(--input-border-hover-color, var(--border-colour, rgba(0, 0, 0, .2)));--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 rgba(25, 118, 210, .3)));--textfield-background: var(--input-background, #ffffff);--textfield-background-disabled: var(--bg-muted, #f5f5f5);--textfield-text-color: var(--colour-text, #333333);--textfield-placeholder-color: var(--text-muted, #999999);--textfield-label-color: var(--colour-text, #333333);--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);display:flex;max-width:100%;box-sizing:border-box;font-size:var(--textfield-font-size);color:var(--textfield-text-color);transition:var(--textfield-transition)}.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]{display:flex;flex-direction:column;gap:var(--textfield-gap)}.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=top][type=checkbox],.fwkTextFieldX[labelPos=bottom][type=checkbox]{align-items:center}.fwkTextFieldX[labelPos=right],.fwkTextFieldX[labelPos=left]{display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap;gap:var(--textfield-gap)}.fwkTextFieldX[labelPos=right] label,.fwkTextFieldX[labelPos=left] label{flex-shrink:0;padding:var(--textfield-label-padding);font-size:var(--textfield-label-font-size);color:var(--textfield-label-color)}.fwkTextFieldX[labelPos=right] .control,.fwkTextFieldX[labelPos=left] .control{flex:1;min-width:0}.fwkTextFieldX input,.fwkTextFieldX textarea{border:none;padding:0 2px;width:100%;font-size:var(--textfield-font-size);color:var(--textfield-text-color);background-color:transparent}.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;padding:0;margin:0;width:100%;height:100%;border:none;white-space:pre-wrap;word-wrap:break-word}.fwkTextFieldX .control{position:relative;display:flex;align-items:center;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)}.fwkTextFieldX .control>input,.fwkTextFieldX .control>textarea,.fwkTextFieldX .control>.textBox,.fwkTextFieldX .control .fileInput{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,.fwkTextFieldX .control:has(+.error){border-color:var(--textfield-error-border-color)}.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{padding:0;margin:0}.fwkTextFieldX .error{color:var(--textfield-error-color);font-size:.85em;margin-top:var(--textfield-gap)}.fwkTextFieldX.locked{pointer-events:none}.fwkTextFieldX.locked .control[data-has-tooltip],.fwkTextFieldX.locked[type=file],.fwkTextFieldX.locked[type=notes],.fwkTextFieldX.locked[type=document]{pointer-events:auto}.fwkTextFieldX.locked .link{pointer-events:auto;cursor:pointer}.fwkTextFieldX.locked .ql-toolbar{display:none}.fwkTextFieldX[type=checkbox]{gap:.125rem}.fwkTextFieldX[type=checkbox] label{padding:0}.fwkTextFieldX[type=checkbox][labelPos=right],.fwkTextFieldX[type=checkbox][labelPos=left]{flex-wrap:nowrap!important;white-space:nowrap}.fwkTextFieldX[type=checkbox][labelPos=right] label,.fwkTextFieldX[type=checkbox][labelPos=left] label{flex-shrink:0;white-space:nowrap}.fwkTextFieldX[type=checkbox][labelPos=right] .control,.fwkTextFieldX[type=checkbox][labelPos=left] .control{flex-shrink:0}.fwkTextFieldX[type=checkbox] .control{border:none;background-color:unset}.fwkTextFieldX[type=checkbox] .control input[type=checkbox]{appearance:none;position:relative;border:none;display:inline-flex;justify-content:center;align-items:center;background-color:var(--textfield-background);width:var(--textfield-checkbox-size);height:var(--textfield-checkbox-size);border:var(--textfield-border-width) solid var(--textfield-checkbox-color);border-radius:var(--textfield-checkbox-border-radius);cursor:pointer;transition:var(--textfield-transition)}.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=colour] .control{justify-content:center;background-color:unset;border:none}.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=filter] .control div{display:flex;flex-wrap:nowrap;align-items:center}.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{border:none;background-color:var(--bg-muted, #f5f5f5);border-radius:var(--textfield-border-radius) var(--textfield-border-radius) 0 0;transition:var(--textfield-transition)}.fwkTextFieldX[type=note] .control .ql-editor,.fwkTextFieldX[type=notes] .control .ql-editor{font-size:18px!important;font-family:system-ui,-apple-system,sans-serif!important;font-weight:400!important;line-height:1.4}.fwkTextFieldX[type=note] .control .ql-editor.ql-blank:before,.fwkTextFieldX[type=notes] .control .ql-editor.ql-blank:before{font-size:18px!important;font-family:system-ui,-apple-system,sans-serif!important;font-weight:400!important}.fwkTextFieldX[type=multiline] textarea{min-width:10rem;min-height:var(--textfield-min-height);resize:vertical}.fwkTextFieldX[type=template]{height:100%}.fwkTextFieldX[type=template] .template-input-container{width:100%;height:100%;min-height:400px;display:flex;flex-direction:column;overflow:visible;flex:1}.fwkTextFieldX[type=template] .template-input-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;padding:4px 0;flex-shrink:0}.fwkTextFieldX[type=template] .template-engine-label{font-weight:600;color:var(--info-colour, #0288d1);font-size:12px}.fwkTextFieldX[type=template] .template-encoding-label{font-size:11px;color:var(--textfield-placeholder-color);font-style:italic}.fwkTextFieldX[type=template] .template-input-help{margin-top:4px;flex-shrink:0}.fwkTextFieldX[type=template] .template-input-help small{color:var(--textfield-placeholder-color);font-size:11px;line-height:1.3}.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[type=integer]{width:auto;max-width:140px;min-width:80px}.fwkTextFieldX[type=number]{width:auto;max-width:180px;min-width:100px}.fwkTextFieldX[type=currency]{width:auto;max-width:180px;min-width:120px}.fwkTextFieldX[type=phone]{width:auto;max-width:200px;min-width:150px}.fwkTextFieldX[type=creditcard]{width:auto;max-width:240px;min-width:200px}.fwkTextFieldX[type=ipv4]{width:auto;min-width:13em}.fwkTextFieldX[type=ipv4] .control{min-width:13em}.fwkTextFieldX[type=ipv4] .ipv4-input{display:inline-flex;align-items:center;gap:0}.fwkTextFieldX[type=ipv4] .ipv4-segment{display:inline-flex;align-items:center}.fwkTextFieldX[type=ipv4] .ipv4-octet{width:2.8em;text-align:center;padding:0 2px;border:none;border-bottom:1px solid var(--textfield-border-color, #ccc);background:transparent;font:inherit;color:inherit}.fwkTextFieldX[type=ipv4] .ipv4-octet:focus{outline:none;border-bottom-color:var(--textfield-focus-color, #1976d2)}.fwkTextFieldX[type=ipv4] .ipv4-octet::placeholder{color:var(--textfield-placeholder-color, #bbb)}.fwkTextFieldX[type=ipv4] .ipv4-dot{padding:0 1px;-webkit-user-select:none;user-select:none;color:var(--textfield-text-color, inherit)}.fwkTextFieldX[type=ipv4] .ipv4-display{display:inline-block;min-width:13em;font:inherit;color:inherit}.fwkTextFieldX[type=colour]{width:auto;max-width:80px;min-width:60px}.fwkTextFieldX[type=checkbox]{width:auto;max-width:fit-content}.fwkTextFieldX[type=email],.fwkTextFieldX[type=url]{min-width:200px}.fwkTextFieldX[type=password]{min-width:180px}.fwkTextFieldX[type=password] .control .password-input-wrapper{position:relative;width:100%}.fwkTextFieldX[type=password] .control .password-input-wrapper>div:first-child{position:relative;width:100%}.fwkTextFieldX[type=password] .control .password-input-wrapper input{padding-right:36px}.fwkTextFieldX[type=password] .control .password-input-wrapper button{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;border-radius:var(--radius-sm, 4px);cursor:pointer;padding:4px 6px;color:var(--text-muted, #666);font-size:14px;display:flex;align-items:center;justify-content:center;z-index:1;transition:var(--textfield-transition)}.fwkTextFieldX[type=password] .control .password-input-wrapper button:hover{color:var(--accent-colour);background:var(--hover-colour, rgba(0, 0, 0, .05))}.fwkTextFieldX[type=filter],.fwkTextFieldX[type=search],.fwkTextFieldX[type=select],.fwkTextFieldX[type=select1],.fwkTextFieldX[type=select2],.fwkTextFieldX[type=status]{min-width:150px}.fwkTextFieldX[type=select].inline,.fwkTextFieldX[type=select1].inline,.fwkTextFieldX[type=select2].inline,.fwkTextFieldX[type=status].inline{min-width:0}.fwkTextFieldX[type=multiselect],.fwkTextFieldX[type=multiselect1],.fwkTextFieldX[type=multiselect2]{min-width:200px}.fwkTextFieldX[type=address]{min-width:250px;width:100%}.fwkTextFieldX[type=multiline]{min-width:200px;width:100%}.fwkTextFieldX[type=file]{min-width:200px}.fwkTextFieldX[type=notes],.fwkTextFieldX[type=note]{min-width:300px;width:100%}.fwkTextFieldX[type=template],.fwkTextFieldX[type=html],.fwkTextFieldX[type=jinja]{min-width:400px;width:100%}.fwkTextFieldX[type=markdown]{min-width:300px;width:100%;min-height:200px;height:100%;flex:1 1 auto;display:flex;flex-direction:column}.fwkTextFieldX[type=markdown] .control{border:none;padding:0;background:transparent;flex:1 1 auto;display:flex;flex-direction:column;min-height:200px}.fwkTextFieldX[type=markdown] .control:focus-within{box-shadow:none}.fwkTextFieldX[type=mdeditor]{min-width:300px;width:100%;height:100%;flex:1;display:flex;flex-direction:column}.fwkTextFieldX[type=mdeditor] .control{border:none;padding:0;background:transparent;flex:1;display:flex;flex-direction:column}.fwkTextFieldX[type=mdeditor] .control:focus-within{box-shadow:none}.fwkTextFieldX .blank-value{display:inline-block;color:var(--textfield-text-color)}.fwkTextFieldX .placeholder-hint{display:inline-block;color:var(--textfield-placeholder-color, #999999)!important;font-style:italic!important}.fwkTextFieldX.inline{margin:0;padding:0;border:none;background:none;display:inline-block;width:100%}.fwkTextFieldX.inline .control{margin:0;padding:0;border:none;background:none;width:100%}.fwkTextFieldX.inline input,.fwkTextFieldX.inline textarea,.fwkTextFieldX.inline .textBox,.fwkTextFieldX.inline .dateInput,.fwkTextFieldX.inline .inline-date-input,.fwkTextFieldX.inline .selectInput,.fwkTextFieldX.inline .base-number-input-wrapper input{background:transparent!important;background-color:transparent!important;border:none!important;outline:none!important;width:100%}.status-value{display:inline-block;color:var(--textfield-text-color, #333333)}.inline-date-wrapper{background:transparent!important;border:none!important;margin:0!important;padding:0!important;width:100%!important}.inline-date-wrapper .react-datepicker-wrapper{width:100%!important}.inline-date-input{background:transparent!important;background-color:transparent!important;border:none!important;outline:none!important;margin:0!important;padding:0!important;width:100%!important;box-shadow:none!important}.selectInput__menu-portal{z-index:1100!important}.selectInput__menu-portal .selectInput__menu{min-width:200px}.docs-viewer{display:flex;flex-direction:column;height:100%;min-height:calc(100vh - 120px);padding:20px;background:var(--bg-primary, #f5f5f5)}.docs-viewer .docs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.docs-viewer .docs-header h2{margin:0;color:var(--text-primary, #333)}.docs-viewer .docs-header .docs-info{font-size:14px;color:var(--text-secondary, #666)}.docs-viewer .docs-container{display:flex;flex:1;gap:20px;min-height:0}.docs-viewer .docs-sidebar{width:320px;min-width:280px;background:var(--bg-secondary, white);border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden}.docs-viewer .docs-sidebar .sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-color, #eee)}.docs-viewer .docs-sidebar .sidebar-header h3{margin:0;font-size:14px;text-transform:uppercase;color:var(--text-secondary, #666);letter-spacing:.5px}.docs-viewer .docs-sidebar .search-box{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:8px;background:var(--bg-tertiary, #f5f5f5);border-radius:6px;border:1px solid transparent;transition:border-color .2s,background .2s}.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{flex:1;border:none;background:transparent;outline:none;font-size:13px;color:var(--text-primary, #333)}.docs-viewer .docs-sidebar .search-box input::placeholder{color:var(--text-secondary, #999)}.docs-viewer .docs-sidebar .search-box .btn-clear{background:none;border:none;cursor:pointer;color:var(--text-secondary, #999);padding:2px;display:flex;align-items:center;justify-content:center}.docs-viewer .docs-sidebar .search-box .btn-clear:hover{color:var(--text-primary, #333)}.docs-viewer .docs-sidebar .no-docs{padding:20px;text-align:center;color:var(--text-secondary, #666)}.docs-viewer .docs-sidebar .docs-list{list-style:none;margin:0;padding:8px;overflow-y:auto;flex:1}.docs-viewer .docs-sidebar .docs-list .doc-item{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:4px;border-radius:6px;cursor:pointer;transition:background .2s}.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{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:10px;font-weight:600;color:var(--accent-color, #4a90d9);background:var(--accent-light, #e8f0fa);padding:3px 6px;border-radius:4px;flex-shrink:0;min-width:60px;text-align:center}.docs-viewer .docs-sidebar .docs-list .doc-item .doc-info{display:flex;align-items:flex-start;gap:10px;overflow:hidden;flex:1}.docs-viewer .docs-sidebar .docs-list .doc-item .doc-info .doc-details{display:flex;flex-direction:column;overflow:hidden;width:100%}.docs-viewer .docs-sidebar .docs-list .doc-item .doc-info .doc-details .doc-title{color:var(--text-primary, #333);font-weight:500;font-size:13px;margin-bottom:4px}.docs-viewer .docs-sidebar .docs-list .doc-item .doc-info .doc-details .doc-meta-line{display:flex;align-items:center;gap:8px;font-size:11px}.docs-viewer .docs-sidebar .docs-list .doc-item .doc-info .doc-details .doc-meta-line .doc-folder{font-size:9px;font-weight:600;text-transform:uppercase;color:var(--text-secondary, #666);background:var(--bg-tertiary, #e8e8e8);padding:2px 6px;border-radius:3px;letter-spacing:.3px;flex-shrink:0}.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;overflow:hidden;text-overflow:ellipsis}.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{flex:1;background:var(--bg-secondary, white);border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden}.docs-viewer .docs-content .content-header{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border-color, #eee)}.docs-viewer .docs-content .content-header .doc-ref-badge{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;font-weight:600;color:#fff;background:var(--accent-color, #4a90d9);padding:6px 10px;border-radius:6px;flex-shrink:0}.docs-viewer .docs-content .content-header .doc-title h3{margin:0 0 4px;color:var(--text-primary, #333)}.docs-viewer .docs-content .content-header .doc-title .doc-meta-row{display:flex;align-items:center;gap:8px}.docs-viewer .docs-content .content-header .doc-title .doc-folder-badge{font-size:10px;font-weight:600;text-transform:uppercase;color:#fff;background:var(--text-secondary, #666);padding:2px 8px;border-radius:3px;letter-spacing:.3px}.docs-viewer .docs-content .content-header .doc-title .doc-path{font-size:12px;color:var(--text-secondary, #999);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.docs-viewer .docs-content .content-body{flex:1;overflow:auto;padding:20px;min-height:0}.docs-viewer .docs-content .content-body .markdown-input-container.locked{position:static}.docs-viewer .docs-content .content-body .markdown-input-container.locked .markdown-content{position:static;padding:0;background:transparent;border:none;border-radius:0;height:auto;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{padding:16px;border-radius:8px}.docs-viewer .docs-content .content-body .markdown-input-container.locked .markdown-content img{border-radius:8px}.docs-viewer .docs-content .no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary, #999)}.docs-viewer .docs-content .no-selection i{font-size:48px;margin-bottom:16px;opacity:.5}.docs-viewer .docs-content .no-selection p{margin:4px 0;font-size:16px}.db-viewer{padding:20px;max-width:1200px;margin:0 auto}.db-viewer .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;border-bottom:2px solid var(--border-colour);padding-bottom:15px}.db-viewer .header h2{margin:0;color:var(--colour-text);font-size:24px}.db-viewer .header .last-update{font-size:12px;color:var(--text-muted);font-style:italic}.db-viewer .loading{display:flex;justify-content:center;align-items:center;height:200px;font-size:18px;color:var(--text-muted)}.db-viewer .error-message{background-color:var(--error-bg);color:var(--error-colour);padding:12px;border-radius:4px;margin-bottom:20px;border-left:4px solid var(--error-colour)}.db-viewer .status-section{margin-bottom:30px;background:var(--bg-muted);border-radius:8px;padding:20px}.db-viewer .status-section h3{margin:0 0 15px;color:var(--colour-text);font-size:18px;border-bottom:1px solid var(--border-colour);padding-bottom:8px}.db-viewer .status-section .status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.db-viewer .status-section .status-grid .stat-item{display:flex;align-items:center;gap:10px}.db-viewer .status-section .status-grid .stat-item label{font-weight:600;color:var(--text-muted);min-width:140px}.db-viewer .status-section .status-grid .stat-item span{color:var(--colour-text)}.db-viewer .status-section .status-grid .stat-item .mono{font-family:monospace;font-size:12px;background:var(--paper-colour);padding:2px 6px;border-radius:3px;word-break:break-all}.db-viewer .pool-status-header{display:flex;align-items:center;gap:12px;margin-bottom:15px}.db-viewer .pool-status-header .status-light{width:12px;height:12px;border-radius:50%}.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{font-weight:600;font-size:14px;text-transform:uppercase}.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{display:flex;justify-content:space-between;margin-bottom:4px;font-size:13px;color:var(--text-muted)}.db-viewer .utilization-bar-container .utilization-bar{height:20px;background:var(--paper-colour);border-radius:10px;overflow:hidden;border:1px solid var(--border-colour)}.db-viewer .utilization-bar-container .utilization-bar .utilization-fill{height:100%;border-radius:10px;transition:width .5s ease}.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{width:100%;border-collapse:collapse}.db-viewer .entity-table th,.db-viewer .entity-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-colour)}.db-viewer .entity-table th{font-weight:600;color:var(--text-muted);font-size:12px;text-transform:uppercase;background:var(--paper-colour)}.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(max-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;padding:32px;color:var(--text-muted)}.batching-stats .batching-stats-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:20px}.batching-stats .batching-stats-header .batching-stats-actions{display:flex;gap:8px}.batching-stats .batching-stats-header .batching-stats-actions .btn{padding:4px 12px;font-size:12px;border-radius:4px;border:none;cursor:pointer;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{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.batching-stats .batching-stats-grid .stat-card{background:var(--bg-muted);border:1px solid var(--border-colour);border-radius:8px;padding:16px;text-align:center;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{font-size:12px;color:var(--text-muted);font-weight:500;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.batching-stats .batching-stats-grid .stat-card .stat-value{font-size:24px;font-weight:700;color:var(--colour-text)}.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;font-size:11px;color:var(--text-muted);font-style:italic}@media(max-width:768px){.batching-stats .batching-stats-header{flex-direction:column;align-items:flex-start;gap:12px}.batching-stats .batching-stats-header .batching-stats-actions{align-self:stretch;justify-content:flex-end}.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;padding:16px;margin:8px 0}.connection-pool-stats.loading,.connection-pool-stats.error{padding:20px;text-align:center;color:var(--text-muted)}.connection-pool-stats.error{background:var(--error-bg);color:var(--error-colour);border-color:var(--error-border)}.connection-pool-stats .stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;border-bottom:1px solid var(--border-colour);padding-bottom:8px}.connection-pool-stats .stats-header h4{margin:0;color:var(--colour-text);font-size:1.1rem}.connection-pool-stats .stats-header .health-status{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:uppercase}.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{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.connection-pool-stats .stats-grid .stat-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--paper-colour);border:1px solid var(--border-muted);border-radius:4px}.connection-pool-stats .stats-grid .stat-item label{font-size:.9rem;color:var(--text-muted);font-weight:500}.connection-pool-stats .stats-grid .stat-item .stat-value{font-weight:600;color:var(--colour-text)}.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{font-size:1.2rem;font-weight:700;color:var(--colour-text)}.connection-pool-stats .stats-grid .stat-item .stat-value-large .stat-max{font-size:.9rem;color:var(--text-muted);font-weight:500}.connection-pool-stats .utilization-bar{width:60px;height:6px;background:var(--bg-muted);border-radius:3px;margin-left:8px;overflow:hidden}.connection-pool-stats .utilization-bar .utilization-fill{height:100%;border-radius:3px;transition:width .3s ease}.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{display:flex;justify-content:space-around;margin:16px 0;padding:12px;background:var(--paper-colour);border:1px solid var(--border-muted);border-radius:6px}.connection-pool-stats .connection-breakdown .breakdown-item{text-align:center;flex:1}.connection-pool-stats .connection-breakdown .breakdown-item .breakdown-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px}.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);padding:8px 12px;border:1px solid var(--warning-border);border-radius:4px;margin:8px 0;font-size:.9rem}.connection-pool-stats .stats-footer{margin-top:12px;padding-top:8px;border-top:1px solid var(--border-muted);text-align:center}.connection-pool-stats .stats-footer small{color:var(--text-muted);font-size:.8rem}@media(max-width:768px){.connection-pool-stats .stats-grid{grid-template-columns:1fr}.connection-pool-stats .connection-breakdown{flex-direction:column;gap:8px}}.connection-viewer{padding:20px;max-width:1200px;margin:0 auto}.connection-viewer .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;border-bottom:2px solid var(--border-colour);padding-bottom:15px}.connection-viewer .header h2{margin:0;color:var(--colour-text);font-size:24px}.connection-viewer .header .last-update{font-size:12px;color:var(--text-muted);font-style:italic}.connection-viewer .loading{display:flex;justify-content:center;align-items:center;height:200px;font-size:18px;color:var(--text-muted)}.connection-viewer .error-message{background-color:var(--error-bg);color:var(--error-colour);padding:12px;border-radius:4px;margin-bottom:20px;border-left:4px solid var(--error-colour)}.connection-viewer .status-section{margin-bottom:30px;background:var(--bg-muted);border-radius:8px;padding:20px}.connection-viewer .status-section h3{margin:0 0 15px;color:var(--colour-text);font-size:18px;border-bottom:1px solid var(--border-colour);padding-bottom:8px}.connection-viewer .status-section .status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.connection-viewer .status-section .status-grid .status-item{display:flex;align-items:center;gap:10px}.connection-viewer .status-section .status-grid .status-item label{font-weight:600;color:var(--text-muted);min-width:120px}.connection-viewer .status-section .status-grid .status-item span{color:var(--colour-text)}.connection-viewer .status-section .status-grid .status-item .server-mode{padding:4px 8px;border-radius:4px;font-weight:600;text-transform:uppercase;font-size:12px}.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{font-family:monospace;font-size:12px;background:var(--bg-muted);padding:2px 6px;border-radius:3px}.connection-viewer .status-section .status-grid .status-item .endpoint{font-family:monospace;font-size:11px;background:var(--bg-muted);padding:2px 6px;border-radius:3px;word-break:break-all}.connection-viewer .status-indicator{display:flex;align-items:center;gap:8px}.connection-viewer .status-indicator .status-light{width:12px;height:12px;border-radius:50%;border:2px solid transparent}.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{font-weight:600;color:var(--colour-text)}.connection-viewer .subscriptions-container .subscription-summary{font-weight:600;margin-bottom:15px;padding:10px;background:var(--info-bg);border-radius:4px;color:var(--accent-colour)}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item{display:grid;grid-template-columns:100px 1fr 100px 80px 180px;gap:15px;align-items:center;padding:12px;margin-bottom:8px;background:var(--paper-colour);border-radius:4px;border:1px solid var(--border-colour)}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-type{font-weight:600;color:var(--accent-colour);background:var(--info-bg);padding:4px 8px;border-radius:4px;text-align:center;font-size:12px}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-endpoint{font-family:monospace;font-size:11px;background:var(--bg-muted);padding:4px 6px;border-radius:3px;word-break:break-all}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-mode{font-size:12px;color:var(--text-muted)}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item .subscription-status{padding:4px 8px;border-radius:4px;text-align:center;font-weight:600;font-size:11px;text-transform:uppercase}.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);font-style:italic;padding:20px}.connection-viewer .coming-soon{text-align:center;color:var(--text-muted);font-style:italic;padding:40px;background:var(--bg-muted);border-radius:8px;border:2px dashed var(--border-colour)}.connection-viewer .actions-section{margin-top:30px;text-align:center}.connection-viewer .actions-section .reconnect-button{background-color:var(--accent-colour);color:var(--text-inverse);border:none;padding:12px 24px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;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(max-width:768px){.connection-viewer{padding:15px}.connection-viewer .status-section .status-grid{grid-template-columns:1fr}.connection-viewer .subscriptions-container .subscriptions-list .subscription-item{grid-template-columns:1fr;gap:8px;text-align:left}.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(-50vw + 50%)}footer#footer{display:flex;flex-direction:column;padding:3rem 1.5rem 1.5rem;color:var(--footer-text-color);font-size:.9375rem;line-height:1.6}footer#footer>div:first-child{display:flex;width:100%;gap:3rem;margin-bottom:2rem}footer#footer .logo{flex-shrink:0}footer#footer .logo img{max-width:180px;height:auto}footer#footer .sections{display:flex;flex-wrap:wrap;gap:3rem;flex-grow:1}footer#footer .sections>div{min-width:140px}footer#footer .sections>div:last-child{margin-left:auto}footer#footer h2{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;color:var(--footer-text-color)}footer#footer ul{list-style:none;padding:0;margin:0}footer#footer ul li{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:var(--footer-text-muted);align-items:flex-start}footer#footer ul li a{color:var(--footer-link-color);text-decoration:none;transition:color .2s ease}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 ease}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{min-height:auto;padding:0;margin-bottom:.5rem;background:transparent!important;border-radius:0}footer#footer .footerSection .fwkMenu ul li:hover{transform:none;box-shadow: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 ease}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{padding-left:0!important;margin-left:0!important}footer#footer .footerSection .fwkMenu ul.submenu>li{justify-content:flex-start!important}footer#footer .footerSection .fwkMenu ul.submenu>li>.menuHeader{padding-left:0!important;justify-content:flex-start!important;width:auto}footer#footer .footerSection .fwkMenu ul.submenu>li>.menuHeader .menuItemButton{justify-content:flex-start!important;text-align:left}footer#footer .footerSection .fwkMenu ul.submenu>li>.menuHeader .menuItemButton .menuText{text-align:left!important;justify-content:flex-start!important}footer#footer .footerBottom{display:flex;align-items:center;padding-top:1.5rem;border-top:1px solid var(--footer-border-color);position:relative}footer#footer .footerVersion{position:absolute;left:0;font-size:.6875rem;color:var(--footer-text-muted);opacity:.6}footer#footer .footerVersion .fwkVersion{font-size:inherit;color:inherit}footer#footer .privacy{font-size:.8125rem;color:var(--footer-text-muted);text-align:center;flex:1}footer#footer .privacy span{display:inline}@media(max-width:768px){footer#footer{padding:2rem 1rem 1rem}footer#footer>div:first-child{flex-direction:column;align-items:center;text-align: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{justify-content:center}footer#footer .footerSection .fwkMenu ul li{justify-content:center}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{justify-content:flex-start!important}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{position:static;order:1}footer#footer .privacy{order:0}footer#footer .privacy span{display:block;margin-bottom:.25rem}footer#footer .privacy span:last-child{margin-bottom:0}}.msweb-cookieBar{position:fixed;bottom:0;left:0;right:0;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}.msweb-cookieBar.fade-out{opacity:0;transform:translateY(100%)}.msweb-cookieBar .cookieContent{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}@media(max-width:768px){.msweb-cookieBar .cookieContent{flex-direction:column;text-align:center;gap:15px}}.msweb-cookieBar .cookieContent p{font-size:.875rem;line-height:1.5;margin:0;color:var(--text-overlay-muted)}.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);border:none;padding:10px 30px;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:opacity .3s,transform .2s;white-space:nowrap}.msweb-cookieBar .cookieContent .acceptBtn:hover{background:var(--accent-colour-light);transform:scale(1.05)}.msweb-cookieBar .cookieContent .acceptBtn:active{transform:scale(.98)}.star-rating{display:flex;align-items:center;gap:.25rem}.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{display:inline-flex;align-items:center;gap:.5rem}.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{padding:.25rem .75rem;border:1px solid var(--border-colour, #e2e8f0);border-radius:.5rem;background-color:transparent}.icon-badge--filled{padding:.25rem .75rem;border-radius:.5rem;background-color:var(--accent-colour-light, #eff6ff)}.icon-badge--filled .icon-badge__icon,.icon-badge--filled .icon-badge__label{color:var(--accent-colour, #1d4ed8)}.icon-list-item{display:flex;align-items:flex-start;gap:.75rem}.icon-list-item__icon{flex-shrink:0;color:var(--accent-colour);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{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.testimonial-card__avatar{width:3.5rem;height:3.5rem;border-radius:50%;object-fit:cover}.testimonial-card__identity{display:flex;flex-direction:column}.testimonial-card__name{font-weight:600;color:var(--text-colour, #0f172a)}.testimonial-card__role{font-size:.875rem;color:var(--text-muted, #64748b)}.testimonial-card__rating{margin-bottom:.75rem}.testimonial-card__quote{color:var(--text-muted, #475569);font-style:normal;margin:0;line-height:1.6}.testimonial-card--default{background-color:transparent}.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 ease,box-shadow .15s ease,transform .15s ease}.feature-card[role=button]{cursor:pointer}.feature-card__header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.feature-card__icon{width:1.5rem;height:1.5rem;color:var(--accent-colour, #1d4ed8);flex-shrink:0}.feature-card__title{font-size:1.125rem;font-weight:600;color:var(--text-colour, #0f172a);margin:0}.feature-card__description{color:var(--text-muted, #475569);margin:0 0 1rem;line-height:1.6}.feature-card__benefits{display:flex;flex-direction:column;gap:.5rem;list-style:none;padding:0;margin:0 0 1rem}.feature-card__benefit{display:flex;align-items:flex-start;gap:.5rem;color:var(--text-muted, #475569);line-height:1.5}.feature-card__benefit-icon{width:1.125rem;height:1.125rem;flex-shrink:0;margin-top:.125rem;color:var(--success-colour, #16a34a)}.feature-card__badges{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.feature-card--default{background-color:transparent}.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;box-shadow:0 1px 2px #0000000d;transform:translateY(-1px)}.feature-card--elevated{background-color:#fff;border-radius:1rem;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.feature-card--elevated:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;transform:translateY(-2px)}.cart-summary{background:#ffffffd6;border-radius:24px;padding:2rem;border:1px solid rgba(145,106,85,.12);box-shadow:0 18px 44px #3e2b1e14}.cart-summary__title{font-family:var(--font-family-heading);font-size:1.25rem;margin-bottom:2rem;color:var(--colour-dark)}.cart-summary__row{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem;font-size:.95rem;color:var(--colour-text)}.cart-summary__free{color:#2f7a49;font-weight:700}.cart-summary__shipping-note{background:#f5a19a33;color:var(--colour-dark);padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;text-align:center;margin-bottom:1rem}.cart-summary__divider{height:1px;background:var(--colour-border);margin:1rem 0}.cart-summary__total{font-size:1.25rem;font-weight:700}.cart-summary__cta{width:100%;justify-content:center;border-radius:999px;min-height:52px}.cart-drawer{position:fixed;inset:0;z-index:1400}.cart-drawer .fwkIconButton{border-radius:999px;font-weight:700;letter-spacing:.01em;padding:.85rem 1.35rem;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.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));border-color:transparent;color:#fff;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));border-color:transparent;color:#fff;box-shadow:0 18px 34px #ab64523d}.cart-drawer .cart-drawer__cta--secondary{background:#ffffffc7;border-color:#ab64524d;color:var(--accent-colour-deep);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{background:#f0a39329;border-color:#ab645275;color:var(--colour-dark);box-shadow:0 14px 28px #3e2b1e1a}.cart-drawer__cta{width:100%;justify-content:center;min-height:50px}.cart-drawer__backdrop{position:absolute;inset:0;border:0;background:#35261c5c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer}.cart-drawer__panel{position:absolute;top:0;right:0;width:min(100%,480px);height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#fffcf7fa,#f6ede1fa);box-shadow:-24px 0 60px #291d162e;border-left:1px solid rgba(145,106,85,.16);animation:cartDrawerSlideIn .28s ease}.cart-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid rgba(145,106,85,.1)}.cart-drawer__eyebrow{margin:0 0 .2rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.cart-drawer__title{margin:0;font-family:var(--font-family-heading);font-size:clamp(1.4rem,3vw,1.8rem);color:var(--colour-dark)}.cart-drawer__close{width:40px;height:40px;border:1px solid rgba(145,106,85,.16);border-radius:999px;background:#fffc;color:var(--colour-dark);display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,transform .2s ease}.cart-drawer__close:hover{background:#f0a3932e;transform:translateY(-1px)}.cart-drawer__items{flex:1;overflow-y:auto;padding:0 1.5rem 1rem}.cart-drawer__item{display:grid;grid-template-columns:92px 1fr;gap:1rem;padding:1.25rem 0;border-bottom:1px solid rgba(145,106,85,.1)}.cart-drawer__item-image{display:block;width:92px;height:112px;overflow:hidden;border-radius:18px;background:#ffffffb8;box-shadow:0 12px 24px #3e2b1e14}.cart-drawer__item-image img{width:100%;height:100%;object-fit:cover}.cart-drawer__item-body{min-width:0}.cart-drawer__item-top,.cart-drawer__item-bottom{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.cart-drawer__item-title{color:var(--colour-dark);text-decoration:none;font-weight:700;line-height:1.35}.cart-drawer__item-meta{margin:.4rem 0 .85rem;color:var(--text-muted);font-size:.92rem}.cart-drawer__item-remove{width:34px;height:34px;flex-shrink:0;border:0;border-radius:999px;background:#ab645214;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center}.cart-drawer__quantity{display:inline-flex;align-items:center;border:1px solid rgba(145,106,85,.16);border-radius:999px;background:#ffffffb8}.cart-drawer__qty-btn{width:34px;height:34px;border:0;background:transparent;color:var(--colour-dark);display:inline-flex;align-items:center;justify-content:center}.cart-drawer__qty-btn:disabled{opacity:.45}.cart-drawer__qty-value{min-width:2rem;text-align:center;font-weight:700;color:var(--colour-dark)}.cart-drawer__item-price{font-weight:700;color:var(--colour-text);white-space:nowrap}.cart-drawer__summary{padding:1rem 1.5rem 1.5rem;border-top:1px solid rgba(145,106,85,.1);background:linear-gradient(180deg,#fffcf7c2,#f7efe5eb)}.cart-drawer__summary .cart-summary{background:#ffffffa8;box-shadow:0 12px 26px #3e2b1e12}.cart-drawer__checkout-error{padding:.85rem 1rem;border-radius:16px;background:#ab64521a;color:var(--accent-colour-deep);font-size:.9rem}.cart-drawer__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.cart-drawer__empty h3{margin-bottom:.75rem;font-family:var(--font-family-heading);color:var(--colour-dark)}.cart-drawer__empty p{max-width:18rem;margin-bottom:1.5rem;color:var(--text-muted)}.cart-drawer__empty-icon{width:72px;height:72px;margin-bottom:1.25rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ab64521a;color:var(--accent-colour-deep);font-size:1.5rem}@media(max-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{position:relative;background:var(--paper-colour);border-radius:8px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;height:100%}.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{display:block;text-decoration:none;color:inherit;height:100%}.product-card__image-container{position:relative;width:100%;padding-top:100%;overflow:hidden;background:var(--colour-border)}.product-card__image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.product-card:hover .product-card__image{transform:scale(1.05)}.product-card__badge{position:absolute;top:12px;left:12px;padding:4px 12px;font-size:.75rem;font-weight:600;text-transform:uppercase;border-radius:4px;z-index:2}.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{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease}.product-card__overlay--visible{opacity:1;visibility:visible}.product-card__actions{display:flex;gap:12px}.product-card__action-btn{width:44px;height:44px;border-radius:50%;background:var(--paper-colour);color:var(--colour-dark);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:1rem}.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{padding:16px;text-align:center}.product-card__collection{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-colour);margin-bottom:4px}.product-card__title{font-family:var(--font-family-heading);font-size:1.1rem;font-weight:600;color:var(--colour-dark);margin:0 0 8px;line-height:1.3}.product-card__price{font-size:1rem;font-weight:600;color:var(--colour-text);margin-bottom:12px}.product-card__sizes{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.product-card__sizes .fwkOptionSelector__option{padding:4px 10px;font-size:.75rem;border:1px solid var(--colour-border);border-radius:4px;color:var(--text-muted)}.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(max-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{font-size:.875rem;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-colour);font-weight:500}.product-grid__title{font-family:var(--font-family-heading);font-size:2rem;font-weight:600;color:var(--colour-dark)}@media(max-width:768px){.product-grid__title{font-size:1.5rem}}@keyframes badge-border{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-hero{position:relative;background-color:var(--hero-bg-color);background-size:cover;background-position:center center;padding:6rem 0;overflow:hidden;border-radius:0;color:var(--hero-title-color)}.page-hero:before{content:"";background-image:var(--hero-overlay);width:100%;height:100%;position:absolute;top:0;left:0;z-index:1}.page-hero>.container-fluid{position:relative;z-index:2}.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{font-size:1.1rem;text-transform:uppercase;letter-spacing:2px;opacity:.9;margin-bottom:1rem}.page-hero__title{font-weight:600;margin-bottom:1.5rem;padding:20px 0;color:var(--hero-title-color)}.page-hero__description{font-size:1.25rem;font-weight:300;max-width:500px;padding-right:50px;margin-bottom:2rem;color:var(--hero-description-color)}.page-hero__buttons{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:1rem}.page-hero__btn{border-radius:25px;font-weight:400;padding:.75rem 1.5rem}.page-hero__btn--primary{background-color:var(--hero-btn-primary-bg);border:0}.page-hero__btn--outline{background-color:transparent;border:1px solid var(--hero-title-color);color:var(--hero-title-color)}.page-hero__btn--outline:hover{background-color:var(--bg-overlay)}.page-hero__badge{width:240px;height:240px;position:absolute;top:35%;right:0;transform:translateY(-50%);text-align:center;z-index:3}@media(max-width:767px){.page-hero__badge{display:none}}.page-hero__badge:before{content:"";display:block;width:260px;height:260px;border-radius:140px;background-image:var(--hero-badge-border);animation:badge-border 5s linear infinite;position:absolute;left:50%;top:50%;margin-left:-130px;margin-top:-130px;z-index:-2}.page-hero__badge:after{content:"";display:block;width:240px;height:240px;border-radius:140px;background-color:var(--hero-bg-color);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:-1}.page-hero__badge .badge-price{text-align:center;color:var(--hero-title-color);font-size:1.25rem;line-height:1;margin:0 auto;padding:0 1rem;position:relative;top:50%;transform:translateY(-50%);overflow:hidden}.page-hero__badge .badge-price--prepend{display:block;font-size:1.25rem;line-height:1.2;width:180px;margin:0 auto;white-space:pre-wrap}.page-hero__badge .badge-price--major{position:relative;font-size:4.5rem;font-weight:700;line-height:1}.page-hero__badge .badge-price--major:before{content:"£";font-size:1.75rem}.page-hero__badge .badge-price--minor{position:relative;font-size:2rem;line-height:2rem}.page-hero__badge .badge-price--append{display:block;font-size:1.25rem;line-height:1.2;width:180px;margin:0 auto}.feature-block__text-content{padding:2rem 0}@media(min-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{margin-bottom:1rem;color:var(--feature-icon-color)}.feature-block__icon svg{font-size:3rem}.feature-block__subtitle{margin-bottom:.5rem;color:var(--accent-colour)}.feature-block__title{font-weight:700;font-size:2rem;color:var(--feature-title-color)}.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 ease}.feature-grid__item:hover{transform:translateY(-5px)}.feature-grid__icon{margin-bottom:1.5rem;color:var(--feature-icon-color)}.feature-grid__icon svg,.feature-grid__icon i{transition:transform .3s ease}.feature-grid__icon:hover svg,.feature-grid__icon:hover i{transform:scale(1.1)}.feature-grid__title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--feature-title-color)}.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{border-radius:.5rem;overflow:hidden;box-shadow:var(--card-shadow)}.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{font-weight:600;padding:1.25rem 1.5rem;background:var(--faq-bg-color);color:var(--faq-text-color)}.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:transparent}.faq-accordion .accordion-body,.faq-accordion__content .accordion-body{padding:1.5rem;background:var(--faq-body-bg-color)}.faq-accordion .accordion-body p,.faq-accordion__content .accordion-body p{margin-bottom:0;color:var(--faq-body-text-color);line-height:1.7}.quoteBox{padding:60px;background:var(--accent-colour, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}.quoteBox .quote{font-size:1.5rem;line-height:1.5;margin-bottom:30px;font-weight:300;font-style:italic}.quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}.quoteBox .author p{font-size:.9rem;font-weight:600}@media(max-width:768px){.quoteBox{padding:40px 20px}}.contactForm{padding:40px;margin-top:30px;margin-bottom:30px;background:var(--primary-color, #de411b);color:var(--text-inverse, #ffffff)}@media(max-width:768px){.contactForm{padding:30px 20px;margin-bottom:40px}}.contactForm h2{font-family:Roboto Condensed,Roboto,sans-serif;font-size:1.5rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em;color:var(--text-inverse, #ffffff)}@media(max-width:768px){.contactForm h2{font-size:1.25rem}}.contactForm .inquiryType{display:flex;gap:30px;margin-bottom:25px;flex-wrap:wrap}.contactForm .inquiryType__option{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1.1rem;border-radius:999px;border:1px solid var(--text-overlay-subtle, rgba(255, 255, 255, .45));background:#ffffff14;font-family:Roboto,sans-serif;font-size:.875rem;font-weight:500;color:var(--text-inverse, #ffffff);transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.contactForm .inquiryType__option:hover{border-color:var(--text-inverse, #ffffff);background:#ffffff24}.contactForm .inquiryType__option.selected{background:var(--text-inverse, #ffffff);color:var(--primary-color, #de411b);border-color:var(--text-inverse, #ffffff);box-shadow:none}.contactForm .contactFormFields .honeypot{position:absolute;left:-9999px;top:-9999px;opacity:0;height:0;width:0;overflow:hidden;pointer-events:none}.contactForm .contactFormFields .formRowThree{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}@media(max-width:992px){.contactForm .contactFormFields .formRowThree{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.contactForm .contactFormFields .formRowThree{grid-template-columns:1fr;gap:15px}}.contactForm .contactFormFields .formRowMessage{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px;align-items:end}.contactForm .contactFormFields .formRowMessage>.fwkTextFieldX{grid-column:1 / 3}.contactForm .contactFormFields .formRowMessage>.formActions{grid-column:3;display:flex;align-items:flex-end;justify-content:flex-end;margin-top:0;position:relative;z-index:1}@media(max-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(max-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, #ffffff);--textfield-placeholder-color: var(--text-overlay-muted, rgba(255, 255, 255, .6));--textfield-label-color: var(--text-overlay, rgba(255, 255, 255, .9));--textfield-background: transparent;--textfield-border-color: var(--text-overlay-subtle, rgba(255, 255, 255, .5));--textfield-border-radius: 0;--textfield-focus-color: var(--text-inverse, #ffffff);--textfield-error-color: var(--error-bg)}.contactForm .contactFormFields .fwkTextFieldX label{font-family:Roboto,sans-serif;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;display:block}.contactForm .contactFormFields .fwkTextFieldX .control{border:none;border-bottom:1px solid var(--text-overlay-subtle, rgba(255, 255, 255, .5));border-radius:0;background:transparent;padding:0}.contactForm .contactFormFields .fwkTextFieldX .control:focus-within{border-bottom-color:var(--text-inverse, #ffffff);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{font-family:Roboto,sans-serif;font-size:.9375rem;font-weight:400;padding:10px 0;color:var(--text-inverse, #ffffff)!important;background:transparent!important;caret-color:var(--text-inverse, #ffffff)}.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, rgba(255, 255, 255, .6))}.contactForm .contactFormFields .fwkTextFieldX .control input::selection,.contactForm .contactFormFields .fwkTextFieldX .control textarea::selection,.contactForm .contactFormFields .fwkTextFieldX .control select::selection,.contactForm .contactFormFields .fwkTextFieldX .control .email-input-wrapper input::selection,.contactForm .contactFormFields .fwkTextFieldX .control .password-input-wrapper input::selection{background:#ffffff4d;color:var(--text-inverse, #ffffff)}.contactForm .contactFormFields .fwkTextFieldX .control input::-moz-selection,.contactForm .contactFormFields .fwkTextFieldX .control textarea::-moz-selection,.contactForm .contactFormFields .fwkTextFieldX .control select::-moz-selection,.contactForm .contactFormFields .fwkTextFieldX .control .email-input-wrapper input::-moz-selection,.contactForm .contactFormFields .fwkTextFieldX .control .password-input-wrapper input::-moz-selection{background:#ffffff4d;color:var(--text-inverse, #ffffff)}.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, #ffffff)!important;-webkit-text-fill-color:var(--text-inverse, #ffffff)!important}.contactForm .contactFormFields .fwkTextFieldX .control input:-webkit-autofill,.contactForm .contactFormFields .fwkTextFieldX .control textarea:-webkit-autofill,.contactForm .contactFormFields .fwkTextFieldX .control select:-webkit-autofill,.contactForm .contactFormFields .fwkTextFieldX .control .email-input-wrapper input:-webkit-autofill,.contactForm .contactFormFields .fwkTextFieldX .control .password-input-wrapper input:-webkit-autofill,.contactForm .contactFormFields .fwkTextFieldX .control input:-webkit-autofill:hover,.contactForm .contactFormFields .fwkTextFieldX .control textarea:-webkit-autofill:hover,.contactForm .contactFormFields .fwkTextFieldX .control select:-webkit-autofill:hover,.contactForm .contactFormFields .fwkTextFieldX .control .email-input-wrapper input:-webkit-autofill:hover,.contactForm .contactFormFields .fwkTextFieldX .control .password-input-wrapper input:-webkit-autofill:hover,.contactForm .contactFormFields .fwkTextFieldX .control input:-webkit-autofill:focus,.contactForm .contactFormFields .fwkTextFieldX .control textarea:-webkit-autofill:focus,.contactForm .contactFormFields .fwkTextFieldX .control select:-webkit-autofill:focus,.contactForm .contactFormFields .fwkTextFieldX .control .email-input-wrapper input:-webkit-autofill:focus,.contactForm .contactFormFields .fwkTextFieldX .control .password-input-wrapper input:-webkit-autofill:focus,.contactForm .contactFormFields .fwkTextFieldX .control input:-webkit-autofill:active,.contactForm .contactFormFields .fwkTextFieldX .control textarea:-webkit-autofill:active,.contactForm .contactFormFields .fwkTextFieldX .control select:-webkit-autofill:active,.contactForm .contactFormFields .fwkTextFieldX .control .email-input-wrapper input:-webkit-autofill:active,.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, #ffffff)!important;caret-color:var(--text-inverse, #ffffff)!important}.contactForm .contactFormFields .fwkTextFieldX .control textarea{min-height:80px;resize:vertical}.contactForm .contactFormFields .fwkTextFieldX .control .react-tel-input .form-control{color:var(--text-inverse, #ffffff)!important;background:transparent!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, rgba(255, 255, 255, .6))!important}.contactForm .contactFormFields .fwkTextFieldX .control .react-tel-input .flag-dropdown{background:transparent!important;border:none!important;border-radius:0!important}.contactForm .contactFormFields .fwkTextFieldX .control .react-tel-input .flag-dropdown .selected-flag{background:transparent!important}.contactForm .contactFormFields .fwkTextFieldX .control .react-tel-input .flag-dropdown .selected-flag .arrow{border-top-color:var(--text-inverse, #ffffff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .selectInput .selectInput__control{background:transparent!important;border:none!important;box-shadow:none!important;min-height:unset!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, #ffffff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .selectInput .selectInput__placeholder{color:var(--text-overlay-muted, rgba(255, 255, 255, .6))!important}.contactForm .contactFormFields .fwkTextFieldX .control .selectInput .selectInput__indicator,.contactForm .contactFormFields .fwkTextFieldX .control .selectInput .selectInput__indicator:hover{color:var(--text-inverse, #ffffff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .selectInput .selectInput__indicator-separator{display:none}.contactForm .contactFormFields .fwkTextFieldX .control .selectInput .selectInput__input-container{color:var(--text-inverse, #ffffff)!important}.contactForm .contactFormFields .fwkTextFieldX .control .error{color:var(--error-bg);font-family:Roboto,sans-serif;font-size:.7rem;margin-top:5px}.contactForm .contactFormFields .fwkTextFieldX.locked{opacity:.5;pointer-events:none}.contactForm .formActions{display:flex;justify-content:flex-end;margin-top:25px}.contactForm .formActions .submitButton{padding:12px 40px;font-family:Roboto Condensed,Roboto,sans-serif;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border-radius:999px;min-height:48px}.contactForm .formActions .submitButton.fwkIconButton.button{background:var(--text-inverse, #ffffff);color:var(--primary-color, #de411b);box-shadow:none}.contactForm .formActions .submitButton.fwkIconButton.button:hover:not(.disabled){background:var(--text-overlay, rgba(255, 255, 255, .9));color:var(--primary-color, #de411b);box-shadow:none}.contactForm .formActions .submitButton.fwkIconButton.button.disabled{background:#ffffff73!important;color:#de411be6!important;opacity:1}.contactForm-select-menu .selectInput__menu{background:var(--primary-color, #de411b)!important;border:1px solid var(--text-overlay-subtle, rgba(255, 255, 255, .3))!important;border-radius:4px!important;box-shadow:0 4px 12px #0000004d!important}.contactForm-select-menu .selectInput__menu-list{padding:0!important;max-height:250px!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{background:transparent!important;color:var(--text-inverse, #ffffff)!important;padding:10px 12px!important;cursor:pointer!important;border-bottom:1px solid var(--text-overlay-subtle, rgba(255, 255, 255, .1))!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, rgba(255, 255, 255, .2))!important}.contactForm-select-menu .selectInput__option--is-selected{background:var(--bg-overlay-active, rgba(255, 255, 255, .3))!important;font-weight:600!important}.contactForm-select-menu .selectInput__no-options-message{color:var(--text-overlay-muted, rgba(255, 255, 255, .6))!important;padding:10px 12px!important}.contactFormModal{text-align:center;min-width:300px}.contactFormModal h3{font-family:Roboto Condensed,Roboto,sans-serif;font-size:1.4rem;font-weight:700;margin:0 0 15px;color:var(--accent-colour, #de411b)}.contactFormModal p{font-family:Roboto,sans-serif;font-size:.95rem;line-height:1.6;color:var(--colour-text, #333);margin:0}.location-page .mapPlaceholder{height:400px;overflow:hidden;background:#eee}.location-page .mapPlaceholder .locationImage{width:100%;height:100%;object-fit:cover}.location-page .locationBand{padding:60px 0}.location-page .locationBand .locationGrid{display:grid;grid-template-columns:2fr 1fr;gap:60px}@media(max-width:768px){.location-page .locationBand .locationGrid{grid-template-columns:1fr}}.location-page .locationBand .locationDetails .addressSection .addressItem{display:flex;align-items:flex-start;gap:15px;margin-bottom:20px}.location-page .locationBand .locationDetails .addressSection .addressItem .icon{font-size:1.2rem;color:var(--primary-color, #de411b);margin-top:4px;min-width:24px}.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;padding:30px;border-radius:4px}.location-page .locationBand .otherLocations h3{font-size:1rem;font-weight:600;text-transform:uppercase;margin-bottom:20px}.location-page .locationBand .otherLocations ul{list-style:none;padding:0;margin:0}.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{padding:60px;text-align:center;color:var(--text-secondary, #666)}.quotesCarousel{position:absolute;bottom:60px;left:0;width:100%;max-width:700px;padding:0 40px;z-index:10;text-align:left}@media(max-width:768px){.quotesCarousel{bottom:40px;padding:0 20px;max-width:100%}}.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;transform:translate(0);transition:all .4s ease-out;transition-delay:0s}.quotesCarousel .carouselContent.active .scroll-ltr-2{opacity:1;transform:translate(0);transition:all .4s ease-out;transition-delay:.1s}.quotesCarousel .carouselContent.active .scroll-ltr-3{opacity:1;transform:translate(0);transition:all .4s ease-out;transition-delay:.2s}.quotesCarousel .carouselContent.active .scroll-ltr-4{opacity:1;transform:translate(0);transition:all .4s ease-out;transition-delay:.3s}.quotesCarousel .carouselContent.active .scroll-ltr-5{opacity:1;transform:translate(0);transition:all .4s ease-out;transition-delay:.4s}.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;transform:translate(100px);transition:all .4s ease-out}.quotesCarousel .carouselContent .slide .slideInner .accentBar{width:60px;height:4px;background:var(--primary-color, #de411b);margin-bottom:20px}.quotesCarousel .carouselContent .slide .slideInner .tag{font-family:Roboto Condensed,Roboto,sans-serif;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dark, #000000);margin-bottom:12px}.quotesCarousel .carouselContent .slide .slideInner .title{font-family:Roboto Condensed,Roboto,sans-serif;font-size:2.5rem;font-weight:700;text-transform:uppercase;letter-spacing:-.02em;line-height:.89;margin-bottom:20px;color:var(--text-dark, #000000)}@media(max-width:768px){.quotesCarousel .carouselContent .slide .slideInner .title{font-size:1.75rem}}.quotesCarousel .carouselContent .slide .slideInner .quote{font-family:Roboto,sans-serif;font-size:.9375rem;line-height:1.6;font-weight:300;color:var(--text-dark, #000000);margin:0 0 20px;padding:0;border:none}@media(max-width:768px){.quotesCarousel .carouselContent .slide .slideInner .quote{font-size:.875rem}}.quotesCarousel .carouselContent .slide .slideInner .author{font-family:Roboto Condensed,Roboto,sans-serif;font-size:.875rem;font-weight:700;text-transform:uppercase;color:var(--text-dark, #000000)}.quotesCarousel .carouselDots{display:flex;gap:10px;margin-top:25px}.quotesCarousel .carouselDots .dot{width:10px;height:10px;border-radius:50%;border:none;background:#0000004d;cursor:pointer;padding:0;transition:background-color .3s,transform .2s}.quotesCarousel .carouselDots .dot:hover{transform:scale(1.2);background:#00000080}.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}.contentImage{position:relative;overflow:hidden;background:#efeff0;height:100%}.contentImage img{max-width:100%;height:100%;display:block;margin:0 auto;filter:brightness(1.03) contrast(.95) saturate(.92)}.contentImage.position-center img,.contentImage.position-left img,.contentImage.position-right img{object-fit:fill}.contentImage .imageOverlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#ffffff14,#fff0);pointer-events:none}#testing .introBand{padding:0}#testing .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#testing .introBand .introGrid{grid-template-columns:1fr}}#testing .introBand .introGrid .textBox{padding:60px;background:#fff}#testing .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#testing .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#testing .introBand .introGrid .textBox{padding:40px 20px}}#testing .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#testing .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#testing .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}#testing .introBand .introGrid .quoteBox .author p{font-size:.9rem;font-weight:600}@media(max-width:768px){#testing .introBand .introGrid .quoteBox{padding:40px 20px}}#testing .contentBand{padding:0}#testing .contentBand.alt .contentGrid .textContent{background:#fff}#testing .contentBand .contentGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#testing .contentBand .contentGrid{grid-template-columns:1fr}}@media(max-width:768px){#testing .contentBand .contentGrid.reverse .contentImage{order:2}#testing .contentBand .contentGrid.reverse .textContent{order:1}}#testing .contentBand .contentGrid .textContent{padding:60px;background:#efeff0}#testing .contentBand .contentGrid .textContent h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#testing .contentBand .contentGrid .textContent p{font-size:1rem;line-height:1.7;margin-bottom:15px;color:var(--text-secondary, #555)}@media(max-width:768px){#testing .contentBand .contentGrid .textContent{padding:40px 20px}}#testing .sectionHeader{text-align:center;margin-bottom:50px}#testing .sectionHeader.light{color:#fff}#testing .sectionHeader h2{font-size:2rem;font-weight:700;text-transform:uppercase;letter-spacing:-.02em}#testing .servicesBand{padding:80px 40px;background:#efeff0}@media(max-width:768px){#testing .servicesBand{padding:60px 20px}}#testing .servicesBand .servicesGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto}@media(max-width:1000px){#testing .servicesBand .servicesGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){#testing .servicesBand .servicesGrid{grid-template-columns:1fr}}#testing .servicesBand .servicesGrid .serviceCard{background:#fff;padding:30px}#testing .servicesBand .servicesGrid .serviceCard h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;margin-bottom:15px;color:var(--primary-color, #de411b)}#testing .servicesBand .servicesGrid .serviceCard p{font-size:.95rem;line-height:1.6;color:var(--text-secondary, #555)}#testing .whyUsBand{padding:80px 40px;background:var(--primary-color, #de411b)}@media(max-width:768px){#testing .whyUsBand{padding:60px 20px}}#testing .whyUsBand .whyUsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto}@media(max-width:1000px){#testing .whyUsBand .whyUsGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){#testing .whyUsBand .whyUsGrid{grid-template-columns:1fr}}#testing .whyUsBand .whyUsGrid .whyUsCard{text-align:center;color:#fff}#testing .whyUsBand .whyUsGrid .whyUsCard h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;margin-bottom:15px}#testing .whyUsBand .whyUsGrid .whyUsCard p{font-size:.95rem;line-height:1.6;opacity:.9}#services .introBand{padding:0}#services .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#services .introBand .introGrid{grid-template-columns:1fr}}#services .introBand .introGrid .textBox{padding:60px;background:#fff}#services .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#services .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#services .introBand .introGrid .textBox{padding:40px 20px}}#services .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#services .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#services .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}#services .introBand .introGrid .quoteBox .author p{font-size:.9rem;font-weight:600}@media(max-width:768px){#services .introBand .introGrid .quoteBox{padding:40px 20px}}#services .specialismsBand{padding:60px 0;background:#efeff0}#services .specialismsBand .specialismsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1400px;margin:0 auto;padding:0 40px}@media(max-width:1200px){#services .specialismsBand .specialismsGrid{grid-template-columns:repeat(2,1fr)}}@media(max-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{font-size:1.25rem;font-weight:700;text-transform:uppercase;margin-bottom:15px;letter-spacing:-.01em}#services .specialismsBand .specialismsGrid .specialismCard p{font-size:.95rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:20px}#services .specialismsBand .specialismsGrid .specialismCard .learnMore{display:inline-block;font-family:Roboto Condensed,Roboto,sans-serif;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;color:var(--primary-color, #de411b);padding-bottom:2px;border-bottom:2px solid var(--primary-color, #de411b);transition:color .2s,border-color .2s}#services .specialismsBand .specialismsGrid .specialismCard .learnMore:hover{color:#000;border-color:#000}#security .introBand{padding:0}#security .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#security .introBand .introGrid{grid-template-columns:1fr}}#security .introBand .introGrid .textBox{padding:60px;background:#fff}#security .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#security .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#security .introBand .introGrid .textBox{padding:40px 20px}}#security .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#security .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#security .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}@media(max-width:768px){#security .introBand .introGrid .quoteBox{padding:40px 20px}}#security .contentBand{padding:0}#security .contentBand.alt .contentGrid .textContent{background:#fff}#security .contentBand .contentGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#security .contentBand .contentGrid{grid-template-columns:1fr}}@media(max-width:768px){#security .contentBand .contentGrid.reverse .contentImage{order:2}#security .contentBand .contentGrid.reverse .textContent{order:1}}#security .contentBand .contentGrid .textContent{padding:60px;background:#efeff0}#security .contentBand .contentGrid .textContent h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#security .contentBand .contentGrid .textContent p{font-size:1rem;line-height:1.7;margin-bottom:15px;color:var(--text-secondary, #555)}@media(max-width:768px){#security .contentBand .contentGrid .textContent{padding:40px 20px}}#network .introBand{padding:0}#network .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#network .introBand .introGrid{grid-template-columns:1fr}}#network .introBand .introGrid .textBox{padding:60px;background:#fff}#network .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#network .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#network .introBand .introGrid .textBox{padding:40px 20px}}#network .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#network .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#network .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}@media(max-width:768px){#network .introBand .introGrid .quoteBox{padding:40px 20px}}#network .contentBand{padding:0}#network .contentBand.alt .contentGrid .textContent{background:#fff}#network .contentBand .contentGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#network .contentBand .contentGrid{grid-template-columns:1fr}}@media(max-width:768px){#network .contentBand .contentGrid.reverse .contentImage{order:2}#network .contentBand .contentGrid.reverse .textContent{order:1}}#network .contentBand .contentGrid .textContent{padding:60px;background:#efeff0}#network .contentBand .contentGrid .textContent h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#network .contentBand .contentGrid .textContent p{font-size:1rem;line-height:1.7;margin-bottom:15px;color:var(--text-secondary, #555)}@media(max-width:768px){#network .contentBand .contentGrid .textContent{padding:40px 20px}}#mobile .introBand{padding:0}#mobile .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#mobile .introBand .introGrid{grid-template-columns:1fr}}#mobile .introBand .introGrid .textBox{padding:60px;background:#fff}#mobile .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#mobile .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#mobile .introBand .introGrid .textBox{padding:40px 20px}}#mobile .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#mobile .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#mobile .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}@media(max-width:768px){#mobile .introBand .introGrid .quoteBox{padding:40px 20px}}#mobile .contentBand{padding:0}#mobile .contentBand.alt .contentGrid .textContent{background:#fff}#mobile .contentBand .contentGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#mobile .contentBand .contentGrid{grid-template-columns:1fr}}@media(max-width:768px){#mobile .contentBand .contentGrid.reverse .contentImage{order:2}#mobile .contentBand .contentGrid.reverse .textContent{order:1}}#mobile .contentBand .contentGrid .textContent{padding:60px;background:#efeff0}#mobile .contentBand .contentGrid .textContent h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#mobile .contentBand .contentGrid .textContent p{font-size:1rem;line-height:1.7;margin-bottom:15px;color:var(--text-secondary, #555)}@media(max-width:768px){#mobile .contentBand .contentGrid .textContent{padding:40px 20px}}#iot .introBand{padding:0}#iot .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#iot .introBand .introGrid{grid-template-columns:1fr}}#iot .introBand .introGrid .textBox{padding:60px;background:#fff}#iot .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#iot .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#iot .introBand .introGrid .textBox{padding:40px 20px}}#iot .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#iot .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#iot .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}#iot .introBand .introGrid .quoteBox .author p{font-size:.9rem;font-weight:600}@media(max-width:768px){#iot .introBand .introGrid .quoteBox{padding:40px 20px}}#iot .contentBand{padding:0}#iot .contentBand.alt .contentGrid .textContent{background:#fff}#iot .contentBand .contentGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#iot .contentBand .contentGrid{grid-template-columns:1fr}}@media(max-width:768px){#iot .contentBand .contentGrid.reverse .contentImage{order:2}#iot .contentBand .contentGrid.reverse .textContent{order:1}}#iot .contentBand .contentGrid .textContent{padding:60px;background:#efeff0}#iot .contentBand .contentGrid .textContent h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#iot .contentBand .contentGrid .textContent p{font-size:1rem;line-height:1.7;margin-bottom:15px;color:var(--text-secondary, #555)}@media(max-width:768px){#iot .contentBand .contentGrid .textContent{padding:40px 20px}}#iot .sectionHeader{text-align:center;margin-bottom:50px}#iot .sectionHeader h2{font-size:2rem;font-weight:700;text-transform:uppercase;letter-spacing:-.02em}#iot .useCasesBand{padding:80px 40px;background:var(--primary-color, #de411b)}@media(max-width:768px){#iot .useCasesBand{padding:60px 20px}}#iot .useCasesBand .sectionHeader{color:#fff}#iot .useCasesBand .useCasesGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto}@media(max-width:1000px){#iot .useCasesBand .useCasesGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){#iot .useCasesBand .useCasesGrid{grid-template-columns:1fr}}#iot .useCasesBand .useCasesGrid .useCaseCard{text-align:center;color:#fff}#iot .useCasesBand .useCasesGrid .useCaseCard h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;margin-bottom:15px}#iot .useCasesBand .useCasesGrid .useCaseCard p{font-size:.95rem;line-height:1.6;opacity:.9}#iot .readMore{display:inline-block;margin-top:20px;color:var(--primary-color, #de411b);font-weight:600;text-decoration:none;text-transform:uppercase;font-size:.9rem;letter-spacing:.05em}#iot .readMore:hover{text-decoration:underline}#data .introBand{padding:0}#data .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#data .introBand .introGrid{grid-template-columns:1fr}}#data .introBand .introGrid .textBox{padding:60px;background:#fff}#data .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#data .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#data .introBand .introGrid .textBox{padding:40px 20px}}#data .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#data .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#data .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}@media(max-width:768px){#data .introBand .introGrid .quoteBox{padding:40px 20px}}#data .servicesBand{padding:80px 40px;background:#efeff0}@media(max-width:768px){#data .servicesBand{padding:60px 20px}}#data .servicesBand .sectionHeader{text-align:center;margin-bottom:50px}#data .servicesBand .sectionHeader h2{font-size:2rem;font-weight:700;text-transform:uppercase;letter-spacing:-.02em}#data .servicesBand .servicesGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto}@media(max-width:1100px){#data .servicesBand .servicesGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){#data .servicesBand .servicesGrid{grid-template-columns:1fr}}#data .servicesBand .servicesGrid .serviceCard{background:#fff;padding:30px}#data .servicesBand .servicesGrid .serviceCard h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;color:var(--primary-color, #de411b)}#data .servicesBand .servicesGrid .serviceCard ul{list-style:none;padding:0;margin:0}#data .servicesBand .servicesGrid .serviceCard ul li{padding:8px 0;font-size:.95rem;color:var(--text-secondary, #555);border-bottom:1px solid #eee}#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{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#data .contentBand .contentGrid{grid-template-columns:1fr}}@media(max-width:768px){#data .contentBand .contentGrid.reverse .contentImage{order:2}#data .contentBand .contentGrid.reverse .textContent{order:1}}#data .contentBand .contentGrid .textContent{padding:60px;background:#efeff0}#data .contentBand .contentGrid .textContent h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#data .contentBand .contentGrid .textContent p{font-size:1rem;line-height:1.7;margin-bottom:15px;color:var(--text-secondary, #555)}@media(max-width:768px){#data .contentBand .contentGrid .textContent{padding:40px 20px}}#ai .introBand{padding:0}#ai .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#ai .introBand .introGrid{grid-template-columns:1fr}}#ai .introBand .introGrid .textBox{padding:60px;background:#fff}#ai .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#ai .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#ai .introBand .introGrid .textBox{padding:40px 20px}}#ai .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#ai .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#ai .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}#ai .introBand .introGrid .quoteBox .author p{font-size:.9rem;font-weight:600}@media(max-width:768px){#ai .introBand .introGrid .quoteBox{padding:40px 20px}}#ai .contentBand{padding:0}#ai .contentBand.alt .contentGrid .textContent{background:#fff}#ai .contentBand .contentGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#ai .contentBand .contentGrid{grid-template-columns:1fr}}@media(max-width:768px){#ai .contentBand .contentGrid.reverse .contentImage{order:2}#ai .contentBand .contentGrid.reverse .textContent{order:1}}#ai .contentBand .contentGrid .textContent{padding:60px;background:#efeff0}#ai .contentBand .contentGrid .textContent h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#ai .contentBand .contentGrid .textContent p{font-size:1rem;line-height:1.7;margin-bottom:15px;color:var(--text-secondary, #555)}@media(max-width:768px){#ai .contentBand .contentGrid .textContent{padding:40px 20px}}#products .introBand{padding:0}#products .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#products .introBand .introGrid{grid-template-columns:1fr}}#products .introBand .introGrid .textBox{padding:60px;background:#fff}#products .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#products .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#products .introBand .introGrid .textBox{padding:40px 20px}}#products .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#products .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#products .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}#products .introBand .introGrid .quoteBox .author p{font-size:.9rem;font-weight:600}@media(max-width:768px){#products .introBand .introGrid .quoteBox{padding:40px 20px}}#products .productsBand{padding:60px 0;background:#efeff0}#products .productsBand .productsGrid{display:grid;grid-template-columns:1fr;gap:30px;max-width:900px;margin:0 auto;padding:0 40px}@media(max-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(max-width:768px){#products .productsBand .productsGrid .productCard .cardContent{padding:30px}}#products .productsBand .productsGrid .productCard h3{font-size:1.75rem;font-weight:700;text-transform:uppercase;margin-bottom:10px;letter-spacing:-.01em}#products .productsBand .productsGrid .productCard .tagline{display:block;font-size:1.1rem;font-weight:500;color:var(--primary-color, #de411b);margin-bottom:20px}#products .productsBand .productsGrid .productCard p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:25px}#products .productsBand .productsGrid .productCard .learnMore{display:inline-block;font-family:Roboto Condensed,Roboto,sans-serif;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;color:#fff;background:var(--primary-color, #de411b);padding:12px 30px;transition:background .2s}#products .productsBand .productsGrid .productCard .learnMore:hover{background:#c13617}#reqiq .introBand{padding:0}#reqiq .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#reqiq .introBand .introGrid{grid-template-columns:1fr}}#reqiq .introBand .introGrid .textBox{padding:60px;background:#fff}#reqiq .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#reqiq .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#reqiq .introBand .introGrid .textBox{padding:40px 20px}}#reqiq .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#reqiq .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#reqiq .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}@media(max-width:768px){#reqiq .introBand .introGrid .quoteBox{padding:40px 20px}}#reqiq .sectionHeader{text-align:center;margin-bottom:50px}#reqiq .sectionHeader h2{font-size:2rem;font-weight:700;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:10px}#reqiq .sectionHeader .subtitle{font-size:1.1rem;color:var(--text-secondary, #555)}#reqiq .capabilitiesBand{padding:80px 40px;background:#efeff0}@media(max-width:768px){#reqiq .capabilitiesBand{padding:60px 20px}}#reqiq .capabilitiesBand .capabilitiesGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;max-width:1200px;margin:0 auto}@media(max-width:900px){#reqiq .capabilitiesBand .capabilitiesGrid{grid-template-columns:1fr}}#reqiq .capabilitiesBand .capabilitiesGrid .capabilityCard{background:#fff;padding:40px;position:relative}#reqiq .capabilitiesBand .capabilitiesGrid .capabilityCard .number{display:block;font-size:3rem;font-weight:700;color:var(--primary-color, #de411b);opacity:.3;margin-bottom:15px;line-height:1}#reqiq .capabilitiesBand .capabilitiesGrid .capabilityCard h3{font-size:1.25rem;font-weight:700;text-transform:uppercase;margin-bottom:15px;letter-spacing:-.01em}#reqiq .capabilitiesBand .capabilitiesGrid .capabilityCard p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555)}#reqiq .differentiationBand{padding:80px 40px;background:#fff}@media(max-width:768px){#reqiq .differentiationBand{padding:60px 20px}}#reqiq .differentiationBand .differentiationGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto}@media(max-width:1100px){#reqiq .differentiationBand .differentiationGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){#reqiq .differentiationBand .differentiationGrid{grid-template-columns:1fr}}#reqiq .differentiationBand .differentiationGrid .diffCard{text-align:center;padding:30px 20px}#reqiq .differentiationBand .differentiationGrid .diffCard h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;margin-bottom:15px;color:var(--primary-color, #de411b)}#reqiq .differentiationBand .differentiationGrid .diffCard p{font-size:.95rem;line-height:1.6;color:var(--text-secondary, #555)}#reqiq .resultsBand{padding:80px 40px;background:var(--primary-color, #de411b);color:#fff}@media(max-width:768px){#reqiq .resultsBand{padding:60px 20px}}#reqiq .resultsBand .resultsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:1000px;margin:0 auto;text-align:center}@media(max-width:768px){#reqiq .resultsBand .resultsGrid{grid-template-columns:1fr;gap:50px}}#reqiq .resultsBand .resultsGrid .resultCard .stat{display:block;font-size:4rem;font-weight:700;line-height:1;margin-bottom:15px}@media(max-width:768px){#reqiq .resultsBand .resultsGrid .resultCard .stat{font-size:3rem}}#reqiq .resultsBand .resultsGrid .resultCard h3{font-size:1.25rem;font-weight:700;text-transform:uppercase;margin-bottom:10px}#reqiq .resultsBand .resultsGrid .resultCard p{font-size:1rem;opacity:.9}#reqiq .pricingBand{padding:80px 40px;background:#efeff0}@media(max-width:768px){#reqiq .pricingBand{padding:60px 20px}}#reqiq .pricingBand .pricingGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1100px;margin:0 auto}@media(max-width:900px){#reqiq .pricingBand .pricingGrid{grid-template-columns:1fr;max-width:400px}}#reqiq .pricingBand .pricingGrid .pricingCard{background:#fff;padding:40px 30px;text-align:center;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";position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--primary-color, #de411b);color:#fff;font-size:.75rem;font-weight:700;text-transform:uppercase;padding:4px 15px;letter-spacing:.05em}#reqiq .pricingBand .pricingGrid .pricingCard h3{font-size:1.25rem;font-weight:700;text-transform:uppercase;margin-bottom:20px}#reqiq .pricingBand .pricingGrid .pricingCard .price{display:block;font-size:2.5rem;font-weight:700;color:var(--primary-color, #de411b);margin-bottom:30px}#reqiq .pricingBand .pricingGrid .pricingCard .price span{font-size:1rem;font-weight:400;color:var(--text-secondary, #555)}#reqiq .pricingBand .pricingGrid .pricingCard ul{list-style:none;padding:0;margin:0;text-align:left}#reqiq .pricingBand .pricingGrid .pricingCard ul li{padding:10px 0;border-bottom:1px solid #eee;font-size:.95rem;color:var(--text-secondary, #555)}#reqiq .pricingBand .pricingGrid .pricingCard ul li:last-child{border-bottom:none}#iotgtw .introBand{padding:0}#iotgtw .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#iotgtw .introBand .introGrid{grid-template-columns:1fr}}#iotgtw .introBand .introGrid .textBox{padding:60px;background:#fff}#iotgtw .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#iotgtw .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#iotgtw .introBand .introGrid .textBox{padding:40px 20px}}#iotgtw .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#iotgtw .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#iotgtw .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}@media(max-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{font-size:2rem;font-weight:700;text-transform:uppercase;letter-spacing:-.02em}#iotgtw .featuresBand{padding:80px 40px;background:#efeff0}@media(max-width:768px){#iotgtw .featuresBand{padding:60px 20px}}#iotgtw .featuresBand .featuresGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1200px;margin:0 auto}@media(max-width:900px){#iotgtw .featuresBand .featuresGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){#iotgtw .featuresBand .featuresGrid{grid-template-columns:1fr}}#iotgtw .featuresBand .featuresGrid .featureCard{background:#fff;padding:30px}#iotgtw .featuresBand .featuresGrid .featureCard h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;margin-bottom:15px;color:var(--primary-color, #de411b)}#iotgtw .featuresBand .featuresGrid .featureCard p{font-size:.95rem;line-height:1.6;color:var(--text-secondary, #555)}#iotgtw .useCasesBand{padding:80px 40px;background:var(--primary-color, #de411b)}@media(max-width:768px){#iotgtw .useCasesBand{padding:60px 20px}}#iotgtw .useCasesBand .useCasesGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto}@media(max-width:1000px){#iotgtw .useCasesBand .useCasesGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){#iotgtw .useCasesBand .useCasesGrid{grid-template-columns:1fr}}#iotgtw .useCasesBand .useCasesGrid .useCaseCard{text-align:center;color:#fff}#iotgtw .useCasesBand .useCasesGrid .useCaseCard h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;margin-bottom:15px}#iotgtw .useCasesBand .useCasesGrid .useCaseCard p{font-size:.95rem;line-height:1.6;opacity:.9}#fbcm .introBand{padding:0}#fbcm .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#fbcm .introBand .introGrid{grid-template-columns:1fr}}#fbcm .introBand .introGrid .textBox{padding:60px;background:#fff}#fbcm .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#fbcm .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#fbcm .introBand .introGrid .textBox{padding:40px 20px}}#fbcm .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#fbcm .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#fbcm .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}@media(max-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{font-size:2rem;font-weight:700;text-transform:uppercase;letter-spacing:-.02em}#fbcm .paradigmBand{padding:80px 40px;background:#efeff0}@media(max-width:768px){#fbcm .paradigmBand{padding:60px 20px}}#fbcm .paradigmBand .comparisonGrid{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:900px;margin:0 auto 40px}@media(max-width:768px){#fbcm .paradigmBand .comparisonGrid{grid-template-columns:1fr}}#fbcm .paradigmBand .comparisonGrid .comparisonCard{padding:40px}#fbcm .paradigmBand .comparisonGrid .comparisonCard h3{font-size:1.2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px}#fbcm .paradigmBand .comparisonGrid .comparisonCard ul{list-style:none;padding:0;margin:0}#fbcm .paradigmBand .comparisonGrid .comparisonCard ul li{padding:10px 0;font-size:1rem;border-bottom:1px solid rgba(0,0,0,.1)}#fbcm .paradigmBand .comparisonGrid .comparisonCard ul li:last-child{border-bottom:none}#fbcm .paradigmBand .comparisonGrid .comparisonCard.traditional{background:#fff;color:var(--text-secondary, #555)}#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{max-width:800px;margin:0 auto;text-align:center;font-size:1.1rem;line-height:1.7;color:var(--text-secondary, #555)}#fbcm .howItWorksBand{padding:80px 40px;background:var(--primary-color, #de411b)}@media(max-width:768px){#fbcm .howItWorksBand{padding:60px 20px}}#fbcm .howItWorksBand .stepsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto}@media(max-width:1000px){#fbcm .howItWorksBand .stepsGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){#fbcm .howItWorksBand .stepsGrid{grid-template-columns:1fr}}#fbcm .howItWorksBand .stepsGrid .stepCard{background:#ffffff1a;padding:30px;color:#fff}#fbcm .howItWorksBand .stepsGrid .stepCard .stepNumber{display:block;font-size:2.5rem;font-weight:700;margin-bottom:15px;opacity:.5}#fbcm .howItWorksBand .stepsGrid .stepCard h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;margin-bottom:15px}#fbcm .howItWorksBand .stepsGrid .stepCard p{font-size:.95rem;line-height:1.6;opacity:.9}#fbcm .benefitsBand{padding:80px 40px;background:#fff}@media(max-width:768px){#fbcm .benefitsBand{padding:60px 20px}}#fbcm .benefitsBand .benefitsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto}@media(max-width:1000px){#fbcm .benefitsBand .benefitsGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){#fbcm .benefitsBand .benefitsGrid{grid-template-columns:1fr}}#fbcm .benefitsBand .benefitsGrid .benefitCard{padding:30px;background:#efeff0}#fbcm .benefitsBand .benefitsGrid .benefitCard h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;margin-bottom:15px;color:var(--primary-color, #de411b)}#fbcm .benefitsBand .benefitsGrid .benefitCard p{font-size:.95rem;line-height:1.6;color:var(--text-secondary, #555)}#fbcm .lifecycleBand{padding:80px 40px;background:var(--primary-color, #de411b)}@media(max-width:768px){#fbcm .lifecycleBand{padding:60px 20px}}#fbcm .lifecycleBand .lifecycleIntro{max-width:800px;margin:-30px auto 50px;text-align:center;font-size:1.1rem;line-height:1.7;color:#ffffffe6}#fbcm .lifecycleBand .lifecycleGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto}@media(max-width:1000px){#fbcm .lifecycleBand .lifecycleGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){#fbcm .lifecycleBand .lifecycleGrid{grid-template-columns:1fr}}#fbcm .lifecycleBand .lifecycleGrid .lifecycleCard{background:#ffffff1a;padding:30px;color:#fff;text-align:center}#fbcm .lifecycleBand .lifecycleGrid .lifecycleCard .lifecycleNumber{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:#fff;color:var(--primary-color, #de411b);font-size:1.5rem;font-weight:700;margin-bottom:20px}#fbcm .lifecycleBand .lifecycleGrid .lifecycleCard h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;margin-bottom:10px}#fbcm .lifecycleBand .lifecycleGrid .lifecycleCard .duration{display:block;font-size:.9rem;opacity:.7;margin-bottom:15px}#fbcm .lifecycleBand .lifecycleGrid .lifecycleCard p{font-size:.95rem;line-height:1.5;opacity:.9}#fbcm .audienceBand{padding:80px 40px;background:#efeff0}@media(max-width:768px){#fbcm .audienceBand{padding:60px 20px}}#fbcm .audienceBand .audienceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1000px;margin:0 auto}@media(max-width:900px){#fbcm .audienceBand .audienceGrid{grid-template-columns:1fr}}#fbcm .audienceBand .audienceGrid .audienceCard{background:#fff;padding:40px}#fbcm .audienceBand .audienceGrid .audienceCard h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;margin-bottom:15px;color:var(--primary-color, #de411b)}#fbcm .audienceBand .audienceGrid .audienceCard p{font-size:.95rem;line-height:1.6;color:var(--text-secondary, #555)}.home-hero.fwkPageBand{position:relative;overflow:hidden;min-height:70vh;width:100vw;margin-left:calc(-50vw + 50%)}.home-hero.fwkPageBand>.hero-bg{position:absolute;inset:0;z-index:0}.home-hero.fwkPageBand>.hero-bg img{width:100%;height:100%;object-fit:cover;display:block}.home-hero.fwkPageBand>.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ffffffd9,#fff9 40%,#fff3,#fff0)}.home-hero.fwkPageBand>.container-fluid{position:relative;z-index:1}.home-hero.fwkPageBand .hero-content{position:relative;min-height:70vh;padding:2rem}.home-hero.fwkPageBand #herotext{font-size:2.5rem;font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin-bottom:1.5rem}.home-hero.fwkPageBand #socialicons{display:flex;gap:1rem}@media(max-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{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;max-width:1200px;margin:0 auto;padding:0 40px;text-align:center}@media(max-width:900px){.stats-band .statsGrid{grid-template-columns:repeat(2,1fr);gap:40px 20px}}@media(max-width:500px){.stats-band .statsGrid{grid-template-columns:1fr;gap:30px}}.stats-band .statsGrid .statCard{color:#fff}.stats-band .statsGrid .statCard .statNumber{display:block;font-size:3rem;font-weight:700;line-height:1;margin-bottom:10px}@media(max-width:768px){.stats-band .statsGrid .statCard .statNumber{font-size:2.5rem}}.stats-band .statsGrid .statCard .statLabel{display:block;font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;opacity:.9}.offices-section .hero{width:100%}.offices-section #herotext{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;font-family:Roboto Condensed,Roboto,sans-serif;font-size:2.5rem;font-weight:700;color:#000;text-align:center;text-transform:uppercase;letter-spacing:-.02em;line-height:1.1}@media(max-width:768px){.offices-section #herotext{font-size:1.5rem;padding:0 20px}}.offices-section #offices{position:absolute;bottom:0;left:0;z-index:2;padding:20px 40px}@media(max-width:768px){.offices-section #offices{padding:20px}}.offices-section #offices h3{font-family:Roboto Condensed,Roboto,sans-serif;font-size:1.5rem;font-weight:700;color:#000;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:10px}.offices-section #offices .officeList{display:flex;flex-direction:row;column-gap:15px;flex-wrap:wrap;row-gap:10px}.offices-section #offices .officeList .office{color:#333;background:#ffffffe6;padding:8px 16px;border-radius:4px;text-decoration:none;font-weight:500;border-left:3px solid var(--primary-color, #de411b);transition:all .2s ease}.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{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#design .introBand .introGrid{grid-template-columns:1fr}}#design .introBand .introGrid .textBox{padding:60px;background:#fff}#design .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#design .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#design .introBand .introGrid .textBox{padding:40px 20px}}#design .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#design .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#design .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}#design .introBand .introGrid .quoteBox .author p{font-size:.9rem;font-weight:600}@media(max-width:768px){#design .introBand .introGrid .quoteBox{padding:40px 20px}}#design .contentBand{padding:0}#design .contentBand.alt .contentGrid .textContent{background:#fff}#design .contentBand .contentGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#design .contentBand .contentGrid{grid-template-columns:1fr}}@media(max-width:768px){#design .contentBand .contentGrid.reverse .contentImage{order:2}#design .contentBand .contentGrid.reverse .textContent{order:1}}#design .contentBand .contentGrid .textContent{padding:60px;background:#efeff0}#design .contentBand .contentGrid .textContent h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#design .contentBand .contentGrid .textContent p{font-size:1rem;line-height:1.7;margin-bottom:15px;color:var(--text-secondary, #555)}@media(max-width:768px){#design .contentBand .contentGrid .textContent{padding:40px 20px}}#contact .hero{min-height:300px}#contact #herotext{position:absolute;bottom:40px;left:40px;z-index:2;font-family:Roboto Condensed,Roboto,sans-serif;font-size:3rem;font-weight:700;color:var(--text-dark, #000000);text-transform:uppercase;letter-spacing:-.02em;line-height:1}#contact #herotext:before{content:"";display:block;width:60px;height:4px;background-color:var(--primary-color, #de411b);margin-bottom:15px}@media(max-width:768px){#contact #herotext{font-size:2rem;left:20px;bottom:30px}}#contact .introBand{padding:0}#contact .introBand .introContent{padding:60px;background:#fff;max-width:800px}#contact .introBand .introContent h2{font-family:Roboto Condensed,Roboto,sans-serif;font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em;color:var(--text-dark, #000000)}#contact .introBand .introContent p{font-family:Roboto,sans-serif;font-size:1rem;line-height:1.7;color:var(--text-secondary, #555)}@media(max-width:768px){#contact .introBand .introContent{padding:40px 20px}}#consultancy .contentGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#consultancy .contentGrid{grid-template-columns:1fr}}@media(max-width:768px){#consultancy .contentGrid.reverse .contentImage{order:2}#consultancy .contentGrid.reverse .textContent{order:1}}#consultancy .heroContent{max-width:700px}#consultancy .heroContent .tag{display:block;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;color:var(--primary-color, #de411b)}#consultancy .heroContent h1{font-size:3rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;line-height:1}#consultancy .heroContent .subtitle{font-size:1.2rem;font-weight:300}#consultancy .introBand{padding:0}#consultancy .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#consultancy .introBand .introGrid{grid-template-columns:1fr}}#consultancy .introBand .introGrid .textBox{padding:60px;background:#fff}#consultancy .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#consultancy .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555)}@media(max-width:768px){#consultancy .introBand .introGrid .textBox{padding:40px 20px}}#consultancy .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#consultancy .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#consultancy .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}#consultancy .introBand .introGrid .quoteBox .author p{font-size:.9rem;font-weight:600}@media(max-width:768px){#consultancy .introBand .introGrid .quoteBox{padding:40px 20px}}#consultancy .contentBand{padding:0}#consultancy .contentBand.alt .textContent{background:#fff}#consultancy .textContent{padding:60px;background:#efeff0}#consultancy .textContent h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#consultancy .textContent p{font-size:1rem;line-height:1.7;margin-bottom:15px;color:var(--text-secondary, #555)}@media(max-width:768px){#consultancy .textContent{padding:40px 20px}}#consultancy .engagementBand{padding:80px 40px;background:#efeff0}@media(max-width:768px){#consultancy .engagementBand{padding:60px 20px}}#consultancy .engagementBand .sectionHeader{text-align:center;margin-bottom:50px}#consultancy .engagementBand .sectionHeader h2{font-size:2rem;font-weight:700;text-transform:uppercase;letter-spacing:-.02em}#consultancy .engagementBand .engagementGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto}@media(max-width:1100px){#consultancy .engagementBand .engagementGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){#consultancy .engagementBand .engagementGrid{grid-template-columns:1fr}}#consultancy .engagementBand .engagementGrid .engagementCard{background:#fff;padding:30px}#consultancy .engagementBand .engagementGrid .engagementCard h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;margin-bottom:15px;color:var(--primary-color, #de411b)}#consultancy .engagementBand .engagementGrid .engagementCard p{font-size:.95rem;line-height:1.6;color:var(--text-secondary, #555);margin-bottom:20px}#consultancy .engagementBand .engagementGrid .engagementCard ul{list-style:none;padding:0;margin:0}#consultancy .engagementBand .engagementGrid .engagementCard ul li{padding:8px 0;font-size:.9rem;color:var(--text-secondary, #555);border-bottom:1px solid #eee}#consultancy .engagementBand .engagementGrid .engagementCard ul li:last-child{border-bottom:none}#agile .introBand{padding:0}#agile .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#agile .introBand .introGrid{grid-template-columns:1fr}}#agile .introBand .introGrid .textBox{padding:60px;background:#fff}#agile .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#agile .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555)}@media(max-width:768px){#agile .introBand .introGrid .textBox{padding:40px 20px}}#agile .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#agile .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#agile .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}#agile .introBand .introGrid .quoteBox .author p{font-size:.9rem;font-weight:600}@media(max-width:768px){#agile .introBand .introGrid .quoteBox{padding:40px 20px}}#agile .contentBand{padding:0}#agile .contentBand.alt .contentGrid .textContent{background:#fff}#agile .contentBand .contentGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#agile .contentBand .contentGrid{grid-template-columns:1fr}}@media(max-width:768px){#agile .contentBand .contentGrid.reverse .contentImage{order:2}#agile .contentBand .contentGrid.reverse .textContent{order:1}}#agile .contentBand .contentGrid .textContent{padding:60px;background:#efeff0}#agile .contentBand .contentGrid .textContent h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#agile .contentBand .contentGrid .textContent p{font-size:1rem;line-height:1.7;margin-bottom:15px;color:var(--text-secondary, #555)}@media(max-width:768px){#agile .contentBand .contentGrid .textContent{padding:40px 20px}}#about .introBand{padding:0}#about .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#about .introBand .introGrid{grid-template-columns:1fr}}#about .introBand .introGrid .textBox{padding:60px;background:#fff}#about .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#about .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:20px}#about .introBand .introGrid .textBox .readMore{display:inline-block;font-family:Roboto Condensed,Roboto,sans-serif;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;color:inherit;padding-bottom:2px;border-bottom:2px solid var(--primary-color, #de411b);transition:color .2s}#about .introBand .introGrid .textBox .readMore:hover{color:var(--primary-color, #de411b)}@media(max-width:768px){#about .introBand .introGrid .textBox{padding:40px 20px}}#about .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#about .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#about .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}#about .introBand .introGrid .quoteBox .author p{font-size:.9rem;font-weight:600}@media(max-width:768px){#about .introBand .introGrid .quoteBox{padding:40px 20px}}#about .contentBand{padding:0}#about .contentBand.alt .contentGrid .textContent{background:#fff}#about .contentBand .contentGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#about .contentBand .contentGrid{grid-template-columns:1fr}}@media(max-width:768px){#about .contentBand .contentGrid.reverse .contentImage{order:2}#about .contentBand .contentGrid.reverse .textContent{order:1}}#about .contentBand .contentGrid .textContent{padding:60px;background:#efeff0}#about .contentBand .contentGrid .textContent h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#about .contentBand .contentGrid .textContent p{font-size:1rem;line-height:1.7;margin-bottom:15px;color:var(--text-secondary, #555)}#about .contentBand .contentGrid .textContent .readMore{display:inline-block;font-family:Roboto Condensed,Roboto,sans-serif;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;color:inherit;padding-bottom:2px;border-bottom:2px solid var(--primary-color, #de411b);transition:color .2s}#about .contentBand .contentGrid .textContent .readMore:hover{color:var(--primary-color, #de411b)}@media(max-width:768px){#about .contentBand .contentGrid .textContent{padding:40px 20px}}#about .groupBand{padding:80px 40px;background:var(--primary-color, #de411b)}@media(max-width:768px){#about .groupBand{padding:60px 20px}}#about .groupBand .sectionHeader{text-align:center;margin-bottom:50px;color:#fff}#about .groupBand .sectionHeader h2{font-size:2rem;font-weight:700;text-transform:uppercase;letter-spacing:-.02em}#about .groupBand .groupGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1200px;margin:0 auto}@media(max-width:900px){#about .groupBand .groupGrid{grid-template-columns:1fr}}#about .groupBand .groupGrid .groupCard{background:#ffffff1a;padding:40px 30px;color:#fff;text-decoration:none;transition:background .3s,transform .2s}#about .groupBand .groupGrid .groupCard:hover{background:#fff3;transform:translateY(-5px)}#about .groupBand .groupGrid .groupCard h3{font-size:1.2rem;font-weight:700;text-transform:uppercase;margin-bottom:15px}#about .groupBand .groupGrid .groupCard p{font-size:.95rem;line-height:1.6;opacity:.9;margin-bottom:20px}#about .groupBand .groupGrid .groupCard .cardLink{display:inline-block;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #ffffff;padding-bottom:2px}#values .hero{min-height:300px}#values #herotext{position:absolute;bottom:40px;left:40px;z-index:2;font-family:Roboto Condensed,Roboto,sans-serif;font-size:3rem;font-weight:700;color:var(--text-dark, #000000);text-transform:uppercase;letter-spacing:-.02em;line-height:1}#values #herotext:before{content:"";display:block;width:60px;height:4px;background-color:var(--primary-color, #de411b);margin-bottom:15px}@media(max-width:768px){#values #herotext{font-size:2rem;left:20px;bottom:30px}}#values .introBand{padding:0}#values .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#values .introBand .introGrid{grid-template-columns:1fr}}#values .introBand .introGrid .textBox{padding:60px;background:#fff}#values .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#values .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#values .introBand .introGrid .textBox{padding:40px 20px}}#values .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#values .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#values .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}#values .introBand .introGrid .quoteBox .author p{font-size:.9rem;font-weight:600}@media(max-width:768px){#values .introBand .introGrid .quoteBox{padding:40px 20px}}#values .valuesBand{padding:0;background:#f7f7f8}#values .valuesBand .valuesGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}@media(max-width:992px){#values .valuesBand .valuesGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:576px){#values .valuesBand .valuesGrid{grid-template-columns:1fr}}#values .valuesBand .valuesGrid .valueCard{padding:40px;background:#efeff0;min-height:200px}#values .valuesBand .valuesGrid .valueCard.dark{background:#64666d;color:#fff}#values .valuesBand .valuesGrid .valueCard.dark p{color:#ffffffe6}@media(min-width:993px){#values .valuesBand .valuesGrid .valueCard:nth-child(4),#values .valuesBand .valuesGrid .valueCard:nth-child(5){grid-column:span 1}}#values .valuesBand .valuesGrid .valueCard h3{font-size:1.5rem;font-weight:700;text-transform:uppercase;margin-bottom:15px;letter-spacing:-.02em}#values .valuesBand .valuesGrid .valueCard p{font-size:.95rem;line-height:1.6;color:var(--text-secondary, #555)}#story{margin-bottom:30px}#story .introBand{padding:0}#story .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#story .introBand .introGrid{grid-template-columns:1fr}}#story .introBand .introGrid .textBox{padding:60px;background:#fff}#story .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#story .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#story .introBand .introGrid .textBox{padding:40px 20px}}#story .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#story .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#story .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}#story .introBand .introGrid .quoteBox .author p{font-size:.9rem;font-weight:600}@media(max-width:768px){#story .introBand .introGrid .quoteBox{padding:40px 20px}}#story .contentBand{padding:0}#story .contentBand.alt .contentGrid .textContent{background:#fff}#story .contentBand .contentGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#story .contentBand .contentGrid{grid-template-columns:1fr}}@media(max-width:768px){#story .contentBand .contentGrid.reverse .contentImage{order:2}#story .contentBand .contentGrid.reverse .textContent{order:1}}#story .contentBand .contentGrid .textContent{padding:60px;background:#efeff0}#story .contentBand .contentGrid .textContent h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#story .contentBand .contentGrid .textContent p{font-size:1rem;line-height:1.7;margin-bottom:15px;color:var(--text-secondary, #555)}@media(max-width:768px){#story .contentBand .contentGrid .textContent{padding:40px 20px}}#itServices .introBand,#retailSolutions .introBand,#labs .introBand{padding:0}#itServices .introBand .introGrid,#retailSolutions .introBand .introGrid,#labs .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#itServices .introBand .introGrid,#retailSolutions .introBand .introGrid,#labs .introBand .introGrid{grid-template-columns:1fr}}#itServices .introBand .introGrid .textBox,#retailSolutions .introBand .introGrid .textBox,#labs .introBand .introGrid .textBox{padding:60px;background:#fff}#itServices .introBand .introGrid .textBox h2,#retailSolutions .introBand .introGrid .textBox h2,#labs .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#itServices .introBand .introGrid .textBox p,#retailSolutions .introBand .introGrid .textBox p,#labs .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}#itServices .introBand .introGrid .textBox .visitSite,#retailSolutions .introBand .introGrid .textBox .visitSite,#labs .introBand .introGrid .textBox .visitSite{display:inline-block;margin-top:10px;color:var(--primary-color, #de411b);font-weight:600;text-decoration:none;text-transform:uppercase;font-size:.9rem;letter-spacing:.05em}#itServices .introBand .introGrid .textBox .visitSite:hover,#retailSolutions .introBand .introGrid .textBox .visitSite:hover,#labs .introBand .introGrid .textBox .visitSite:hover{text-decoration:underline}@media(max-width:768px){#itServices .introBand .introGrid .textBox,#retailSolutions .introBand .introGrid .textBox,#labs .introBand .introGrid .textBox{padding:40px 20px}}#itServices .introBand .introGrid .quoteBox,#retailSolutions .introBand .introGrid .quoteBox,#labs .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#itServices .introBand .introGrid .quoteBox .quote,#retailSolutions .introBand .introGrid .quoteBox .quote,#labs .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#itServices .introBand .introGrid .quoteBox .author h4,#retailSolutions .introBand .introGrid .quoteBox .author h4,#labs .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}@media(max-width:768px){#itServices .introBand .introGrid .quoteBox,#retailSolutions .introBand .introGrid .quoteBox,#labs .introBand .introGrid .quoteBox{padding:40px 20px}}#itServices .sectionHeader,#retailSolutions .sectionHeader,#labs .sectionHeader{text-align:center;margin-bottom:50px}#itServices .sectionHeader.light,#retailSolutions .sectionHeader.light,#labs .sectionHeader.light{color:#fff}#itServices .sectionHeader h2,#retailSolutions .sectionHeader h2,#labs .sectionHeader h2{font-size:2rem;font-weight:700;text-transform:uppercase;letter-spacing:-.02em}#itServices .servicesBand,#retailSolutions .servicesBand,#labs .servicesBand{padding:80px 40px;background:#efeff0}@media(max-width:768px){#itServices .servicesBand,#retailSolutions .servicesBand,#labs .servicesBand{padding:60px 20px}}#itServices .servicesBand .servicesGrid,#retailSolutions .servicesBand .servicesGrid,#labs .servicesBand .servicesGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto}@media(max-width:1000px){#itServices .servicesBand .servicesGrid,#retailSolutions .servicesBand .servicesGrid,#labs .servicesBand .servicesGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){#itServices .servicesBand .servicesGrid,#retailSolutions .servicesBand .servicesGrid,#labs .servicesBand .servicesGrid{grid-template-columns:1fr}}#itServices .servicesBand .servicesGrid .serviceCard,#retailSolutions .servicesBand .servicesGrid .serviceCard,#labs .servicesBand .servicesGrid .serviceCard{background:#fff;padding:30px}#itServices .servicesBand .servicesGrid .serviceCard h3,#retailSolutions .servicesBand .servicesGrid .serviceCard h3,#labs .servicesBand .servicesGrid .serviceCard h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;margin-bottom:15px;color:var(--primary-color, #de411b)}#itServices .servicesBand .servicesGrid .serviceCard p,#retailSolutions .servicesBand .servicesGrid .serviceCard p,#labs .servicesBand .servicesGrid .serviceCard p{font-size:.95rem;line-height:1.6;color:var(--text-secondary, #555)}#itServices .whyUsBand,#retailSolutions .whyUsBand,#labs .whyUsBand{padding:80px 40px;background:var(--primary-color, #de411b)}@media(max-width:768px){#itServices .whyUsBand,#retailSolutions .whyUsBand,#labs .whyUsBand{padding:60px 20px}}#itServices .whyUsBand .whyUsGrid,#retailSolutions .whyUsBand .whyUsGrid,#labs .whyUsBand .whyUsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1200px;margin:0 auto}@media(max-width:1000px){#itServices .whyUsBand .whyUsGrid,#retailSolutions .whyUsBand .whyUsGrid,#labs .whyUsBand .whyUsGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){#itServices .whyUsBand .whyUsGrid,#retailSolutions .whyUsBand .whyUsGrid,#labs .whyUsBand .whyUsGrid{grid-template-columns:1fr}}#itServices .whyUsBand .whyUsGrid .whyUsCard,#retailSolutions .whyUsBand .whyUsGrid .whyUsCard,#labs .whyUsBand .whyUsGrid .whyUsCard{text-align:center;color:#fff}#itServices .whyUsBand .whyUsGrid .whyUsCard h3,#retailSolutions .whyUsBand .whyUsGrid .whyUsCard h3,#labs .whyUsBand .whyUsGrid .whyUsCard h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;margin-bottom:15px}#itServices .whyUsBand .whyUsGrid .whyUsCard p,#retailSolutions .whyUsBand .whyUsGrid .whyUsCard p,#labs .whyUsBand .whyUsGrid .whyUsCard p{font-size:.95rem;line-height:1.6;opacity:.9}#itServices .productsBand,#retailSolutions .productsBand,#labs .productsBand{padding:80px 40px;background:var(--primary-color, #de411b)}@media(max-width:768px){#itServices .productsBand,#retailSolutions .productsBand,#labs .productsBand{padding:60px 20px}}#itServices .productsBand .productsGrid,#retailSolutions .productsBand .productsGrid,#labs .productsBand .productsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1000px;margin:0 auto}@media(max-width:900px){#itServices .productsBand .productsGrid,#retailSolutions .productsBand .productsGrid,#labs .productsBand .productsGrid{grid-template-columns:1fr}}#itServices .productsBand .productsGrid .productCard,#retailSolutions .productsBand .productsGrid .productCard,#labs .productsBand .productsGrid .productCard{background:#ffffff1a;padding:30px;color:#fff}#itServices .productsBand .productsGrid .productCard h3,#retailSolutions .productsBand .productsGrid .productCard h3,#labs .productsBand .productsGrid .productCard h3{font-size:1.3rem;font-weight:700;text-transform:uppercase;margin-bottom:15px}#itServices .productsBand .productsGrid .productCard p,#retailSolutions .productsBand .productsGrid .productCard p,#labs .productsBand .productsGrid .productCard p{font-size:.95rem;line-height:1.6;margin-bottom:20px;opacity:.9}#itServices .productsBand .productsGrid .productCard .productLink,#retailSolutions .productsBand .productsGrid .productCard .productLink,#labs .productsBand .productsGrid .productCard .productLink{display:inline-block;color:#fff;font-weight:600;text-decoration:none;text-transform:uppercase;font-size:.9rem;letter-spacing:.05em;border-bottom:2px solid #ffffff;padding-bottom:2px}#itServices .productsBand .productsGrid .productCard .productLink:hover,#retailSolutions .productsBand .productsGrid .productCard .productLink:hover,#labs .productsBand .productsGrid .productCard .productLink:hover{opacity:.8}#itServices .contactBand,#retailSolutions .contactBand,#labs .contactBand{padding:80px 40px;background:#fff}@media(max-width:768px){#itServices .contactBand,#retailSolutions .contactBand,#labs .contactBand{padding:60px 20px}}#itServices .contactBand .contactGrid,#retailSolutions .contactBand .contactGrid,#labs .contactBand .contactGrid{max-width:800px;margin:0 auto}#itServices .contactBand .contactGrid .contactInfo h2,#retailSolutions .contactBand .contactGrid .contactInfo h2,#labs .contactBand .contactGrid .contactInfo h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:30px;letter-spacing:-.02em}#itServices .contactBand .contactGrid .contactInfo p,#retailSolutions .contactBand .contactGrid .contactInfo p,#labs .contactBand .contactGrid .contactInfo p{font-size:1rem;line-height:1.8;color:var(--text-secondary, #555);margin-bottom:10px}#itServices .contactBand .contactGrid .contactInfo p a,#retailSolutions .contactBand .contactGrid .contactInfo p a,#labs .contactBand .contactGrid .contactInfo p a{color:var(--primary-color, #de411b);text-decoration:none}#itServices .contactBand .contactGrid .contactInfo p a:hover,#retailSolutions .contactBand .contactGrid .contactInfo p a:hover,#labs .contactBand .contactGrid .contactInfo p a:hover{text-decoration:underline}#itServices .contactBand .contactGrid .contactInfo .visitSite,#retailSolutions .contactBand .contactGrid .contactInfo .visitSite,#labs .contactBand .contactGrid .contactInfo .visitSite{display:inline-block;margin-top:20px;color:var(--primary-color, #de411b);font-weight:600;text-decoration:none;text-transform:uppercase;font-size:.9rem;letter-spacing:.05em}#itServices .contactBand .contactGrid .contactInfo .visitSite:hover,#retailSolutions .contactBand .contactGrid .contactInfo .visitSite:hover,#labs .contactBand .contactGrid .contactInfo .visitSite:hover{text-decoration:underline}#caseStudies .introBand{padding:0}#caseStudies .introBand .introGrid{display:grid;grid-template-columns:1fr 1fr}@media(max-width:768px){#caseStudies .introBand .introGrid{grid-template-columns:1fr}}#caseStudies .introBand .introGrid .textBox{padding:60px;background:#fff}#caseStudies .introBand .introGrid .textBox h2{font-size:2rem;font-weight:700;text-transform:uppercase;margin-bottom:20px;letter-spacing:-.02em}#caseStudies .introBand .introGrid .textBox p{font-size:1rem;line-height:1.7;color:var(--text-secondary, #555);margin-bottom:15px}@media(max-width:768px){#caseStudies .introBand .introGrid .textBox{padding:40px 20px}}#caseStudies .introBand .introGrid .quoteBox{padding:60px;background:var(--primary-color, #de411b);color:#fff;display:flex;flex-direction:column;justify-content:center}#caseStudies .introBand .introGrid .quoteBox .quote{font-family:Roboto,sans-serif;font-size:1.25rem;line-height:1.6;margin-bottom:30px;font-weight:400}#caseStudies .introBand .introGrid .quoteBox .author h4{font-size:1.1rem;font-weight:700;margin-bottom:5px}@media(max-width:768px){#caseStudies .introBand .introGrid .quoteBox{padding:40px 20px}}#caseStudies .caseStudiesBand{padding:0}#caseStudies .caseStudiesBand .caseStudyCard{padding:60px;background:#efeff0;border-bottom:1px solid #e0e0e0}#caseStudies .caseStudiesBand .caseStudyCard.alt{background:#fff}@media(max-width:768px){#caseStudies .caseStudiesBand .caseStudyCard{padding:40px 20px}}#caseStudies .caseStudiesBand .caseStudyCard .category{display:inline-block;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--primary-color, #de411b);margin-bottom:10px}#caseStudies .caseStudiesBand .caseStudyCard h2{font-size:1.75rem;font-weight:700;text-transform:uppercase;margin-bottom:10px;letter-spacing:-.02em}#caseStudies .caseStudiesBand .caseStudyCard .client{font-size:1.1rem;color:var(--text-secondary, #555);margin-bottom:30px;font-style:italic}#caseStudies .caseStudiesBand .caseStudyCard .caseStudyContent{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}@media(max-width:1000px){#caseStudies .caseStudiesBand .caseStudyCard .caseStudyContent{grid-template-columns:1fr;gap:30px}}#caseStudies .caseStudiesBand .caseStudyCard .caseStudyContent .section h3{font-size:1rem;font-weight:700;text-transform:uppercase;margin-bottom:15px;color:var(--primary-color, #de411b)}#caseStudies .caseStudiesBand .caseStudyCard .caseStudyContent .section p{font-size:.95rem;line-height:1.7;color:var(--text-secondary, #555)}#caseStudies .caseStudiesBand .caseStudyCard .caseStudyContent .section.outcomes ul{list-style:none;padding:0;margin:0}#caseStudies .caseStudiesBand .caseStudyCard .caseStudyContent .section.outcomes ul li{position:relative;padding-left:20px;margin-bottom:12px;font-size:.95rem;line-height:1.5;color:var(--text-secondary, #555)}#caseStudies .caseStudiesBand .caseStudyCard .caseStudyContent .section.outcomes ul li:before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;background:var(--primary-color, #de411b)}.fwkTextFieldX[type=search] .searchbox{display:flex;flex-wrap:nowrap;align-items:center;position:relative;width:100%}.fwkTextFieldX[type=search] .searchbox input{flex:1;min-width:0}.fwkTextFieldX[type=search] .searchbox input::-webkit-search-cancel-button,.fwkTextFieldX[type=search] .searchbox input::-webkit-search-decoration,.fwkTextFieldX[type=search] .searchbox input::-ms-clear{display:none}.fwkTextFieldX[type=search] .searchbox .search-icons{display:flex;align-items:center;gap:.25rem;margin-left:.25rem}.fwkTextFieldX[type=search] .searchbox .search-icons .clear-button{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:.25rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;color:var(--accent-colour)}.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{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--paper-colour, #ffffff);border:1px solid var(--border-light, rgba(0, 0, 0, .1));border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-lg, 0 10px 25px rgba(0, 0, 0, .15));z-index:1000;max-height:300px;overflow-y:auto}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-loading,.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--text-muted, #6b7280);font-size:.9rem}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-list{list-style:none;margin:0;padding:4px 0}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-list .search-dropdown-item{padding:10px 14px;cursor:pointer;transition:background .15s ease;color:var(--colour-text, #1f2937);display:flex;align-items:center;gap:10px}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-list .search-dropdown-item:hover{background:var(--accent-colour-faint, rgba(59, 130, 246, .1))}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-list .search-dropdown-item .search-result-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-list .search-dropdown-item .search-result-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:var(--paper-colour-1, #f3f4f6);display:flex;align-items:center;justify-content:center;flex-shrink:0}.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{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fwkTextFieldX[type=search] .searchbox .search-dropdown .search-dropdown-list .search-dropdown-item .search-result-info .search-result-subtitle{font-size:.8rem;color:var(--text-muted, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.react-tel-input{width:100%!important;font-family:inherit;font-size:inherit!important}.react-tel-input .form-control{width:100%!important;font-size:inherit!important;font-family:inherit!important;border:1px solid #ddd!important;border-radius:4px!important}.react-tel-input .form-control:focus{outline:none!important;border-color:var(--selected-colour)!important;box-shadow:0 0 0 2px #007bff1a!important}.react-tel-input .form-control:disabled{background-color:var(--input-background)!important;cursor:not-allowed!important;opacity:.6}.react-tel-input .flag-dropdown{background-color:#fff!important;border:1px solid #ddd!important;border-right:none!important;border-radius:4px 0 0 4px!important}.react-tel-input .flag-dropdown:hover{background-color:#f8f9fa!important}.react-tel-input .flag-dropdown:focus{outline:none!important;box-shadow:0 0 0 2px #007bff1a!important}.react-tel-input .flag-dropdown.disabled{background-color:var(--input-background)!important;cursor:not-allowed!important;opacity:.6}.react-tel-input .flag-dropdown.disabled .selected-flag{cursor:not-allowed!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:#666 transparent transparent!important;margin-left:4px!important}.react-tel-input .flag-dropdown .selected-flag .arrow.up{border-color:transparent transparent #666!important}.react-tel-input .country-list{width:300px!important;max-height:300px!important;box-shadow:0 2px 8px #00000026!important;border:1px solid #ddd!important;border-radius:4px!important;margin-top:2px!important}.react-tel-input .country-list .search{padding:10px!important;border:none!important;border-bottom:1px solid #ddd!important}.react-tel-input .country-list .search .search-box{border:1px solid #ddd!important;border-radius:4px!important;padding:6px 10px!important;font-size:inherit!important;width:100%!important}.react-tel-input .country-list .search .search-box:focus{outline:none!important;border-color:var(--selected-colour)!important}.react-tel-input .country-list .country{padding:8px 10px!important;font-size:inherit!important}.react-tel-input .country-list .country:hover{background-color:#f8f9fa!important}.react-tel-input .country-list .country.highlight{background-color:var(--selected-colour)!important;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:#666!important}.fwkTextFieldX[type=phone] .control{height:calc(var(--textfield-min-height) + var(--textfield-padding-y) * 2)!important;padding:0;overflow:hidden}.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{display:flex!important;align-items:center!important}.note{border:1px solid #ddd;border-radius:4px;margin-bottom:10px;background-color:#fff;color:#000}.note .toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:#f8f9fa;border-bottom:1px solid #ddd;font-size:.9em;color:#666}.note .toolbar .buttons{display:flex;gap:4px}.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{background-color:#f8f9fa;color:#495057}.mdeditor-input-container{width:100%;height:100%;display:flex;flex-direction:column}.mdeditor-input-container .mdeditor-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;border:1px solid var(--border-color, #ddd);border-radius:6px;background:var(--bg-secondary, white);color:var(--text-secondary, #666);gap:12px}.mdeditor-input-container .mdeditor-loading .loading-spinner{font-size:24px;color:var(--accent-color, #4a90d9)}.mdeditor-input-container .mdeditor-loading span{font-size:14px}.mdeditor-input-container.editing{min-height:300px}.mdeditor-input-container.editing .mdxeditor{flex:1;display:flex;flex-direction:column;border:1px solid var(--border-color, #ddd);border-radius:6px;overflow:hidden}.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar{background:var(--bg-tertiary, #f5f5f5);border-bottom:1px solid var(--border-color, #ddd);padding:4px 8px;flex-shrink:0;flex-wrap:wrap;gap:2px}.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar button,.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar [role=button]{background:transparent;border:none;border-radius:4px;padding:6px 8px;color:var(--text-secondary, #666);cursor:pointer;transition:all .15s ease}.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar button:hover,.mdeditor-input-container.editing .mdxeditor .mdxeditor-toolbar [role=button]:hover{background:var(--bg-hover, rgba(0, 0, 0, .05));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]{width:1px;height:24px;background:var(--border-color, #ddd);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);border-radius:4px;padding:4px 8px;font-size:13px;color:var(--text-primary, #333);cursor:pointer}.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{outline:none;border-color:var(--accent-color, #4a90d9)}.mdeditor-input-container.editing .mdxeditor .mdxeditor-root-contenteditable{flex:1;overflow-y:auto;min-height:200px}.mdeditor-input-container.editing .mdxeditor .mdeditor-content{padding:16px;min-height:200px;outline:none;line-height:1.7;color:var(--text-primary, #333);font-size:15px}.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{margin-top:1.5em;margin-bottom:.5em;color:var(--text-primary, #222);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);padding:2px 6px;border-radius:4px;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);padding:12px;border-radius:6px;overflow-x:auto;line-height:1.5;margin:1em 0}.mdeditor-input-container.editing .mdxeditor .mdeditor-content pre code{background:none;padding:0;font-size:13px}.mdeditor-input-container.editing .mdxeditor .mdeditor-content blockquote{border-left:4px solid var(--accent-color, #4a90d9);margin:1em 0;padding:.5em 1em;background:var(--bg-tertiary, #f9f9f9);color:var(--text-secondary, #666)}.mdeditor-input-container.editing .mdxeditor .mdeditor-content ul,.mdeditor-input-container.editing .mdxeditor .mdeditor-content ol{padding-left:1.5em;margin:.75em 0}.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{width:100%;border-collapse:collapse;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);padding:8px 12px;text-align:left}.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{max-width:100%;border-radius:6px}.mdeditor-input-container.locked{flex:1;min-height:0;position:relative}.mdeditor-input-container.locked .markdown-content{position:absolute;inset:0;padding:12px;background:var(--bg-secondary, white);border:1px solid var(--border-color, #ddd);border-radius:4px;overflow-y:auto;line-height:1.7;color:var(--text-primary, #333)}.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{margin-top:1.5em;margin-bottom:.5em;color:var(--text-primary, #222)}.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{font-size:1.75em;border-bottom:2px solid var(--border-color, #eee);padding-bottom:.3em}.mdeditor-input-container.locked .markdown-content h2{font-size:1.4em;border-bottom:1px solid var(--border-color, #eee);padding-bottom:.2em}.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);padding:2px 6px;border-radius:4px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em}.mdeditor-input-container.locked .markdown-content pre{background:var(--bg-code, #f5f5f5);padding:12px;border-radius:6px;overflow-x:auto;line-height:1.5;margin:1em 0}.mdeditor-input-container.locked .markdown-content pre code{background:none;padding:0;font-size:13px}.mdeditor-input-container.locked .markdown-content blockquote{border-left:4px solid var(--accent-color, #4a90d9);margin:1em 0;padding:.5em 1em;background:var(--bg-tertiary, #f9f9f9);color:var(--text-secondary, #666)}.mdeditor-input-container.locked .markdown-content table{width:100%;border-collapse:collapse;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);padding:8px 12px;text-align:left}.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{padding-left:2em;margin:1em 0}.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{max-width:100%;border-radius:6px}.markdown-input-container{width:100%;height:100%;min-height:200px;display:flex;flex-direction:column}.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{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px}.markdown-input-container .markdown-toolbar.fwkToolBar .toolbar-label .encoding-label{font-size:10px;font-weight:400;text-transform:none;color:var(--text-secondary, #999);font-style:italic}.markdown-input-container .markdown-toolbar.fwkToolBar .toolbar-label .encoding-label.migrated{color:var(--info-colour, #0288d1);background:var(--info-bg, #e3f2fd);padding:2px 6px;border-radius:3px;font-style:normal}.markdown-input-container .markdown-editor-wrapper{display:flex;gap:0;border:1px solid var(--border-color, #ddd);border-radius:0 0 4px 4px;overflow:hidden;flex:1;min-height:0}.markdown-input-container .markdown-editor-wrapper.with-preview .markdown-editor-pane{width:50%;border-right:1px solid var(--border-color, #ddd)}.markdown-input-container .markdown-editor-wrapper.with-preview .markdown-preview-pane{width:50%}.markdown-input-container .markdown-editor-pane{width:100%;display:flex;flex-direction:column}.markdown-input-container .markdown-editor-pane .markdown-textarea{width:100%;height:100%!important;flex:1;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.5;padding:12px;border:none;resize:none;box-sizing:border-box;background:var(--bg-secondary, white);color:var(--text-primary, #333)}.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{display:flex;flex-direction:column;background:var(--bg-secondary, white);overflow:hidden}.markdown-input-container .markdown-preview-pane .preview-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #999);padding:8px 12px;background:var(--bg-tertiary, #fafafa);border-bottom:1px solid var(--border-color, #eee);flex-shrink:0}.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{padding:8px 12px;background:var(--bg-tertiary, #f9f9f9);border:1px solid var(--border-color, #ddd);border-top:none;border-radius:0 0 4px 4px;flex-shrink:0}.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{padding:12px;background:var(--bg-secondary, white);border:1px solid var(--border-color, #ddd);border-radius:4px;overflow-y:auto;max-height:100%}.markdown-input-container .markdown-content{line-height:1.7;color:var(--text-primary, #333)}.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{margin-top:1.5em;margin-bottom:.5em;color:var(--text-primary, #222);border-bottom:none;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{font-size:1.75em;border-bottom:2px solid var(--border-color, #eee);padding-bottom:.3em}.markdown-input-container .markdown-content h2{font-size:1.4em;border-bottom:1px solid var(--border-color, #eee);padding-bottom:.2em}.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);padding:2px 6px;border-radius:4px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em}.markdown-input-container .markdown-content pre{background:var(--bg-code, #f5f5f5);padding:12px;border-radius:6px;overflow-x:auto;line-height:1.5;margin:1em 0}.markdown-input-container .markdown-content pre code{background:none;padding:0;font-size:13px}.markdown-input-container .markdown-content blockquote{border-left:4px solid var(--accent-color, #4a90d9);margin:1em 0;padding:.5em 1em;background:var(--bg-tertiary, #f9f9f9);color:var(--text-secondary, #666)}.markdown-input-container .markdown-content table{width:100%;border-collapse:collapse;margin:1em 0}.markdown-input-container .markdown-content table th,.markdown-input-container .markdown-content table td{border:1px solid var(--border-color, #ddd);padding:8px 12px;text-align:left}.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{padding-left:2em;margin:1em 0}.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{list-style:none;padding-left:1.5em}.markdown-input-container .markdown-content ul.contains-task-list li.task-list-item{display:flex;align-items:flex-start;gap:8px}.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{max-width:100%;border-radius:6px}.markdown-input-container .markdown-content del{color:var(--text-secondary, #999)}.markdown-help-modal{padding:20px;overflow-y:auto;max-height:calc(80vh - 80px)}.markdown-help-modal h1{font-size:1.5em;margin-top:0;margin-bottom:1em;padding-bottom:.5em;border-bottom:2px solid var(--border-color, #eee);color:var(--text-primary, #333)}.markdown-help-modal h2{font-size:1.2em;margin-top:1.5em;margin-bottom:.5em;color:var(--text-primary, #444)}.markdown-help-modal p{margin:.5em 0;line-height:1.6}.markdown-help-modal table{width:100%;border-collapse:collapse;margin:1em 0;font-size:14px}.markdown-help-modal table th,.markdown-help-modal table td{border:1px solid var(--border-color, #ddd);padding:8px 12px;text-align:left}.markdown-help-modal table th{background:var(--bg-tertiary, #f5f5f5);font-weight:600}.markdown-help-modal table code{background:var(--bg-code, #f0f0f0);padding:2px 4px;border-radius:3px;font-size:12px}.markdown-help-modal pre{background:var(--bg-code, #f5f5f5);padding:12px;border-radius:6px;overflow-x:auto;font-size:13px;line-height:1.4;margin:.5em 0}.markdown-help-modal pre code{background:none;padding:0}.markdown-help-modal code{background:var(--bg-code, #f0f0f0);padding:2px 6px;border-radius:3px;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)}.excel-renderer{width:100%;max-width:100%;height:100%;display:flex;flex-direction:column;background:var(--paper-colour);border:1px solid var(--border-colour);border-radius:4px;overflow:hidden;box-sizing:border-box}.excel-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-muted);border-bottom:1px solid var(--border-colour)}.excel-header .file-info{display:flex;align-items:center;gap:.5rem}.excel-header .file-info .file-name{font-weight:500;color:var(--colour-text)}.excel-header .sheet-tabs{display:flex;gap:.25rem}.excel-header .sheet-tabs .sheet-tab{padding:.375rem .75rem;background:var(--bg-muted);border:1px solid var(--border-colour);border-radius:4px 4px 0 0;font-size:12px;cursor:pointer;transition:all .2s ease}.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);font-weight:500;color:var(--accent-colour)}.excel-content{flex:1;overflow:hidden;width:100%}.excel-content .spreadsheet-container{overflow:auto;max-height:600px;width:100%;box-sizing:border-box}.excel-content .spreadsheet-container .excel-table{width:auto;min-width:100%;border-collapse:collapse;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:13px;table-layout:auto}.excel-content .spreadsheet-container .excel-table .row-number{background:var(--bg-muted);border:1px solid var(--border-colour);padding:.25rem .5rem;text-align:center;font-weight:500;color:var(--text-muted);min-width:40px;position:sticky;left:0;z-index:2}.excel-content .spreadsheet-container .excel-table .excel-cell{border:1px solid var(--border-colour);padding:.375rem .5rem;min-width:60px;max-width:150px;word-wrap:break-word;word-break:break-word;vertical-align:top;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.excel-content .spreadsheet-container .excel-table .excel-cell:hover{white-space:normal;word-wrap:break-word;max-width:none;position:relative;z-index:10;background:var(--paper-colour);box-shadow:0 2px 8px #0000001a}.excel-content .spreadsheet-container .excel-table .excel-cell.header-cell{background:var(--bg-muted);font-weight:500;color:var(--colour-text)}.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{position:sticky;top:0;z-index:1}.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{padding:.5rem 1rem;background:var(--bg-muted);border-top:1px solid var(--border-colour);font-size:12px;color:var(--text-muted)}.excel-footer .sheet-info{display:flex;align-items:center;gap:1rem}.excel-loading,.excel-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.excel-loading .loading-spinner,.excel-error .loading-spinner{width:32px;height:32px;border:3px solid var(--border-colour);border-top:3px solid var(--accent-colour);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.excel-loading p,.excel-error p{color:var(--text-muted);margin:0}.excel-error p{color:var(--error-colour)}.debug-info{margin-top:1rem;text-align:left}.debug-info details{border:1px solid var(--border-colour);border-radius:4px;padding:.5rem}.debug-info details summary{cursor:pointer;font-weight:500;margin-bottom:.5rem}.debug-info details p{font-size:12px;margin:.25rem 0;color:var(--text-muted)}.document-preview-container{width:100%;max-width:100%;height:100%;position:relative;overflow:hidden;box-sizing:border-box}.document-preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.document-preview-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--border-colour);border-top:3px solid var(--accent-colour);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.document-preview-loading p{color:var(--text-muted);font-size:14px;margin:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.document-preview-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.document-preview-error .error-message{color:var(--error-colour);font-size:14px;margin:1rem 0}.document-preview-error .retry-button{background:var(--accent-colour);color:var(--text-inverse);border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:14px}.document-preview-error .retry-button:hover{background:var(--accent-colour-light)}.native-preview{width:100%;max-width:100%;height:100%;overflow:hidden;box-sizing:border-box}.office-online-preview,.google-docs-preview{width:100%;max-width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.office-online-preview .preview-header,.google-docs-preview .preview-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-bottom:1px solid var(--border-colour);background:var(--bg-muted)}.office-online-preview .preview-header .file-info,.google-docs-preview .preview-header .file-info{display:flex;align-items:center;gap:.5rem}.office-online-preview .preview-header .preview-actions,.google-docs-preview .preview-header .preview-actions{display:flex;gap:.5rem}.office-online-preview iframe,.google-docs-preview iframe{flex:1;width:100%;min-height:500px}.download-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;border:2px dashed var(--border-colour);border-radius:8px;background:var(--bg-muted)}.download-prompt .document-info{margin:1rem 0}.download-prompt .document-info h3{margin:0 0 .5rem;color:var(--colour-text);font-size:16px;font-weight:600}.download-prompt .document-info .file-type{color:var(--text-muted);font-size:14px;margin:.25rem 0}.download-prompt .document-info .file-size{color:var(--text-muted);font-size:12px;margin:.25rem 0}.download-prompt .document-info .preview-message{color:var(--text-muted);font-size:13px;margin:1rem 0;font-style:italic}.download-prompt .action-buttons{display:flex;gap:1rem;margin-top:1rem}.download-prompt .action-buttons button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.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{display:flex;flex-direction:column;align-items:center;padding:1rem}.document-icon-container .icon-wrapper{margin-bottom:.5rem}.document-icon-container .file-info{text-align:center}.document-icon-container .file-info .file-name{font-size:14px;font-weight:500;color:var(--colour-text);margin:.25rem 0;word-break:break-word;max-width:200px}.document-icon-container .file-info .file-extension{font-size:12px;color:var(--text-muted);margin:0;text-transform:uppercase}@media(max-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;font-size:12px;padding:.25rem .375rem}.excel-renderer .excel-content .spreadsheet-container .excel-table .row-number{min-width:30px;font-size:11px;padding:.25rem .375rem}.download-prompt{padding:1rem}.download-prompt .action-buttons{flex-direction:column;width:100%}.download-prompt .action-buttons button{width:100%;justify-content:center}.office-online-preview iframe,.google-docs-preview iframe{min-height:400px}}.image-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:100px}.image-preview__img{max-width:100%;max-height:100%;object-fit:contain}.image-preview--thumbnail{width:100%;height:100%}.image-preview--thumbnail .image-preview__img{width:100%;height:100%;object-fit:cover}.image-preview--loading,.image-preview--error,.image-preview--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;color:#666}.image-preview--loading i,.image-preview--error i,.image-preview--empty i{font-size:48px;opacity:.5}.image-preview--loading i{font-size:24px;opacity:1}.image-preview__error-detail{font-size:12px;color:#999;margin-top:4px}.video-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:100px;background-color:#1a1a1a}.video-preview__video{max-width:100%;max-height:100%;object-fit:contain}.video-preview__play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.video-preview__play-overlay i{font-size:36px;color:#fffc;text-shadow:0 1px 4px rgba(0,0,0,.5)}.video-preview--thumbnail{position:relative;width:100%;height:100%}.video-preview--thumbnail .video-preview__video{width:100%;height:100%;object-fit:cover}.video-preview--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;color:#666}.video-preview--empty i{font-size:48px;opacity:.5}.fwkTextFieldX[type=file]{height:100%;width:100%}.fwkTextFieldX[type=file] .fileInput{width:100%;align-content:center;height:100%}.fwkTextFieldX[type=file] .fileInputContainer{display:flex;flex-direction:column;height:100%;width:100%}.fwkTextFieldX[type=file] .fileInputContainer .toolbar{position:sticky;top:0;z-index:10;flex-shrink:0;background:var(--background-color, white);border-bottom:1px solid var(--border-color, #ddd)}.fwkTextFieldX[type=file] .fileInputContainer .content{flex:1;overflow:auto;min-height:0;position:relative}.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{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100%;width:100%;position:relative;padding:10px;box-sizing:border-box}.fwkTextFieldX[type=file] .pdfViewer .react-pdf__Page{display:flex;justify-content:center;align-items:center;margin-bottom:10px}.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]{overflow-x:auto;overflow-y:hidden;padding:0}.fwkTextFieldX[type=file] .pdfViewer[data-zoom-mode=height] .react-pdf__Document{display:flex;justify-content:flex-start}.fwkTextFieldX[type=file] .pdfViewer[data-zoom-mode=height] .react-pdf__Page{margin-bottom:0}.fwkTextFieldX[type=file] .pdfViewer[data-zoom-mode=page]{overflow:hidden;padding:0;justify-content:center;align-items:center}.fwkTextFieldX[type=file] .pdfViewer[data-zoom-mode=page] .react-pdf__Document{display:flex;justify-content:center;align-items:center}.fwkTextFieldX[type=file] .pdfViewer[data-zoom-mode=page] .react-pdf__Page{margin-bottom:0}.fwkTextFieldX[type=file] .pdfViewer .textPreview{box-sizing:border-box;padding:0;margin:0;width:100%;height:100%;border:none;white-space:pre-wrap;word-wrap:break-word}.fwkTextFieldX[type=file] .nativePdfViewer{position:absolute;inset:0;width:100%;height:100%;min-height:500px;display:flex;flex-direction:column}.fwkTextFieldX[type=file] .nativePdfViewer iframe{flex:1;width:100%;height:100%;min-height:500px;border:none;background:#fff}.fwkTextFieldX[type=document]{height:100%;width:100%;flex:1;display:flex;flex-direction:column}.fwkTextFieldX[type=document] .control{flex:1;display:flex;flex-direction:column}.docTemplateContainer{display:flex;flex-direction:column;gap:10px;width:100%;flex:1;min-height:0}.docTemplateContainer .docTemplateToolbar{display:flex;align-items:center;gap:10px;padding:5px 0;flex-shrink:0}.docTemplateContainer .docTemplateToolbar .fwkTextField{min-width:200px;max-width:300px}.docTemplateContainer .docTemplateToolbar .toolbarActions{margin-left:auto}.docTemplateContainer .docTemplatePreview{flex:1;display:flex;flex-direction:column;min-height:400px;border:1px solid #ddd;border-radius:4px;background:#f9f9f9;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{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:200px;padding:20px;text-align:center;color:#666}.docTemplateContainer .loadingPlaceholder i,.docTemplateContainer .errorPlaceholder i,.docTemplateContainer .emptyPlaceholder i{font-size:48px;margin-bottom:15px;opacity:.5}.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{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#f5f5f5;border-bottom:1px solid #ddd;flex-shrink:0}.docTemplateContainer.docTemplateReact .docTemplateToolbar .tplSelector{display:flex;align-items:center;gap:8px}.docTemplateContainer.docTemplateReact .docTemplateToolbar .tplSelector .fwkTextField{min-width:200px;max-width:300px}.docTemplateContainer.docTemplateReact .docTemplateToolbar .buttons{display:flex;gap:8px}.docTemplateContainer.docTemplateReact .errorBanner{display:flex;align-items:center;gap:8px;padding:10px 15px;background:#ffebee;border:1px solid #f44336;border-radius:4px;color:#c62828;margin:0 10px}.docTemplateContainer.docTemplateReact .errorBanner i{color:#f44336}.docTemplateContainer.docTemplateReact .docTemplatePreview{border:none;background:transparent;overflow:auto}.docTemplateContainer.docTemplateReact .docTemplatePreview .mspages{background:#fff;box-shadow:0 2px 8px #00000026;margin:10px auto}.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;padding:5px;border-radius:6px;position:absolute;bottom:100%;left:50%;margin-left:-50%;width:fit-content;opacity:0;transition:opacity .3s}.fwkIcon:hover .hintText{visibility:visible;opacity:1}.fwkTextField .dateInput{position:relative}.fwkTextFieldX[type=date] .control .date-input-wrapper,.fwkTextFieldX[type=datetime] .control .date-input-wrapper,.fwkTextFieldX[type=timestamp] .control .date-input-wrapper{display:flex;flex-wrap:nowrap;align-items:center;position:relative;width:100%;pointer-events:auto}.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{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:.25rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;color:var(--accent-colour);margin-left:.25rem;flex-shrink:0}.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}#root-portal .react-datepicker-popper,.react-datepicker-popper{z-index:1100!important}.fwkTextField .colourInput{position:relative}.fwkTextField .colourInput input{display:block;box-sizing:border-box;width:90px;margin:0 55px;padding:6px;border:1px solid #ddd;border-radius:4px;background:#eee;outline:none;font:inherit;text-transform:uppercase;text-align:center}.fwkTextField .colourInput .swatch{width:1.5em;height:1.5em;border-radius:8px;border:2px solid #fff;box-shadow:0 0 0 1px #0000001a,inset 0 0 0 1px #0000001a;cursor:pointer}.fwkTextField .colourInput .popover{position:absolute;top:calc(100% + 2px);left:0;border-radius:9px;box-shadow:0 6px 12px #00000026}.fwkTextField .colourInput .picker__swatches{display:flex;padding:12px;flex-wrap:wrap}.fwkTextField .colourInput .picker__swatch{width:24px;height:24px;margin:4px;border:none;padding:0;border-radius:4px;cursor:pointer;outline:none}.menuItemButton,.expandMenuButton{border:none;background:none;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;text-align:inherit;-webkit-appearance:none;appearance:none;cursor:pointer;padding:0;margin: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{display:flex;align-items:center;width:100%;text-decoration:none}.menuItemButton.condensed{justify-content:center}.fwkMenu{display:flex;position:relative;width:100%}.fwkMenu nav{width:100%}.fwkMenu.vertical ul{display:flex;flex-direction:column;gap:.25rem}.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{display:flex;flex-direction:row;gap:.5rem}.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{margin-left:6px;font-size:.75rem;opacity:.7;transition:transform .2s ease}.fwkMenu.horizontal>nav>ul>li.has-submenu:hover .dropdownIndicator{transform:rotate(180deg)}.fwkMenu.horizontal>nav>ul>li>ul.submenu{position:absolute;top:100%;left:0;margin-top:8px;padding:6px;background:var(--paper-colour, #ffffff);border-radius:var(--radius-lg, 12px);box-shadow:0 10px 40px #0000001f,0 2px 10px #00000014;border:1px solid var(--border-muted, rgba(0, 0, 0, .06));min-width:220px;z-index:1000;display:block;animation:menuDropdownFadeIn .2s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li{display:block!important;min-height:auto!important;padding:0!important;margin:2px 0!important;border-radius:var(--radius-sm, 8px);align-items:stretch;transition:all .15s ease}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li>.menuHeader{display:flex;align-items:center;width:100%;padding:10px 14px;border-radius:var(--radius-sm, 8px)}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li>.menuHeader .menuIcon{margin-right:10px;font-size:1rem;opacity:.7;width:20px;text-align:center}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li>.menuHeader .menuItemButton .menuText{display:block;color:var(--text-primary, #333333);font-size:.875rem;font-weight:500;white-space:nowrap;text-align:left;letter-spacing:-.01em}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li:hover:not(.active)>.menuHeader{background:var(--accent-colour-faint, rgba(0, 0, 0, .04))}.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{padding:6px 10px!important;margin:6px 0!important;cursor:default}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li.menuDivider hr{margin:0;border:none;height:1px;background:var(--border-muted, rgba(0, 0, 0, .08))}.fwkMenu.horizontal>nav>ul>li>ul.submenu>li.menuDivider:hover{background:transparent!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{display:flex;flex-direction:column;margin-bottom:.25rem;border-radius:var(--radius-md, 8px);cursor:pointer}.fwkMenu ul li .menuHeader{display:flex;align-items:center;min-height:48px;padding:.75rem 1rem;border-radius:var(--radius-md, 8px);transition:var(--transition-smooth, all .3s ease)}.fwkMenu ul li .menuHeader .menuItemButton{flex:1;min-width:0}.fwkMenu ul li .menuHeader .menuItemButton .menuIcon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;min-height:20px;margin-right:.75rem;font-size:1.1rem;transition:var(--transition-base, color .2s ease);flex-shrink:0}.fwkMenu ul li .menuHeader .menuItemButton .menuIcon .menuIconImg{width:100%;height:100%;object-fit:contain;border-radius:2px}.fwkMenu ul li .menuHeader .menuItemButton .menuIcon.no-label{margin-right:0}.fwkMenu ul li .menuHeader .menuItemButton .menuText{font-weight:500;font-size:.9rem;text-transform:none;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease;display:flex;align-items:center}.fwkMenu ul li .menuHeader .expandMenuButton{color:inherit;background:var(--bg-overlay, rgba(255, 255, 255, .08));padding:.35rem;border-radius:var(--radius-sm, 6px);transition:all .2s ease;font-size:.7rem;opacity:.85;min-width:1.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:.5rem}.fwkMenu ul li .menuHeader .expandMenuButton i,.fwkMenu ul li .menuHeader .expandMenuButton .fa,.fwkMenu ul li .menuHeader .expandMenuButton [class*=fa-]{color:inherit;transition:transform .25s ease;font-weight:900}.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, rgba(255, 255, 255, .15));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{margin:0;border-radius:4px;position:relative}.fwkMenu ul li>ul.submenu>li>.menuHeader{min-height:32px;padding:.35rem .5rem;align-items:center}.fwkMenu ul li>ul.submenu>li>.menuHeader .menuIcon{width:16px;height:16px;min-height:16px;font-size:.85rem;margin-right:.5rem}.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, rgba(0, 0, 0, .08))}.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, rgba(0, 0, 0, .04))}.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, rgba(0, 0, 0, .08))}.popupMenu{background:var(--paper-colour, #ffffff);border-radius:var(--radius-lg, 12px);box-shadow:0 10px 40px #0000001f,0 2px 10px #00000014;border:1px solid var(--border-muted, rgba(0, 0, 0, .06));padding:6px;min-width:200px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:menuDropdownFadeIn .2s ease-out}.popupMenu .fwkMenu{width:100%}.popupMenu .fwkMenu ul{gap:2px}.popupMenu .fwkMenu ul li{margin:0}.popupMenu .fwkMenu ul li .menuHeader{min-height:auto;padding:10px 12px;border-radius:var(--radius-sm, 8px);transition:all .15s ease}.popupMenu .fwkMenu ul li .menuHeader .menuIcon{width:18px;height:18px;min-height:18px;font-size:.9rem;margin-right:10px;opacity:.7;color:var(--text-primary, #333)}.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, rgba(0, 0, 0, .04))}.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{position:sticky;top:0;left:0;right:0;width:100%;background:var(--navbar-bg-color, rgba(255, 255, 255, .85));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--navbar-border-color, rgba(226, 232, 240, .8));box-shadow:var(--navbar-shadow, 0 1px 3px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .1));z-index:999;color:var(--navbar-text-color, #0f172a);transition:all .3s cubic-bezier(.4,0,.2,1)}.fwkNavbar>.container,.fwkNavbar>.container-fluid{height:70px;display:flex;align-items:center}.fwkNavbar.navbarScrolled{background:var(--navbar-bg-color-scrolled, rgba(255, 255, 255, .95));backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);box-shadow:var(--navbar-shadow-scrolled, 0 4px 6px rgba(0, 0, 0, .05), 0 10px 15px rgba(0, 0, 0, .1));border-bottom:1px solid var(--navbar-border-color-scrolled, rgba(203, 213, 225, .8))}.fwkNavbar .navbarInner{display:flex;align-items:center;gap:2rem;width:100%;height:100%}.fwkNavbar .logoContainer{display:flex;align-items:center;cursor:pointer}.fwkNavbar .logoContainer .logo{height:var(--navbar-logo-height, 36px);width:auto;object-fit:contain;filter:var(--navbar-logo-filter, drop-shadow(0 1px 2px rgba(0, 0, 0, .1)));transition:opacity .2s ease}.fwkNavbar .logoContainer:hover .logo{opacity:.8}.fwkNavbar .title{font-weight:700;font-size:1.5rem;letter-spacing:-.025em;text-wrap-mode:nowrap;color:var(--navbar-title-color, inherit);cursor:pointer;transition:opacity .2s ease}.fwkNavbar .title:hover{opacity:.8}.fwkNavbar .grow{flex-grow:1}.fwkNavbar .desktop{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.25rem}.fwkNavbar #navbarMenuButton{display:flex;align-items:center;justify-content:center;color:var(--navbar-text-color, #0f172a);background:transparent;border:none;padding:.5rem;min-width:44px;min-height:44px;cursor:pointer;transition:opacity .2s ease,transform .3s cubic-bezier(.4,0,.2,1)}.fwkNavbar #navbarMenuButton:hover{opacity:.7}.fwkNavbar #navbarMenuButton:active{opacity:.5}.fwkNavbar #navbarMenuButton.menuButtonRotated{transform:rotate(90deg)}.fwkNavbar .searchContainer{position:relative;flex:1;max-width:400px}.fwkNavbar .searchContainer input{width:100%;padding:.75rem 1rem .75rem 3rem;border:1px solid rgba(203,213,225,.6);border-radius:12px;background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.9rem;color:#334155}.fwkNavbar .searchContainer input::placeholder{color:#94a3b8}.fwkNavbar .searchContainer input:focus{outline:none;border-color:var(--accent-colour, #667eea);box-shadow:0 0 0 3px #667eea1a}.fwkNavbar .searchContainer .searchIcon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#94a3b8}.fwkNavbar .userMenu{display:flex;align-items:center;gap:.75rem}.fwkNavbar .userMenu .avatar{width:36px;height:36px;border-radius:50%;border:2px solid rgba(102,126,234,.2);box-shadow:0 2px 4px #0000001a}.fwkNavbar .userMenu .notifications{position:relative;color:var(--navbar-icon-color, #64748b);padding:.5rem;border-radius:8px;transition:all .2s ease}.fwkNavbar .userMenu .notifications:hover{background:var(--navbar-icon-hover-bg, rgba(102, 126, 234, .1));color:var(--navbar-icon-hover-color, #667eea)}.fwkNavbar .userMenu .notifications .badge{position:absolute;top:.25rem;right:.25rem;width:8px;height:8px;background:var(--error-colour);border-radius:50%;border:2px solid var(--paper-colour)}.fwkNavbar .fwkMenu.horizontal nav ul{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}.fwkNavbar .fwkMenu.horizontal nav ul li .menuItem .menuLine{padding:.75rem 1.25rem;color:var(--navbar-link-color, inherit);font-weight:500;border-radius:8px;transition:all .2s ease;cursor:pointer}.fwkNavbar .fwkMenu.horizontal nav ul li .menuItem .menuLine:hover{background:var(--navbar-link-hover-bg, rgba(0, 0, 0, .05));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));font-weight:600;background:var(--navbar-link-active-bg, transparent)}@media(max-width:1024px){.fwkNavbar .navbarInner{gap:1rem}.fwkNavbar .desktop{background:none;border:none;box-shadow:none;padding:0;gap:1rem}.fwkNavbar #navbarMenuButton{display:flex}.fwkNavbar .title{font-size:1.25rem}}@media(max-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(max-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{position:relative;display:flex;flex-direction:column;background:var(--paper-colour-0)}.fwkPortal.fullHeight{height:100vh}.fwkPortal .portalbody{display:flex;position:relative;flex:1}.fwkPortal .portalbody #portalbodyInner{width:100%;position:relative}.fwkPortal .fwkNavbar{margin-left:280px;width:calc(100% - 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{margin-left:0;width:100%}.fwkPortal.hideSideBar .contentArea{margin-left:0!important}.fwkPortal .noBoardError{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--paper-colour);border-radius:12px;margin:1.5rem;box-shadow:0 1px 3px #0000001a}.fwkPortal .noBoardError h1{font-size:2rem;font-weight:600;color:var(--text-muted)}.fwkPortal .noBoardError p{font-size:1rem;color:var(--text-muted);margin-top:.5rem}.fwkPortal .noBoardError.accessDenied h1{color:var(--error-colour)}.fwkPortal .noBoardError.accessDenied:before{content:"";font-family:FontAwesome;font-size:3rem;color:var(--error-colour);margin-bottom:1rem}.fwkPortal .pinnedSidebar{display:flex;flex:1}.fwkPortal .pinnedSidebar .contentArea{flex:1;margin-left:280px;display:flex;flex-direction:column;overflow:hidden}.fwkPortal .pinnedSidebar.condensed .contentArea{margin-left:80px}.fwkPortal.fullHeight .pinnedSidebar{min-height:calc(100vh - 70px)}.fwkPortal .contentArea{flex:1;margin-left:280px;display:flex;flex-direction:column;overflow:hidden;transition:margin-left .3s cubic-bezier(.4,0,.2,1);padding:12px 12px 0;box-sizing:border-box}.fwkPortal .contentArea.noPadding{padding:0}.fwkPortal .contentArea .contentInner{max-width:var(--page-width, none);margin-left:auto;margin-right:auto;width:100%;flex:1;display:flex;flex-direction:column;min-height:0}.fwkPortal.condensed:not(.hideSideBar) .fwkNavbar{margin-left:80px;width:calc(100% - 80px)}.fwkPortal.condensed:not(.hideSideBar) .contentArea{margin-left:80px}.fwkPortal .fwkBoard{flex:1;background:var(--paper-colour-0);border-radius:12px;margin:1.5rem;box-shadow:0 1px 3px #0000001a;overflow:auto;min-height:0}@media(max-width:1024px){.fwkPortal .fwkNavbar{margin-left:0;width:100%}.fwkPortal .contentArea{margin-left:0!important}.fwkPortal .pinnedSidebar .fwkSidebar{transform:translate(-100%)}}@media(max-width:380px){.fwkPortal .contentArea{padding:6px 4px 0}.fwkPortal .fwkBoard{margin:.75rem .5rem;border-radius:8px}}.fwkPortal.hideSideBar .contentArea,html body .fwkPortal.hideSideBar .contentArea{margin-left:0!important;width:100%!important}.fwkSidebar{display:flex;flex-grow:0;flex-direction:column;width:280px;min-width:280px;height:100vh;position:fixed;top:0;left:0;z-index:1000;color:var(--sidebar-text-color);background:linear-gradient(135deg,var(--accent-colour) 0%,var(--accent-colour-light) 100%);border-right:1px solid rgba(255,255,255,.1);box-shadow:4px 0 24px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1)}.fwkSidebar .inner{display:flex;flex-direction:column;height:100%;padding:1.5rem 0;box-sizing:border-box;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{width:100%;flex:1;padding:0 1rem}.fwkSidebar .bottom{padding:1rem 1rem 0;border-top:1px solid rgba(255,255,255,.1);margin-top:1rem}.fwkSidebar .buttonContainer{display:flex;justify-content:flex-end;gap:.5rem;width:100%;margin-bottom:1.5rem;padding:0 .5rem}.fwkSidebar .buttonContainer #pinButton,.fwkSidebar .buttonContainer #shrinkButton{color:var(--sidebar-text-color);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:8px;transition:all .2s ease}.fwkSidebar .buttonContainer #pinButton:hover,.fwkSidebar .buttonContainer #shrinkButton:hover{background:#fff3;color:#fff;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;padding:0;gap:.25rem}.fwkSidebar .fwkVersion{padding:1rem;text-align:center;color:var(--sidebar-text-color);font-size:.75rem;border-top:1px solid var(--sidebar-text-color)}.fwkIconButton{border:none;background:none;font-family:inherit;font-size:inherit;line-height:inherit;-webkit-appearance:none;appearance:none;position:relative;display:flex;flex-direction:row;column-gap:.5rem;row-gap:.5rem;color:var(--accent-colour);justify-content:center;align-items:center;cursor:pointer;padding:.75rem;border-radius:var(--radius-md, 10px);transition:var(--transition-base, all .2s ease);text-transform:capitalize;text-align:center;font-weight:500}.fwkIconButton i.fa,.fwkIconButton i.fas,.fwkIconButton i.far,.fwkIconButton i.fab,.fwkIconButton i[class*=fa-]{font-size:1rem;line-height:1;width:1em;height:1em;display:inline-flex;align-items:center;justify-content:center}.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, rgba(0, 0, 0, .06));transform:translateY(-1px)}.fwkIconButton:active:not(.disabled):not(.button){transform:translateY(0);background:var(--hover-colour, rgba(0, 0, 0, .08))}.fwkIconButton.selected{background:var(--button-primary-bg, var(--gradient-accent, var(--accent-colour)));color:var(--button-primary-color, white);font-weight:600;box-shadow:var(--button-primary-shadow, var(--shadow-accent-sm, 0 2px 8px rgba(0, 0, 0, .15)))}.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{display:flex;background:var(--button-primary-bg, var(--gradient-accent, var(--accent-colour)));color:var(--button-primary-color, white);border:none;border-radius:var(--radius-md, .5rem);box-shadow:var(--button-primary-shadow, var(--shadow-accent-sm, 0 2px 8px rgba(0, 0, 0, .15)));font-weight:600;letter-spacing:.01em;pointer-events:all;transition:var(--transition-smooth, all .3s ease)}.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 rgba(0, 0, 0, .2)));transform:var(--hover-lift, translateY(-2px))}.fwkIconButton.button:active:not(.disabled){transform:translateY(0);box-shadow:var(--button-primary-shadow, var(--shadow-accent-sm, 0 2px 8px rgba(0, 0, 0, .15)))}.fwkIconButton.button:focus-visible{outline:none;box-shadow:var(--button-primary-focus-ring, var(--focus-ring, 0 0 0 3px rgba(0, 0, 0, .1))),var(--button-primary-shadow, var(--shadow-accent-sm))}.fwkIconButton.button.disabled{background:var(--button-disabled-bg, var(--disabled-colour, #9ca3af))!important;color:var(--button-disabled-color, rgba(255, 255, 255, .7))!important;box-shadow:none;transform:none}.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{background:var(--disabled-colour, #9ca3af)!important;box-shadow:none}.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{background:var(--disabled-colour, #9ca3af)!important;box-shadow:none}.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{background:var(--disabled-colour, #9ca3af)!important;box-shadow:none}.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, rgba(0, 0, 0, .05)));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, rgba(0, 0, 0, .05)))}.fwkIconButton.sm{padding:.5rem .75rem;font-size:.875rem}.fwkIconButton.lg{padding:1rem 1.5rem;font-size:1.1rem}.fwkSocialIcon img{width:100%;height:100%}.row-editor{display:flex;flex-direction:column;gap:8px}.row-editor .row-editor-row{display:flex;align-items:flex-end;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-light, rgba(0, 0, 0, .06))}.row-editor .row-editor-row:last-of-type{border-bottom:none}.row-editor .row-editor-row .row-editor-fields{display:grid;gap:12px;flex:1;align-items:end}.row-editor .row-editor-row .row-editor-fields .fwkTextField[data-type=checkbox]{padding-bottom:8px}.row-editor .row-editor-row .row-editor-remove-btn{flex-shrink:0;margin-bottom:4px;color:var(--danger-colour, #ef4444)}.row-editor .row-editor-row .row-editor-remove-btn:hover{color:var(--danger-colour-dark, #dc2626)}.row-editor .row-editor-add-btn{align-self:flex-start;margin-top:8px;color:var(--accent-colour, #3b82f6)}.row-editor .row-editor-add-btn:hover{color:var(--accent-colour-dark, #2563eb)}.row-editor .row-editor-empty{color:var(--text-muted, #6b7280);font-style:italic;padding:12px 0}@media(max-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{width:60px;height:4px;background:var(--accent-colour, #de411b);margin-bottom:20px}.fwkHeading h1,.fwkHeading h2,.fwkHeading h3,.fwkHeading h4,.fwkHeading h5,.fwkHeading h6{font-family:Roboto Condensed,Roboto,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:20px}.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{border-radius:50%;width:1.5em;height:1.5em;text-align:center}.fwkAvatar{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;width:52px;height:52px}.fwkAvatar .fwkAvatar-img{width:100%;height:100%;object-fit:cover;border:2px solid var(--border-light, rgba(0, 0, 0, .08))}.fwkAvatar .fwkAvatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--gradient-header, linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%));color:#ffffffe6;border:2px solid var(--border-light, rgba(0, 0, 0, .08))}.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 rgba(0, 0, 0, .05))}.fwkAvatar.table .fwkAvatar-placeholder i{font-size:1rem}.fwkAvatar.small{width:32px;height:32px;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05))}.fwkAvatar.small .fwkAvatar-placeholder i{font-size:.875rem}.fwkAvatar.medium{width:52px;height:52px;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05))}.fwkAvatar.medium .fwkAvatar-placeholder i{font-size:1.5rem}.fwkAvatar.large{width:80px;height:80px;box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1))}.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 rgba(0, 0, 0, .1))}.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}.fwkBadge{color:#fff;padding:4px 8px;border-radius:8px;font-weight:700;text-align:center;display:inline-flex;align-items:center;gap:4px;white-space:normal;width:fit-content;box-shadow:0 2px 6px #00000026;transition:transform .15s ease,box-shadow .15s ease}.fwkBadge:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0003}.fwkBadge .badge-icon{font-size:inherit}.fwkBadge.small{padding:2px 6px;font-size:.75rem;border-radius:5px;box-shadow:0 1px 4px #0000001f}.fwkBadge.medium{padding:4px 10px;font-size:.875rem;border-radius:8px}.fwkBadge.large{padding:6px 14px;font-size:1rem;border-radius:12px;box-shadow:0 3px 10px #0000002e}.fwkBadge:not([style*=background]){background:linear-gradient(135deg,#7c8591,#4a5568)}.fwkBusy{position:absolute;top:0;bottom:0;width:100%;height:100%;opacity:.5;background-image:url(/assets/loading.BlVDlXrh.gif);background-repeat:no-repeat;background-position:center;font-size:2rem;display:flex;justify-content:center;align-items:center;text-transform:uppercase;z-index:1000}.fwkCardContainer{display:flex;flex-wrap:wrap;width:100%;column-gap:1rem;row-gap:1rem;justify-content:center}.fwkCard{position:relative;display:flex;flex-direction:column;width:fit-content;height:fit-content;min-width:20rem;min-height:20rem;background-color:var(--paper-colour-1);transition:var(--transition-smooth, all .3s ease);border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .07));border:1px solid var(--border-muted, rgba(0, 0, 0, .06))}.fwkCard:hover{box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .08))}.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 rgba(0, 0, 0, .1))}.fwkCard.clickable:active{transform:translateY(0)}.fwkCard .heading{display:flex;align-items:center;column-gap:1rem;background:var(--card-heading-bg);color:var(--card-heading-color);border-bottom:var(--card-heading-border);z-index:100;padding:.75rem 1rem;border-radius:var(--radius-lg, 16px) var(--radius-lg, 16px) 0 0}.fwkCard .heading .filler{flex-grow:1}.fwkCard .heading .title{font-size:1.2rem;font-weight:600;letter-spacing:-.01em;color:var(--card-heading-color)}.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, rgba(255, 255, 255, .2));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{padding:1.25rem;color:unset;overflow:auto}.fwkCard .content.no-padding{padding:0}.fwkCard .card-footer{padding:.5rem 1rem;font-size:.85rem;color:var(--text-muted, #6c757d);border-top:1px solid var(--border-light, #e0e0e0);text-align:center}animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}.dotScrollContainer{width:100%;height:100%}.dotScroll{width:100%;height:100%;display:flex}.scrollDotContainer{display:flex;flex-direction:column;justify-content:center}.scrollDot{height:2vh;width:2vh;font-size:2vh;line-height:2vh;display:table}.scrollContainer{display:flex;flex-direction:column;overflow:auto;scroll-behavior:smooth;white-space:nowrap;flex-grow:1;scrollbar-width:none;-ms-overflow-style:none}.scrollContainer::-webkit-scrollbar{display:none}.fwkInfoWidget{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 24px;margin:8px;border-radius:12px;min-width:140px;min-height:120px;box-shadow:0 4px 15px #00000026;transition:transform .2s ease,box-shadow .2s ease}.fwkInfoWidget:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.fwkInfoWidget.clickable{cursor:pointer}.fwkInfoWidget .icon{font-size:32px;margin-bottom:8px;opacity:.9}.fwkInfoWidget .count{font-size:2.2em;font-weight:700;line-height:1.1}.fwkInfoWidget .title{font-size:.85em;font-weight:500;text-transform:uppercase;letter-spacing:.5px;opacity:.9;margin-top:4px}.fwkInfoWidget.widget-blue{background:linear-gradient(135deg,#667eea,#764ba2)}.fwkInfoWidget.widget-green{background:linear-gradient(135deg,#11998e,#38ef7d)}.fwkInfoWidget.widget-orange{background:linear-gradient(135deg,#f2994a,#f2c94c)}.fwkInfoWidget.widget-red{background:linear-gradient(135deg,#eb3349,#f45c43)}.fwkInfoWidget.widget-purple{background:linear-gradient(135deg,#8e2de2,#4a00e0)}.fwkInfoWidget.widget-teal{background:linear-gradient(135deg,#00b4db,#0083b0)}.fwkInfoWidget.widget-pink{background:linear-gradient(135deg,#ee0979,#ff6a00)}.fwkInfoWidget.widget-gray{background:linear-gradient(135deg,#606c88,#3f4c6b)}.fwkInfoWidget.widget-indigo{background:linear-gradient(135deg,#4568dc,#b06ab3)}.fwkInfoWidget.widget-cyan{background:linear-gradient(135deg,#00d2ff,#3a7bd5)}.fwkLabel{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.fwkLabel:hover,a.fwkLabel:focus{color:gray;text-decoration:none;cursor:pointer}.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{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:modalBackdropFadeIn .2s ease-out}.fwkModalDialog .modal-dialog{position:relative;z-index:1001;width:fit-content;background-color:var(--paper-colour, white)!important;padding:1.5rem;border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1));border:1px solid var(--border-muted, rgba(0, 0, 0, .06));display:flex;flex-direction:column;max-width:80%;max-height:80%;overflow-wrap:break-word;margin:0;pointer-events:auto;animation:modalSlideIn .25s cubic-bezier(.34,1.56,.64,1)}.fwkModalDialog .modal-content{padding:1rem;border-radius:var(--radius-md, 10px);overflow:auto;background-color:var(--paper-colour, white)!important;color:var(--colour-text, #333)}.fwkModalDialog .modal-footer{width:100%;padding-top:1.25rem;margin-top:.5rem;border-top:1px solid var(--border-muted, rgba(0, 0, 0, .06));display:flex;justify-content:flex-end;align-items:center;column-gap:.75rem}.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{display:inline-block;font-variant-numeric:tabular-nums;text-align:right}.fwkOptionSelector{display:flex;gap:.75rem}.fwkOptionSelector--wrap{flex-wrap:wrap}.fwkOptionSelector--column{flex-direction:column}.fwkOptionSelector__option{border:1px solid var(--border-light, rgba(0, 0, 0, .12));background:var(--paper-colour-1, #fff);color:var(--colour-text, #333);border-radius:var(--radius-md, 10px);padding:.8rem 1rem;transition:var(--transition-base, .2s ease);text-align:left}.fwkOptionSelector__option:hover:not(:disabled){border-color:var(--accent-colour, #1976d2);background:var(--accent-colour-faint, rgba(0, 0, 0, .05))}.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;background-color:#fff;font-size:14px;width:fit-content;box-sizing:border-box;position:relative}.fwkPage.A4Single,.fwkPage .A4Single{padding:48pt;width:210mm;max-width:210mm;height:296.29444444mm;max-height:296.29444444mm}.fwkPage.A4Single .inner,.fwkPage .A4Single .inner{position:relative;height:262.42777778mm;max-height:262.42777778mm}.fwkPage.A4Cont{padding:48pt;width:210mm;max-width:210mm}.fwkPage.A4Cont .Single{height:297mm;max-height:297mm}.fwkPage.A4NoBorder{width:210mm;max-width:210mm}.fwkPopup .content{margin-top:.5rem;padding:.3rem;background-color:var(--accent-colour);color:#fff}.fwkPopup .content:has(.fwkSidebar){padding:0;margin:0;background:none;border-radius:0;color:inherit}@media(max-width:1024px){.fwkPopup:before{content:"";position:fixed;inset:0;background:#00000080;z-index:9998}.fwkPopup .fwkSidebar{position:fixed!important;top:0!important;left:0!important;width:100vw!important;max-width:320px!important;height:100vh!important;z-index:9999!important;transform:translate(0)!important}.fwkPopup .content{position:static!important;padding:0!important;margin:0!important;background:none!important}}@media(max-width:380px){.fwkPopup .fwkSidebar{max-width:100vw!important}}.fwkQuantityStepper{display:inline-flex;align-items:center;border:1px solid var(--border-light, rgba(0, 0, 0, .12));border-radius:var(--radius-full, 9999px);background:var(--paper-colour-1, #fff);overflow:hidden}.fwkQuantityStepper__button{width:42px;height:42px;border:0;background:transparent;color:var(--colour-text, #333);display:inline-flex;align-items:center;justify-content:center;transition:var(--transition-base, .2s ease)}.fwkQuantityStepper__button:hover:not(:disabled){background:var(--accent-colour-faint, rgba(0, 0, 0, .05));color:var(--accent-colour, #1976d2)}.fwkQuantityStepper__button:disabled{opacity:.45;cursor:not-allowed}.fwkQuantityStepper__value{min-width:2.5rem;padding:0 .35rem;text-align:center;font-weight:700;color:var(--colour-text, #333)}.fwkTable{border-collapse:collapse;border-spacing:0;width:100%;max-width:100%;background-color:transparent;border-radius:var(--radius-md, 8px);overflow:hidden}.fwkTable th{text-align:left;font-weight:600;color:var(--table-header-color, var(--text-primary, inherit))}.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{padding:.8rem 8px;line-height:1.42857143;vertical-align:top;border-top:1px solid var(--table-border-color, var(--border-muted, #ddd))}.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{border:1px solid var(--table-border-color, var(--border-muted, #ddd))}.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{background-color:var(--table-row-hover-bg, var(--hover-colour, #f5f5f5))}.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{background-color: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:transparent}.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(max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid var(--table-border-color, var(--border-muted, #ddd));-webkit-overflow-scrolling:touch}.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}}.fwkTabs{display:flex;flex-direction:column;height:100%;width:100%;box-sizing:border-box}.fwkTabs .tabbar-container{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;gap:1rem;background:var(--tabs-bg-gradient, var(--tabs-bg));color:var(--tabs-color);border:var(--tabs-border);border-bottom:none;border-radius:var(--radius-md, 10px) var(--radius-md, 10px) 0 0;box-shadow:var(--tabs-shadow)}.fwkTabs .tabbar{display:flex;flex-wrap:wrap;column-gap:.25rem;row-gap:.25rem;align-items:center;padding:0;margin:0;list-style:none}.fwkTabs .tabbar li{position:relative;padding:.5rem 1rem;border-radius:var(--radius-sm, 6px);cursor:pointer;transition:var(--transition-base, .2s ease);font-weight:500;font-size:.9rem;white-space:nowrap;color:var(--tabs-color-muted)}.fwkTabs .tabbar li:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:2px;background:var(--tabs-underline-color);border-radius:1px;transition:var(--transition-base, .2s ease)}.fwkTabs .tabbar li:hover:not(.active){color:var(--tabs-color-active);background-color:var(--tabs-hover-bg)}.fwkTabs .tabbar .active{font-weight:600;color:var(--tabs-color-active);background-color:var(--tabs-active-bg)}.fwkTabs .tabbar .active:after{width:60%}.fwkTabs .tab-toolbar{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.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{display:none;padding:1.25rem;padding-bottom:0;background:var(--tabs-panel-bg);border:var(--tabs-panel-border);border-top:none;border-radius:0 0 var(--radius-md, 10px) var(--radius-md, 10px);flex-direction:column;width:100%;height:100%;flex:1;overflow:auto}.fwkTabs .panel .fwkLedger{padding:0}.fwkTabs .panel:has(.fwkLedger){padding:0!important}.fwkTabs .panel.active{display:flex;animation:tabPanelFadeIn .15s ease-out}.fwkTabs .tabbody{width:100%;flex:1;display:flex;flex-direction:column}.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, rgba(255, 255, 255, .7))}.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, rgba(255, 255, 255, .1))}.fwkTabs.accent .tabbar .active{color:var(--text-inverse, white);background-color:var(--bg-overlay-hover, rgba(255, 255, 255, .2))}.fwkTabs.accent .tab-toolbar .fwkIconButton{color:var(--text-inverse, white)}.fwkTabs.accent .tab-toolbar .fwkIconButton:hover:not(.disabled){background-color:var(--bg-overlay-hover, rgba(255, 255, 255, .2))}.fwkTabs.accent .panel{border:none}.fwkTabs.underline .tabbar-container{background:transparent;color:var(--text-primary, #333);padding:0;padding-bottom:.5rem;border:none;border-bottom:1px solid var(--border-muted, rgba(0, 0, 0, .1));border-radius:0;box-shadow:none}.fwkTabs.underline .tabbar li{padding:.5rem 1rem;color:var(--text-muted, #666);background:transparent}.fwkTabs.underline .tabbar li:after{bottom:-.5rem;height:3px;background:var(--accent-colour)}.fwkTabs.underline .tabbar li:hover:not(.active){color:var(--text-primary, #333);background:transparent}.fwkTabs.underline .tabbar .active{color:var(--accent-colour);background:transparent}.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, rgba(0, 0, 0, .05))}.fwkTabs.underline .panel{border:none;border-radius:0;background:transparent}.fwkTabs.pills .tabbar-container{background:var(--paper-colour-2, #f5f5f5);color:var(--text-primary, #333);padding:.5rem;border-radius:var(--radius-md, 10px);box-shadow:none;border:1px solid var(--border-muted, rgba(0, 0, 0, .08))}.fwkTabs.pills .tabbar{background:var(--bg-muted, rgba(0, 0, 0, .05));padding:.25rem;border-radius:var(--radius-sm, 6px)}.fwkTabs.pills .tabbar li{padding:.4rem .75rem;color:var(--text-muted, #666);border-radius:var(--radius-sm, 6px)}.fwkTabs.pills .tabbar li:after{display:none}.fwkTabs.pills .tabbar li:hover:not(.active){color:var(--text-primary, #333);background:transparent}.fwkTabs.pills .tabbar .active{color:var(--text-primary, #333);background:var(--paper-colour, white);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05))}.fwkTabs.pills .tab-toolbar .fwkIconButton{color:var(--text-primary, #333)}.fwkTabs.pills .tab-toolbar .fwkIconButton:hover:not(.disabled){background-color:var(--hover-colour, rgba(0, 0, 0, .05))}.fwkTabs.boxed .tabbar-container{background:transparent;color:var(--text-primary, #333);padding:0;border:none;border-radius:0;box-shadow:none}.fwkTabs.boxed .tabbar{border-bottom:1px solid var(--border-muted, rgba(0, 0, 0, .1));padding-bottom:0;gap:0}.fwkTabs.boxed .tabbar li{padding:.75rem 1.25rem;color:var(--text-muted, #666);background:var(--paper-colour-2, #f8f8f8);border:1px solid var(--border-muted, rgba(0, 0, 0, .1));border-bottom:none;border-radius:var(--radius-sm, 6px) var(--radius-sm, 6px) 0 0;margin-right:-1px;margin-bottom:-1px}.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, rgba(0, 0, 0, .1));border-top:none;border-radius:0 0 var(--radius-md, 10px) var(--radius-md, 10px)}@media(max-width:380px){.fwkTabs .tabbar-container{padding:.5rem;gap:.5rem}.fwkTabs .tabbar li{padding:.375rem .625rem;font-size:.8125rem}.fwkTabs .panel{padding:.75rem;padding-bottom:0}}@keyframes tabPanelFadeIn{0%{opacity:0}to{opacity:1}}.tile-layout{display:flex;justify-content:center;width:auto;margin-left:calc(var(--tile-gap, 16px) * -1);margin-right:calc(var(--tile-gap, 16px) * -1)}.tile-layout-column{padding-left:var(--tile-gap, 16px);background-clip:padding-box}.tile-layout-column>*{margin-bottom:var(--tile-gap, 16px)}.fwkTitle{display:flex;align-items:center;column-gap:.5rem;font-size:2rem;font-weight:600;white-space:normal}.fwkToolBar{display:flex;justify-content:space-between;align-items:center;column-gap:.75rem;padding:.5rem 1rem;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);position:relative}.fwkToolBar i.fa,.fwkToolBar i.fas,.fwkToolBar i.far,.fwkToolBar i.fab,.fwkToolBar i[class*=fa-]{font-size:1.125rem;line-height:1;width:1em;height:1em;text-align:center;display:inline-flex;align-items:center;justify-content:center}.fwkToolBar a{color:inherit;text-decoration:none}.fwkToolBar .fwkIconButton{color:var(--toolbar-icon-color);background-color:transparent;padding:.5rem;border-radius:var(--radius-sm, 6px);transition:var(--transition-base, .2s ease)}.fwkToolBar .fwkIconButton i,.fwkToolBar .fwkIconButton .fa,.fwkToolBar .fwkIconButton [class*=fa-],.fwkToolBar .fwkIconButton svg{color:var(--toolbar-icon-color);font-size:1.125rem;line-height:1;width:1em;height:1em;display:inline-flex;align-items:center;justify-content:center}.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);font-size:1.125rem;line-height:1;width:1em;height:1em}.fwkToolBar .fwkIconButton.toolbarButton{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;white-space:nowrap}.fwkToolBar .fwkIconButton.button{background:var(--gradient-accent);color:var(--text-inverse, white);border:none;box-shadow:var(--shadow-accent-sm)}.fwkToolBar .fwkIconButton.button i,.fwkToolBar .fwkIconButton.button .fa,.fwkToolBar .fwkIconButton.button [class*=fa-],.fwkToolBar .fwkIconButton.button svg{color:var(--text-inverse, white);font-size:1.125rem;line-height:1;width:1em;height:1em}.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{background:transparent;border:none;box-shadow: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{display:flex;flex-grow:0;column-gap:.5rem;align-items:center;flex-wrap:nowrap}.fwkToolBar .left{justify-content:flex-start}.fwkToolBar .center{flex-grow:1;justify-content:center}.fwkToolBar .right{justify-content:flex-end}.fwkToolBar .toolbar-title{font-weight:600;font-size:1rem;letter-spacing:-.01em}.fwkToolBar .toolbar-divider{width:1px;height:1.5rem;background:var(--toolbar-icon-hover-bg);margin:0 .25rem}@media(max-width:1024px){.fwkToolBar{padding:.375rem .625rem;column-gap:.375rem}.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(max-width:380px){.fwkToolBar{padding:.25rem .375rem;column-gap:.25rem}.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, rgba(0, 0, 0, .08))}.fwkToolBar.secondary .fwkIconButton{color:var(--text-primary, #333)}.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, rgba(0, 0, 0, .05))}.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, rgba(0, 0, 0, .1))}.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, rgba(0, 0, 0, .1))}.fwkToolBar.ghost{background:transparent;color:var(--text-primary, #333);box-shadow:none;border:none;padding:.5rem 0}.fwkToolBar.ghost .fwkIconButton{color:var(--text-primary, #333)}.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, rgba(0, 0, 0, .05))}.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{color:var(--text-inverse, white)}.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, rgba(255, 255, 255, .2))}.fwkToolBar.accent .fwkIconButton:active:not(.disabled){background-color:var(--bg-overlay-active, rgba(255, 255, 255, .3))}.fwkToolBar.accent .fwkIconButton.button{background:var(--bg-overlay, rgba(255, 255, 255, .15));border:1px solid var(--border-on-dark, rgba(255, 255, 255, .2));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, rgba(255, 255, 255, .25))}.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, rgba(255, 255, 255, .15));border:1px solid var(--border-on-dark, rgba(255, 255, 255, .2))}.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, rgba(255, 255, 255, .25));border-color:var(--border-on-dark, rgba(255, 255, 255, .3))}.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, rgba(255, 255, 255, .6))}.fwkToolBar.accent select,.fwkToolBar.accent .form-select,.fwkToolBar.accent .fwkSelect{background-color:var(--bg-overlay, rgba(255, 255, 255, .15));border:1px solid var(--border-on-dark, rgba(255, 255, 255, .2));color:var(--text-inverse, white)}.fwkToolBar.accent select:focus,.fwkToolBar.accent .form-select:focus,.fwkToolBar.accent .fwkSelect:focus{background-color:var(--bg-overlay-hover, rgba(255, 255, 255, .25));border-color:var(--border-on-dark, rgba(255, 255, 255, .3))}.fwkToolBar.accent .toolbar-divider{background:var(--border-on-dark, rgba(255, 255, 255, .2))}.fwkDataPart{position:relative;display:grid;grid-template-rows:min-content 1fr;max-width:100%;height:100%;box-sizing:border-box;border-radius:12px;box-shadow:0 4px 24px #0000000f;overflow:hidden;min-height:0;max-height:100%}.fwkDataPart .dropOverlay{position:absolute;inset:0;background:rgba(var(--accent-colour-rgb, 0, 123, 255),.08);border:2px dashed var(--accent-colour, #007bff);border-radius:12px;z-index:100;display:flex;align-items:center;justify-content:center;pointer-events:none}.fwkDataPart .dropOverlay .dropMessage{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--accent-colour, #007bff);font-size:1.1rem;font-weight:500}.fwkDataPart .dropOverlay .dropMessage i{font-size:2rem;opacity:.8}.fwkDataPart>.fwkToolBar{z-index:20;min-width:0;overflow:visible}.fwkDataPart>.fwkToolBar .left{flex:1 1 auto;min-width:0;row-gap:.375rem;overflow:visible}.fwkDataPart>.fwkToolBar .right{flex:0 0 auto;min-width:max-content;margin-left:auto;row-gap:.25rem}.fwkDataPart>.fwkToolBar.dataPartToolbar:not(.compactControls) .right{border-left:1px solid var(--toolbar-icon-hover-bg);padding-left:.625rem}.fwkDataPart>.fwkToolBar .dataPartFilterControls{display:flex;align-items:center;gap:.5rem;flex:0 0 auto;flex-wrap:nowrap;min-width:0}.fwkDataPart>.fwkToolBar>.left>.fwkTextFieldX[type=search]{flex:0 1 14rem;min-width:10rem}.fwkDataPart>.fwkToolBar>.left>.fwkTextFieldX[type=select],.fwkDataPart>.fwkToolBar>.left>.fwkTextFieldX[type=select1],.fwkDataPart>.fwkToolBar>.left>.fwkTextFieldX[type=select2]{flex:0 1 9.5rem;min-width:8rem}.fwkDataPart>.fwkToolBar .dataPartFilterControls>.fwkTextFieldX:not([type=checkbox]){flex:0 1 150px}.fwkDataPart>.fwkToolBar .dataPartMoreFilters{position:relative;display:flex;align-items:center;flex:0 0 auto}.fwkDataPart>.fwkToolBar .dataPartMoreFilters .filterOverflowButton{min-width:2.25rem;border:var(--toolbar-input-border);background:var(--toolbar-input-bg);justify-content:center}.fwkDataPart>.fwkToolBar .dataPartMoreFilters .filterOverflowButton:hover:not(.disabled){border:var(--toolbar-input-border-hover)}.fwkDataPart>.fwkToolBar .dataPartMoreFiltersMenu{position:absolute;top:calc(100% + .45rem);right:0;z-index:50;display:flex;flex-direction:column;gap:.5rem;width:max-content;min-width:16rem;max-width:calc(100vw - 2rem);padding:.75rem;box-sizing:border-box;background:var(--paper-colour-1, #fff);color:var(--text-primary, #212529);border:1px solid var(--border-muted, rgba(0, 0, 0, .12));border-radius:8px;box-shadow:var(--shadow-md, 0 8px 24px rgba(0, 0, 0, .16))}.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:0 0 auto;width:auto}.fwkDataPart>.fwkToolBar.compactControls .right{flex:1 1 auto;min-width:0}.fwkDataPart>.fwkToolBar .dataPartCompactControls{position:relative;display:flex;align-items:center;flex:0 0 auto}.fwkDataPart>.fwkToolBar .dataPartCompactMenu{position:absolute;top:calc(100% + .45rem);left:0;z-index:60;display:flex;flex-direction:column;gap:.5rem;width:min(20rem,calc(100vw - 2rem));max-width:calc(100vw - 2rem);padding:.75rem;box-sizing:border-box;background:var(--paper-colour-1, #fff);color:var(--text-primary, #212529);border:1px solid var(--border-muted, rgba(0, 0, 0, .12));border-radius:8px;box-shadow:var(--shadow-md, 0 8px 24px rgba(0, 0, 0, .16));max-height:min(70vh,32rem);overflow-y:auto}.fwkDataPart>.fwkToolBar .dataPartCompactMenu>.fwkTextFieldX:not([type=checkbox]){flex:0 0 auto;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{display:flex;flex-direction:column;gap:.5rem}.fwkDataPart>.fwkToolBar .dataPartCompactFilterItem{min-width:0}.fwkDataPart>.fwkToolBar .dataPartCompactFilterItem .fwkTextFieldX:not([type=checkbox]){flex:0 0 auto;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{display:grid;grid-template-columns:23% 1fr;height:100%;min-height:0;gap:1px;background:var(--border-muted, rgba(0, 0, 0, .08))}.fwkDataPart .dataContainer.hideMaster{grid-template-columns:1fr}.fwkDataPart .dataContainer.hideMaster .detailPane{border-left:none}.fwkDataPart .masterContainer{display:grid;grid-template-rows:auto auto 1fr auto;background:var(--paper-colour-1, #ffffff);border-right:1px solid var(--border-muted, rgba(0, 0, 0, .08));min-height:0;min-width:10%;overflow:hidden}.fwkDataPart .masterFilter{padding:1rem;border-bottom:1px solid var(--border-muted, rgba(0, 0, 0, .08));background:var(--paper-colour-2, #f8f9fa)}.fwkDataPart .masterPane{overflow-y:auto;overflow-x:hidden;padding:0;min-height:0;min-width:0}.fwkDataPart .masterPane::-webkit-scrollbar{width:6px}.fwkDataPart .masterPane::-webkit-scrollbar-track{background:transparent}.fwkDataPart .masterPane::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg, rgba(0, 0, 0, .2));border-radius:3px}.fwkDataPart .masterPane::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg, rgba(0, 0, 0, .3))}.fwkDataPart .masterPane .masterPaneRow{cursor:pointer;padding:.75rem 1rem;background:transparent;border:none;border-bottom:1px solid var(--border-muted, rgba(0, 0, 0, .08));transition:all .2s ease;position:relative;overflow:hidden}.fwkDataPart .masterPane .masterPaneRow:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background-color .2s ease}.fwkDataPart .masterPane .masterPaneRow:hover{background:var(--table-row-hover-bg, rgba(0, 0, 0, .03))}.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{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.75rem;position:relative;z-index:1;padding-bottom:.2rem}.fwkDataPart .masterPane .masterPaneRow i[class*=fa-lock]{opacity:.7;font-size:.875rem}.fwkDataPart .detailPane{position:relative;background:var(--paper-colour-2);padding:1rem 1rem 0;overflow:auto;box-sizing:border-box;min-height:0}.fwkDataPart .detailPane::-webkit-scrollbar{width:8px}.fwkDataPart .detailPane::-webkit-scrollbar-track{background:var(--scrollbar-track-bg, rgba(0, 0, 0, .05));border-radius:4px}.fwkDataPart .detailPane::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg, rgba(0, 0, 0, .2));border-radius:4px}.fwkDataPart .detailPane::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg, rgba(0, 0, 0, .3))}.fwkDataPart .detailPane:before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(to bottom,rgba(0,0,0,.05) 0%,transparent 100%);pointer-events:none;z-index:1}.fwkDataPart .filterBox{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.fwkDataPart .filterBox .fwkTextField{margin:0;flex:1;min-width:0}.fwkDataPart .masterStats{padding:1rem;background:var(--paper-colour-2, #f8f9fa);border-top:1px solid var(--border-muted, rgba(0, 0, 0, .08));font-size:.875rem;color:var(--text-muted, #6c757d);font-weight:500;text-align:center;grid-row:4}@media(max-width:1024px){.fwkDataPart>.fwkToolBar .left{flex-wrap:nowrap}.fwkDataPart>.fwkToolBar .dataPartFilterControls{flex-wrap:nowrap}.fwkDataPart>.fwkToolBar .fwkTextFieldX[type=search]{flex:0 1 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 1 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(max-width:768px){.fwkDataPart{width:calc(100% - 1rem);margin:0 .5rem}.fwkDataPart>.fwkToolBar{flex-wrap:nowrap;align-items:center}.fwkDataPart>.fwkToolBar .right{order:2;flex:1 1 auto;min-width:0;flex-wrap:wrap;justify-content:flex-end}.fwkDataPart>.fwkToolBar .left{order:1;flex:0 1 auto;width:auto}.fwkDataPart>.fwkToolBar .dataPartMoreFiltersMenu{left:0;right:auto}.fwkDataPart>.fwkToolBar.compactControls{flex-wrap:nowrap;align-items:center}.fwkDataPart>.fwkToolBar.compactControls .left{order:1;flex:0 0 auto;width:auto}.fwkDataPart>.fwkToolBar.compactControls .right{order:2;flex:1 1 auto;width:auto;justify-content:flex-end}.fwkDataPart .dataContainer{grid-template-columns:1fr;grid-template-rows:auto 1fr}.fwkDataPart .masterContainer{border-right:none;border-bottom:1px solid var(--border-muted, rgba(0, 0, 0, .08));max-height:40vh}.fwkDataPart .masterPane .masterPaneRow{padding:.75rem}.fwkDataPart .detailPane{padding:1rem}}@media(max-width:480px){.fwkDataPart{width:calc(100% - 1rem);margin:0 .5rem;border-radius:8px}.fwkDataPart>.fwkToolBar .right{width:100%;justify-content:flex-end}.fwkDataPart>.fwkToolBar .left{row-gap:.5rem}.fwkDataPart>.fwkToolBar .fwkTextFieldX[type=search]{flex:1 1 100%;min-width:0}.fwkDataPart>.fwkToolBar .dataPartFilterControls{flex:1 1 auto}.fwkDataPart>.fwkToolBar .dataPartMoreFiltersMenu{min-width:min(16rem,calc(100vw - 2rem))}.fwkDataPart>.fwkToolBar.compactControls .left{width:auto}.fwkDataPart>.fwkToolBar.compactControls .right{width:auto;flex:1 1 auto}.fwkDataPart .masterPane{padding:.25rem}.fwkDataPart .masterPane .masterPaneRow{padding:.5rem}.fwkDataPart .detailPane{padding:.75rem}.fwkDataPart .masterStats{padding:.75rem;font-size:.8rem}}@media(max-width:380px){.fwkDataPart{width:100%;margin:0;border-radius:0;box-shadow:none}.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{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--border-muted, rgba(0, 0, 0, .08))}.fwkDataPart .listViewContainer .tableViewContainer{background:var(--paper-colour-1, #ffffff);flex:1;min-height:0;display:grid;grid-template-rows:1fr auto}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper{overflow:auto;border:1px solid var(--table-border-color, rgba(0, 0, 0, .1));border-bottom:none}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper::-webkit-scrollbar{width:8px;height:8px}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper::-webkit-scrollbar-track{background:var(--scrollbar-track-bg, rgba(0, 0, 0, .05));border-radius:4px}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg, rgba(0, 0, 0, .2));border-radius:4px}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg, rgba(0, 0, 0, .3))}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper .table{margin-bottom:0;border:none}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper .table th{background:var(--table-header-bg, rgba(0, 0, 0, .03));border-top:none;border-bottom:2px solid var(--table-border-color, rgba(0, 0, 0, .1));font-weight:600;font-size:.875rem;color:var(--text-primary, #212529);padding:.75rem;position:sticky;top:0;z-index:10}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper .table tbody tr{transition:background-color .15s ease}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper .table tbody tr:hover:not(.table-active){background-color:var(--table-row-hover-bg, rgba(0, 0, 0, .03))!important}.fwkDataPart .listViewContainer .tableViewContainer .tableWrapper .table tbody tr.table-active{background:var(--accent-colour-faint)!important;color:var(--accent-colour)!important;font-weight:500!important;border-left:3px solid var(--accent-colour)!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{padding:.75rem;vertical-align:middle;border-top:1px solid var(--table-border-color, rgba(0, 0, 0, .1))}.fwkDataPart .listViewContainer .tableViewContainer .tableFooter{padding:1rem;font-size:.875rem;color:var(--text-muted, #6c757d);font-weight:500;text-align:center;background:var(--paper-colour-2, #f8f9fa);border:1px solid var(--table-border-color, rgba(0, 0, 0, .1));border-top:none;grid-row:2}.fwkDataPart .listViewContainer .listDetailView{background:var(--paper-colour-1, #ffffff);height:100%;padding:1.5rem;overflow-y:auto;min-height:0}.fwkDataPart .listViewContainer .listDetailView::-webkit-scrollbar{width:8px}.fwkDataPart .listViewContainer .listDetailView::-webkit-scrollbar-track{background:var(--scrollbar-track-bg, rgba(0, 0, 0, .05));border-radius:4px}.fwkDataPart .listViewContainer .listDetailView::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg, rgba(0, 0, 0, .2));border-radius:4px}.fwkDataPart .listViewContainer .listDetailView::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg, rgba(0, 0, 0, .3))}.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{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--paper-colour-1, #ffffff)}.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, rgba(0, 0, 0, .05));border-radius:4px}.fwkDataPart .tileViewContainer .tileGrid::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg, rgba(0, 0, 0, .2));border-radius:4px}.fwkDataPart .tileViewContainer .tileGrid::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg, rgba(0, 0, 0, .3))}.fwkDataPart .tileViewContainer .tile:hover{background-color:var(--paper-colour-hover, #e9ecef)!important;border-color:var(--border-hover, #ced4da)!important;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.fwkDataPart .tileViewContainer .tile.selected:hover{background-color:var(--accent-colour-faint, #e3f2fd)!important}.fwkDataPart .tileViewContainer .tileStats{padding:1rem;font-size:.875rem;color:var(--text-muted, #6c757d);font-weight:500;text-align:center;background:var(--paper-colour-2, #f8f9fa);border-top:1px solid var(--border-muted, rgba(0, 0, 0, .08))}.fwkDataPart .tileViewContainer .listDetailView{background:var(--paper-colour-1, #ffffff);height:100%;padding:1.5rem;overflow-y:auto;min-height:0}.fwkDataPart .tileViewContainer .listDetailView::-webkit-scrollbar{width:8px}.fwkDataPart .tileViewContainer .listDetailView::-webkit-scrollbar-track{background:var(--scrollbar-track-bg, rgba(0, 0, 0, .05));border-radius:4px}.fwkDataPart .tileViewContainer .listDetailView::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg, rgba(0, 0, 0, .2));border-radius:4px}.fwkDataPart .tileViewContainer .listDetailView::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg, rgba(0, 0, 0, .3))}.fwkDataPart .lazyColumnLoading{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted, #6c757d);font-size:.875rem}.fwkDataPart .lazyColumnLoading i{opacity:.6}.fwkDataPart .virtualizedTable{display:flex;flex-direction:column;height:100%;min-height:0}.fwkDataPart .virtualizedTable .virtualTableHeader{flex-shrink:0;position:sticky;top:0;z-index:10}.fwkDataPart .virtualizedTable .virtualTableHeaderCell{border-right:1px solid var(--table-border-color, rgba(0, 0, 0, .1))}.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, rgba(0, 0, 0, .05));border-radius:4px}.fwkDataPart .virtualizedTable .virtualTableBody::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg, rgba(0, 0, 0, .2));border-radius:4px}.fwkDataPart .virtualizedTable .virtualTableBody::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-bg, rgba(0, 0, 0, .3))}.fwkDataPart .virtualizedTable .virtualTableRow{transition:background-color .15s ease}.fwkDataPart .virtualizedTable .virtualTableRow:hover:not(.table-active){background-color:var(--table-row-hover-bg, rgba(0, 0, 0, .03))}.fwkDataPart .virtualizedTable .virtualTableRow.striped{background-color:var(--table-stripe-bg, rgba(0, 0, 0, .02))}.fwkDataPart .virtualizedTable .virtualTableRow.table-active{background:var(--accent-colour-faint)!important;color:var(--accent-colour)!important;font-weight:500!important;position:relative}.fwkDataPart .virtualizedTable .virtualTableRow.table-active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent-colour)}.fwkDataPart .virtualizedTable .virtualTableRow.table-active:hover{background:var(--selected-hover)!important}.fwkDataPart .virtualizedTable .virtualTableCell{border-right:1px solid var(--border-muted, rgba(0, 0, 0, .05))}.fwkDataPart .virtualizedTable .virtualTableCell:last-child{border-right:none}.page-404{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--page404-bg, var(--background-colour));padding:2rem}.page-404__content{max-width:480px;width:100%;text-align:center;animation:page404-fadeIn .6s ease-out}@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{max-height:50px;max-width:180px;cursor:pointer;transition:transform .2s ease}.page-404__logo:hover{transform:scale(1.05)}.page-404__title-brand{font-family:var(--font-family-heading);font-size:1.5rem;font-weight:700;color:var(--colour-dark);cursor:pointer}.page-404__illustration{margin-bottom:2rem}.page-404__frame{display:inline-block;padding:8px;background:linear-gradient(135deg,var(--colour-dark) 0%,var(--text-muted) 50%,var(--colour-dark) 100%);border-radius:4px;box-shadow:0 8px 32px #0000001f,inset 0 1px #ffffff1a}.page-404__frame-inner{width:180px;height:140px;background:var(--paper-colour);border-radius:2px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.page-404__frame-inner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.015) 50%,transparent 100%),linear-gradient(0deg,transparent 0%,rgba(0,0,0,.015) 50%,transparent 100%);background-size:4px 4px}.page-404__frame-text{font-family:var(--font-family-heading);font-size:3rem;font-weight:300;color:var(--colour-border);letter-spacing:.1em;position:relative}.page-404__message{margin-bottom:2rem}.page-404__message h1{font-family:var(--font-family-heading);font-size:1.5rem;font-weight:600;color:var(--colour-dark);margin:0 0 .75rem;line-height:1.3}.page-404__message p{font-size:1rem;color:var(--text-muted);line-height:1.6;margin:0}.page-404__actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.page-404__btn{padding:12px 24px;border-radius:6px;font-weight:600;font-size:.9rem;border:2px solid transparent;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.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{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--colour-border)}.page-404__suggestions p{font-size:.875rem;color:var(--text-muted);margin:0 0 .75rem}.page-404__links{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap}.page-404__link{font-size:.875rem;font-weight:500;color:var(--accent-colour);text-decoration:none;transition:color .2s ease;position:relative}.page-404__link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--colour-dark);transition:width .2s ease}.page-404__link:hover{color:var(--colour-dark)}.page-404__link:hover:after{width:100%}@media(max-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{width:100%;max-width:200px;justify-content:center}.page-404__links{gap:1rem}}.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:nth-child(1),.fwkAuditTrail table td:nth-child(1){width:15%}.fwkAuditTrail table th:nth-child(2),.fwkAuditTrail table td:nth-child(2){width:15%}.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){width:55%;word-break:break-word;white-space:pre-wrap}.fwkNotes.fwkTextCol{flex-direction:column}.fwkLastNote{display:flex;flex-direction:column;background-color:#ffebcd;padding-bottom:10px;width:100%}.fwkLastNote>div{display:flex}.fwkEntityPopup{width:fit-content}.fwkEntityPopup .modal-dialog{max-height:90vh!important;height:80vh;max-width:80%;margin:5vh auto}.fwkEntityPopup .modal-content{overflow:hidden!important;padding:0;flex:1;min-height:0;display:flex;flex-direction:column}.fwkEntityPopup .entityPopupContainer{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.fwkEntityPopup .entityPopupHeader{flex-shrink:0;padding:8px 0;border-bottom:1px solid var(--border-colour, #e0e0e0)}.fwkEntityPopup .entityPopupToolbarContainer{flex-shrink:0;position:sticky;top:0;z-index:10;background-color:var(--paper-colour, #fff);border-bottom:1px solid var(--border-colour, #e0e0e0)}.fwkEntityPopup .entityPopupContent{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;min-height:0;scrollbar-width:thin;scrollbar-color:var(--border-colour) var(--bg-muted)}.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{overflow:hidden!important;padding:0}.fwkEntityPopup .entityPopup-ledger .fwkDataPart{height:100%!important;display:flex!important;flex-direction:column!important}.fwkEntityPopup .entityPopup-ledger .fwkTabs{flex:1!important;min-height:0!important;display:flex!important;flex-direction:column!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;font-weight:600;border-radius:.3rem;height:1.5rem;padding:.5rem}.fwkEntityPopup .entityPopup-ledger .fwkLedger .fwkIconButton.button.disabled{background-color:var(--disabled-colour)!important;pointer-events:none;cursor:default;color:var(--text-inverse)}.entityToolbar{border-bottom:1px solid var(--border-colour, #e0e0e0);padding:4px 8px;background-color:var(--toolbar-bg-color, #f8f9fa)}.entityToolbar .fwkToolBar{background-color:var(--toolbar-bg-color);color:var(--toolbar-text-color)}.entityKindLabel{display:flex;align-items:center;padding:8px 12px;color:var(--text-muted, #495057);font-size:16px;font-weight:600}.entityKindLabel strong{color:var(--colour-text, #212529)}.fwkPageWidth{margin-left:auto;margin-right:auto;max-width:var(--page-width);width:100%}*{box-sizing:border-box;outline:none}html,body{margin:0;padding:0;color:var(--colour-text);background-color:var(--background-colour);font-family:Roboto,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-style:normal;font-variant:normal;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-osx-font-smoothing:grayscale;min-height:100%}.portalbody{background:var(--background-colour)}.flex{display:flex}.flex.centered{justify-content:center}.noBackground{background-color:none}.rounded{border-radius:.5rem}@media screen and (min-width:1200px){html,body{font-size:18px}}@media screen and (max-device-width:768px){body{font-size:10px;line-height:1}}@media screen and (min-device-width:768px)and (max-device-width:1024px){body{font-size:10px;line-height:1.2}}@media screen and (max-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{font-family:Roboto Condensed,sans-serif;font-weight:700;text-transform:uppercase}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{background-color:#64666d;color:#fff}@keyframes slideUp{0%{bottom:-50px;opacity:0}to{bottom:50%;opacity:1}}.email-verify-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:2px 8px;border-radius:10px;font-weight:500;white-space:nowrap}.email-verify-badge.verified{background-color:#e6f7e6;color:#2d7a2d;border:1px solid #b3dfb3}.email-verify-badge.verified .fa{color:#2d7a2d}.email-verify-badge.unverified{background-color:#fff8e6;color:#8a6500;border:1px solid #f0d080}.email-verify-badge.unverified .fa{color:#c98a00}.email-verify-badge .verify-date{margin-left:4px;font-weight:400;opacity:.8}.email-verify-modal{padding:8px 0}.email-verify-modal .evs-step{display:flex;flex-direction:column;gap:12px}.email-verify-modal .evs-intro{margin:0;color:#555;line-height:1.5}.email-verify-modal .evs-email{font-size:15px;font-weight:600;color:#1a1a1a;padding:8px 12px;background:#f5f5f5;border-radius:4px;border:1px solid #ddd}.email-verify-modal .evs-expiry{font-size:12px;color:#888}.email-verify-modal .evs-error{padding:8px 12px;background:#fff0f0;border:1px solid #f5c0c0;border-radius:4px;color:#c0392b;font-size:13px}.email-verify-modal .evs-error .fa{margin-right:5px}.email-verify-modal .evs-success{align-items:center;text-align:center;padding:16px 0}.email-verify-modal .evs-success .evs-success-icon{font-size:48px;color:#2d7a2d}.email-verify-modal .evs-success p{margin:8px 0 0;color:#333}.evp-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background-colour, #f4f6f9);font-family:var(--font-family-heading, sans-serif)}.evp-card{background:var(--card-background, #fff);border-radius:var(--card-border-radius, 8px);box-shadow:var(--shadow-lg, 0 2px 16px rgba(0, 0, 0, .1));border:var(--card-border, none);padding:48px 40px;max-width:440px;width:100%;text-align:center}.evp-logo{font-size:48px;color:var(--accent-colour, #aaa);margin-bottom:24px}.evp-logo img{max-height:60px;max-width:200px;object-fit:contain}.evp-body{display:flex;flex-direction:column;align-items:center;gap:12px}.evp-body h2{margin:0;font-size:22px;font-weight:600;color:var(--text-primary, #333)}.evp-body p{margin:0;color:var(--text-muted, #555);line-height:1.5}.evp-spinner{font-size:36px;color:var(--text-muted, #888)}.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)}
