:root{--brand-dark:#004767;--brand-dark-d:#00344c;--brand-teal:#03bfcb;--brand-teal-d:#029aa4;--brand-navy:#004767;--brand-navy-d:#00344c;--brand-gold:#03bfcb;--brand-gold-d:#029aa4;--bg:#f3f7f9;--surface:#fff;--surface-2:#f7fafb;--border:#dce6eb;--text:#26292e;--text-muted:#68707a;--text-on-brand:#fff;--radius:10px;--shadow:0 1px 2px #0047670f, 0 8px 24px -12px #00476740;--sans:"Segoe UI", system-ui, Roboto, Helvetica, Arial, sans-serif;font:16px/1.5 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-height:100svh;margin:0}h1,h2,h3{color:var(--brand-dark);margin:0;font-weight:600}a{color:var(--brand-dark)}button{font:inherit;cursor:pointer}.page-error{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:8px;margin-top:16px;padding:10px 14px}.unbillable-pill{color:#b54708;vertical-align:1px;white-space:nowrap;background:#fef4e6;border:1px solid #f5dcb8;border-radius:999px;margin-left:8px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.icon-btn{border:1px solid var(--border);width:26px;height:26px;color:var(--brand-dark);opacity:0;background:0 0;border-radius:7px;justify-content:center;align-items:center;padding:0;transition:opacity .1s;display:inline-flex}tr:hover .icon-btn{opacity:1}.icon-btn+.icon-btn{margin-left:5px}.icon-btn:hover{background:var(--surface-2);border-color:var(--brand-teal)}.icon-btn:disabled{color:var(--text-muted);cursor:default}.icon-btn:disabled:hover{border-color:var(--border);background:0 0}tr:hover .icon-btn:disabled{opacity:.35}.icon-btn svg{width:14px;height:14px}.msi{letter-spacing:normal;text-transform:none;white-space:nowrap;-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;-webkit-user-select:none;user-select:none;direction:ltr;font-family:Material Symbols Outlined;font-size:18px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.icon-btn .msi{font-size:16px}.icon-btn-danger{color:#c22e2e;border-color:#e3b4b4}.icon-btn-danger:hover{background:#fbeaea;border-color:#c22e2e}.kebab{display:inline-flex;position:relative}.kebab-menu{z-index:70;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;min-width:150px;padding:4px;display:flex;position:fixed;box-shadow:0 12px 28px -10px #00000059}.kebab-item{text-align:left;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:7px 12px;font-size:14px}.kebab-item:hover{background:var(--surface-2)}.kebab-danger{color:#c22e2e}.kebab-danger:hover{background:#fbeaea}.app{grid-template-rows:auto 1fr;min-height:100svh;display:grid}.app-header{background:linear-gradient(180deg, var(--brand-navy) 0%, var(--brand-navy-d) 100%);color:var(--text-on-brand);box-shadow:var(--shadow);align-items:center;gap:28px;padding:10px 24px;display:flex;position:relative}.brand{flex:none;align-items:center;display:flex}.brand-logo{width:auto;height:44px;display:block}.back-link{color:var(--text-on-brand);opacity:.9;flex:none;align-items:center;gap:6px;font-size:14px;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--brand-gold);opacity:1}.back-link svg{display:block}.top-menu{align-items:center;gap:4px;display:flex}.menu-item{color:#ffffffd9;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px;padding:8px 14px;font-size:15px}.menu-item:hover{color:#fff;background:#ffffff14}.menu-item.active{color:var(--brand-gold);border-bottom-color:var(--brand-gold);border-radius:8px 8px 0 0}.menu-group{display:flex;position:relative}.menu-parent{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.menu-parent .caret{opacity:.65;font-size:14px;transition:transform .15s}.menu-group:hover .menu-parent .caret,.menu-group:focus-within .menu-parent .caret{transform:rotate(180deg)}.menu-group.active .menu-parent{color:var(--brand-gold)}.submenu{background:var(--brand-navy-d);z-index:60;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;gap:2px;min-width:168px;margin-top:6px;padding:6px;display:none;position:absolute;top:100%;left:0;box-shadow:0 16px 40px -12px #00000080}.menu-group:hover .submenu,.menu-group:focus-within .submenu{display:flex}.submenu:before{content:"";height:6px;position:absolute;top:-6px;left:0;right:0}.submenu-item{color:#ffffffd9;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:8px 12px;font-size:14px}.submenu-item:hover{color:#fff;background:#ffffff1a}.submenu-item.active{color:var(--brand-gold)}.menu-toggle{color:var(--text-on-brand);cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:8px;padding:6px 8px;display:none}.menu-toggle:hover{border-color:var(--brand-gold);color:var(--brand-gold)}.menu-toggle svg{display:block}.mobile-menu{background:var(--brand-navy-d);z-index:70;border:1px solid #ffffff1f;border-radius:12px;min-width:214px;margin-top:6px;padding:8px;display:none;position:absolute;top:100%;right:16px;box-shadow:0 18px 44px -12px #0000008c}.mobile-group{padding:2px 0}.mobile-group-label{text-transform:uppercase;letter-spacing:.06em;color:#ffffff80;padding:6px 12px 2px;font-size:11px}.mobile-item{color:#ffffffe0;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:9px 12px;font-size:15px;display:block}.mobile-group .mobile-item{padding-left:22px}.mobile-item:hover{color:#fff;background:#ffffff14}.mobile-item.active{color:var(--brand-gold)}.mobile-logout{color:#ffffffb3;border-top:1px solid #ffffff1f;border-radius:0 0 8px 8px;margin-top:6px}@media (width<=760px){.app-header{gap:14px}.top-menu,.logout-btn.desktop-only{display:none}.menu-toggle{display:inline-flex}.mobile-menu{display:block}}.header-spacer{flex:1}.logout-btn{color:var(--text-on-brand);background:0 0;border:1px solid #ffffff59;border-radius:8px;padding:6px 14px}.logout-btn:hover{border-color:var(--brand-gold);color:var(--brand-gold)}.avatar-wrap{flex:none;display:flex;position:relative}.avatar-btn{width:38px;height:38px;color:var(--text-on-brand);letter-spacing:.5px;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:13px;font-weight:700;display:inline-flex}.avatar-btn:hover,.avatar-btn.active,.avatar-btn[aria-expanded=true]{border-color:var(--brand-gold);color:var(--brand-gold)}.avatar-btn{overflow:hidden}.avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar-menu{background:var(--brand-navy-d);z-index:60;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;min-width:230px;margin-top:8px;padding:6px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 16px 40px -12px #00000080}.avatar-id{padding:8px 12px 10px}.avatar-id-name{color:#fff;font-size:14px;font-weight:600}.avatar-id-email{color:#fff9;margin-top:1px;font-size:12.5px}.avatar-id-role{color:var(--brand-gold);margin-top:4px;font-size:11.5px;font-weight:600}.avatar-section{border-top:1px solid #ffffff1f;flex-direction:column;gap:2px;margin-top:4px;padding-top:6px;display:flex}.avatar-section-label{text-transform:uppercase;letter-spacing:.7px;color:#ffffff73;padding:3px 12px 4px;font-size:10.5px;font-weight:700}.login-btn{color:var(--text-on-brand);cursor:pointer;font:inherit;background:0 0;border:1px solid #ffffff59;border-radius:8px;padding:6px 14px}.login-btn:hover{border-color:var(--brand-gold);color:var(--brand-gold)}.main{padding:28px 32px;overflow:auto}.boot-loading{text-align:center;flex-direction:column;align-items:center;gap:14px;margin-top:18vh;display:flex}.boot-spinner{border:3px solid var(--border);border-top-color:var(--brand-mid);border-radius:50%;width:34px;height:34px;animation:.9s linear infinite boot-spin}@keyframes boot-spin{to{transform:rotate(360deg)}}.boot-text{color:var(--text-muted)}.boot-slow{max-width:380px;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px;font-size:13.5px}.access-gate{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:520px;box-shadow:var(--shadow);margin:12vh auto 0;padding:32px}.access-gate h1{color:var(--brand-dark);font-size:22px}.access-gate p{color:var(--text-muted);margin:10px 0 0}.dashboard{max-width:1500px;margin:0 auto;padding:28px 24px 48px}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(560px,1fr));gap:18px;display:grid}.chart-grid .chart-card{margin-top:24px}.dashboard-head h1{font-size:26px}.dashboard-sub{color:var(--text-muted);margin:4px 0 0}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:24px;padding:18px 20px}.chart-card-head{flex-direction:column;gap:3px;margin-bottom:10px;display:flex}.chart-card-head h2{font-size:17px}.chart-card-sub{color:var(--text-muted);font-size:13px}.chart-loading{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:40px 0;display:flex}.chart-loading .spinner{border:2px solid var(--border);border-top-color:var(--brand-teal);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite dash-spin}@keyframes dash-spin{to{transform:rotate(360deg)}}.card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;margin-top:24px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.card h2{margin-bottom:8px;font-size:17px}.card p{color:var(--text-muted);margin:0}.card code{color:var(--brand-dark);background:var(--surface-2);border-radius:5px;padding:1px 5px;font-size:.9em}.modal-overlay{z-index:200;background:#00344c73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:14px;flex-direction:column;width:480px;max-width:100%;max-height:calc(100svh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 60px -20px #00000073}.modal-head{background:linear-gradient(180deg, var(--brand-dark) 0%, var(--brand-dark-d) 100%);color:#fff;flex:none;justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.modal-head h2{color:#fff;font-size:20px}.modal-x{color:#fff;opacity:.85;background:0 0;border:none;padding:0 4px;font-size:26px;line-height:1}.modal-x:hover{opacity:1}.modal-form{flex-direction:column;flex:auto;min-height:0;display:flex}.modal-body{flex-direction:column;flex:auto;gap:16px;min-height:0;padding:22px;display:flex;overflow-y:auto}.field{flex-direction:column;gap:6px;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field-row>.field{min-width:0}.field-input{width:100%}.field-label{color:var(--brand-dark);font-size:13px;font-weight:600}.field-input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:9px 12px}.field-input:focus{outline:2px solid var(--brand-teal);outline-offset:1px;border-color:var(--brand-teal)}.field-abbr{text-transform:uppercase}.field-check{color:var(--brand-dark);cursor:pointer;align-items:center;gap:8px;font-weight:600;display:flex}.field-check input{width:16px;height:16px;accent-color:var(--brand-teal-d)}.field-hint{color:var(--text-muted);font-size:12.5px}.modal-section-label{border-top:1px solid var(--border);letter-spacing:.05em;text-transform:uppercase;color:var(--brand-dark);margin-top:14px;padding-top:12px;font-size:12px;font-weight:700}.field-readonly{color:var(--text);border-bottom:1px solid var(--border);cursor:text;-webkit-user-select:text;user-select:text;padding:9px 2px}.field-static{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-family:Consolas,Courier New,monospace;font-size:13px}.modal-wide{width:560px}.calc-preview{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px 14px;display:grid}.calc-preview div{flex-direction:column;gap:2px;display:flex}.calc-preview span{color:var(--text-muted);font-size:12px}.calc-preview strong{color:var(--brand-dark);font-variant-numeric:tabular-nums}.quickadd-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.quickadd-name{color:var(--brand-dark);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.quickadd-count{color:var(--text-muted);font-size:13px;font-weight:400}.quickadd-select{flex:none;width:200px}.quickadd-done{color:var(--text-muted);text-align:center;padding:12px 0}.modal-error{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:8px;padding:9px 12px;font-size:14px}.modal-foot{border-top:1px solid var(--border);background:var(--surface-2);flex:none;justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}.btn{font:inherit;border:1px solid #0000;border-radius:8px;padding:9px 18px;font-weight:600}.btn-primary{background:var(--brand-dark);color:#fff}.btn-primary:hover{background:var(--brand-dark-d)}.btn-ghost{color:var(--brand-dark);border-color:var(--border);background:0 0}.btn-ghost:hover{background:var(--surface-2)}.perm-tree{border:1px solid var(--border);border-radius:10px;overflow:hidden}.perm-group{border-bottom:1px solid var(--border)}.perm-group:last-child{border-bottom:none}.perm-group-head{background:var(--surface-2);justify-content:space-between;align-items:center;padding:7px 12px;display:flex}.perm-group-label{text-transform:uppercase;letter-spacing:.4px;color:var(--brand-dark);font-size:12px;font-weight:700}.perm-group-set{gap:4px;display:inline-flex}.perm-quick{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:1px 8px;font-size:11px}.perm-quick:hover{border-color:var(--brand-mid);color:var(--brand-dark)}.perm-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:7px 12px;display:flex}.perm-page{font-size:14px}.perm-seg{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.perm-seg-btn{border:none;border-left:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;padding:4px 12px;font-size:12.5px}.perm-seg-btn:first-child{border-left:none}.perm-seg-btn:hover{background:var(--surface-2)}.perm-seg-btn.on{color:#fff;font-weight:700}.perm-seg-btn.perm-none.on{background:#8a8f98}.perm-seg-btn.perm-read.on{background:var(--brand-mid)}.perm-seg-btn.perm-edit.on{background:var(--brand-dark)}.profile-current{align-items:center;gap:12px;margin-bottom:8px;display:flex}.profile-current-img{object-fit:cover;border:1px solid var(--border);border-radius:50%;width:56px;height:56px}.payments-list{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;padding:8px;display:flex}.payments-head,.payment-row{grid-template-columns:1fr 1fr 34px;align-items:center;gap:8px;display:grid}.payments-head span{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);padding:0 2px;font-size:11.5px;font-weight:700}.payments-foot{justify-content:space-between;align-items:center;margin-top:2px;display:flex}.payments-total{color:var(--brand-dark);font-variant-numeric:tabular-nums;font-weight:700}.role-grid{border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 12px;padding:10px 12px;display:grid}.costrate-grid{grid-template-columns:1fr 1fr 110px 34px!important}.costrate-end{color:var(--text-muted);white-space:nowrap;font-size:13px}.member-list{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;padding:8px 12px;display:flex}.member-row{grid-template-columns:1fr 240px;align-items:center;gap:10px;display:grid}.member-check{margin:0}.member-role{padding:6px 10px}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.pager-info{color:var(--text-muted);min-width:90px;font-size:13.5px}.pager-controls{align-items:center;gap:10px;display:flex}.pager-btn{background:var(--surface);border:1px solid var(--border);color:var(--brand-dark);border-radius:7px;padding:6px 12px;font-size:13.5px;font-weight:600}.pager-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--brand-teal)}.pager-btn:disabled{opacity:.4;cursor:default}.pager-page{color:var(--text-muted);font-size:13.5px}.pager-size select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:7px;padding:6px 10px;font-size:13.5px}.customers{max-width:none;margin:0 auto;padding:28px 24px 48px}.customers-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.customers-head h1{font-size:26px}.customers-sub{color:var(--text-muted);margin:4px 0 0}.customers-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.customers-search{font:inherit;border:1px solid var(--border);background:var(--surface);min-width:260px;color:var(--text);border-radius:8px;padding:8px 12px}.customers-search:focus{outline:2px solid var(--brand-teal);outline-offset:1px;border-color:var(--brand-teal)}.customers-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:20px;overflow-x:auto}.customers-table{border-collapse:collapse;width:100%;font-size:15px}.customers-table th{text-align:left;background:var(--surface-2);color:var(--brand-dark);border-bottom:2px solid var(--border);white-space:nowrap;padding:12px 16px;font-weight:600}.customers-table td{border-bottom:1px solid var(--border);padding:11px 16px}.customers-table tbody tr:last-child td{border-bottom:none}.customers-table tbody tr:hover{background:var(--surface-2)}.cell-abbr{color:var(--brand-dark);white-space:nowrap;font-weight:600}.pax8-badge{vertical-align:-4px;width:auto;height:17px;margin-left:8px;transition:transform .1s}a:hover>.pax8-badge{transform:scale(1.15)}.col-count{width:1%}.cell-count{text-align:center}.count-link{background:var(--surface-2);border:1px solid var(--border);color:var(--brand-dark);border-radius:999px;min-width:34px;padding:3px 10px;font-size:13.5px;font-weight:700}.count-link:hover{border-color:var(--brand-teal);background:#e8f7f8}.domain-chip{color:#026e75;white-space:nowrap;background:#e8f7f8;border-radius:999px;margin:2px 5px 2px 0;padding:2px 9px;font-size:12.5px;font-weight:600;display:inline-block}.cell-actions .row-edit{margin-left:6px}.row-edit{border:1px solid var(--border);color:var(--brand-dark);opacity:0;background:0 0;border-radius:7px;padding:5px 12px;font-size:13px;font-weight:600;transition:opacity .1s}.customers-table tbody tr:hover .row-edit{opacity:1}.row-edit:hover{background:var(--surface-2);border-color:var(--brand-teal)}.domains{max-width:none;margin:0 auto;padding:28px 24px 48px}.domains-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.domains-head h1{font-size:26px}.domains-sub{color:var(--text-muted);margin:4px 0 0}.domains-actions{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.domains-search{font:inherit;border:1px solid var(--border);background:var(--surface);min-width:220px;color:var(--text);border-radius:8px;padding:8px 12px}.domains-search:focus{outline:2px solid var(--brand-teal);outline-offset:1px;border-color:var(--brand-teal)}.domains-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:20px;overflow-x:auto}.domains-table{border-collapse:collapse;width:100%;font-size:15px}.domains-table th{text-align:left;background:var(--surface-2);color:var(--brand-dark);border-bottom:2px solid var(--border);white-space:nowrap;padding:12px 16px;font-weight:600}.domains-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:11px 16px}.domains-table tbody tr:last-child td{border-bottom:none}.domains-table tbody tr:hover{background:var(--surface-2)}.cell-domain{color:var(--brand-dark);font-weight:600}.cell-cust{font-weight:600}.cell-account{color:var(--text-muted);font-family:Consolas,Courier New,monospace;font-size:13px}.src{text-transform:capitalize;border-radius:999px;padding:2px 9px;font-size:12.5px;font-weight:600;display:inline-block}.src-aws{color:var(--brand-dark);background:#eaf1f5}.src-manual{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.src-pax8{color:#026e75;background:#e8f7f8}.domains .row-edit{border:1px solid var(--border);color:var(--brand-dark);opacity:0;background:0 0;border-radius:7px;padding:5px 12px;font-size:13px;font-weight:600;transition:opacity .1s}.domains-table tbody tr:hover .row-edit{opacity:1}.domains .row-edit:hover{background:var(--surface-2);border-color:var(--brand-teal)}.onoff{border-radius:999px;padding:2px 9px;font-size:12.5px;font-weight:600;display:inline-block}.onoff.on{color:#027a48;background:#e7f6ec}.onoff.off{color:#b54708;background:#fef4e6}.ql-container{box-sizing:border-box;height:100%;margin:0;font-family:Helvetica,Arial,sans-serif;font-size:13px;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{height:1px;position:absolute;top:50%;left:-100000px;overflow-y:hidden}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word;outline:none;height:100%;padding:12px 15px;line-height:1.42;overflow-y:auto}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{padding-left:1.5em;list-style-type:none;position:relative}.ql-editor li>.ql-ui:before{text-align:right;white-space:nowrap;width:1.2em;margin-left:-1.5em;margin-right:.3em;display:inline-block}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0, decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9, decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{text-align:left;margin-left:.3em;margin-right:-1.5em}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{max-width:100%;display:block}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{text-align:inherit;direction:rtl}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);pointer-events:none;font-style:italic;position:absolute;left:15px;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{cursor:pointer;float:left;background:0 0;border:none;width:28px;height:24px;padding:3px 5px;display:inline-block}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{vertical-align:middle;display:inline-block}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2px}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1px}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-top:5px;margin-bottom:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-top:5px;margin-bottom:5px;padding:5px 10px}.ql-snow .ql-editor code{padding:2px 4px;font-size:85%}.ql-snow .ql-editor .ql-code-block-container{color:#f8f8f2;background-color:#23241f;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;float:left;vertical-align:middle;height:24px;font-size:14px;font-weight:500;display:inline-block;position:relative}.ql-snow .ql-picker-label{cursor:pointer;width:100%;height:100%;padding-left:8px;padding-right:2px;display:inline-block;position:relative}.ql-snow .ql-picker-label:before{line-height:22px;display:inline-block}.ql-snow .ql-picker-options{white-space:nowrap;background-color:#fff;min-width:100%;padding:4px 8px;display:none;position:absolute}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;padding-top:5px;padding-bottom:5px;display:block}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{z-index:1;margin-top:-1px;display:block;top:100%}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{width:24px;height:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{width:152px;padding:3px 5px}.ql-snow .ql-color-picker .ql-picker-item{float:left;border:1px solid #0000;width:16px;height:16px;margin:2px;padding:0}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{width:18px;margin-top:-9px;position:absolute;top:50%;right:0}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{top:5px;right:5px}.ql-toolbar.ql-snow{box-sizing:border-box;border:1px solid #ccc;padding:8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{color:#444;white-space:nowrap;background-color:#fff;border:1px solid #ccc;padding:5px 12px;box-shadow:0 0 5px #ddd}.ql-snow .ql-tooltip:before{content:"Visit URL:";margin-right:8px;line-height:26px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;width:170px;height:26px;margin:0;padding:3px 5px;font-size:13px;display:none}.ql-snow .ql-tooltip a.ql-preview{text-overflow:ellipsis;vertical-align:top;max-width:200px;display:inline-block;overflow-x:hidden}.ql-snow .ql-tooltip a.ql-action:after{content:"Edit";border-right:1px solid #ccc;margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{content:"Save";border-right:0;padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.tasks{max-width:none;margin:0 auto;padding:28px 24px 48px}.tasks-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.tasks-head h1{font-size:26px}.tasks-sub{color:var(--text-muted);margin:4px 0 0}.tasks-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tasks-search{font:inherit;border:1px solid var(--border);background:var(--surface);min-width:260px;color:var(--text);border-radius:8px;padding:8px 12px}.tasks-search:focus{outline:2px solid var(--brand-teal);outline-offset:1px;border-color:var(--brand-teal)}.tasks-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:20px;overflow-x:auto}.tasks-table{border-collapse:collapse;width:100%;font-size:15px}.tasks-table th{text-align:left;background:var(--surface-2);color:var(--brand-dark);border-bottom:2px solid var(--border);white-space:nowrap;padding:12px;font-weight:600}.tasks-table td{border-bottom:1px solid var(--border);padding:11px 12px}.tasks-table tbody tr:last-child td{border-bottom:none}.tasks-table tbody tr:hover{background:var(--surface-2)}.cell-number{color:var(--brand-dark);white-space:nowrap;font-weight:600}.cell-customer{white-space:nowrap;font-weight:600}.cell-subject{white-space:normal;overflow-wrap:anywhere;min-width:200px}.cell-flags-inline{gap:6px;margin-top:4px;display:flex}.flag{white-space:nowrap;background:var(--surface-2);border:1px solid var(--border);color:inherit;border-radius:999px;padding:2px 9px;font-size:12.5px;font-weight:600;display:inline-block}.row-points-1 td{color:#b45309}.row-points-2 td{color:#c62828}.row-points-1 .cell-number,.row-points-1 .cell-customer{color:#b45309}.row-points-2 .cell-number,.row-points-2 .cell-customer{color:#c62828}.row-points-1 .cell-email,.row-points-1 .cell-date{color:#b45309;opacity:.75}.row-points-2 .cell-email,.row-points-2 .cell-date{color:#c62828;opacity:.75}.cell-email,.cell-date{color:var(--text-muted);white-space:nowrap}.pill{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-block}.pill-new{color:#026e75;background:#e8f7f8}.pill-in-progress{color:var(--brand-dark);background:#eaf1f5}.pill-waiting{color:#b45309;background:#fdf3e7}.pill-closed{color:var(--text-muted);background:#eef1f3}.pill-cancelled{color:#c62828;background:#fbeaea}.cell-next{overflow-wrap:anywhere;max-width:170px;font-size:13.5px}.cell-next .cell-subtle{color:var(--text-muted);white-space:nowrap;font-size:12px}.cell-done{min-width:74px}.done-bar{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:6px;overflow:hidden}.done-fill{background:var(--brand-teal);height:100%}.done-label{color:var(--text-muted);font-size:12px}.task-detail-grid{grid-template-columns:minmax(0,1fr) minmax(380px,32%);align-items:start;gap:20px;display:grid}@media (width<=1100px){.task-detail-grid{grid-template-columns:minmax(0,1fr)}}.task-side .todos{margin-top:20px}.task-side .todos h2{font-size:16px}.timeline{margin-top:24px}.timeline h2{margin:0 0 4px;font-size:16px}.timeline-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:560px;margin-top:10px;padding:8px 14px;font-size:13px;overflow-y:auto}.tl-item{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:7px 0}.tl-item:last-child{border-bottom:none}.tl-when{color:var(--text-muted);white-space:nowrap}.tl-by{color:var(--text-muted)}.task-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px 20px;margin-top:20px;padding:16px 20px;display:grid;position:relative}.ts-edit{opacity:1;position:absolute;top:12px;right:12px}.ts-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:600}.ts-value{overflow-wrap:anywhere;margin-top:3px}.comments{margin-top:28px}.comments h2{margin:0 0 4px;font-size:18px}.todos{margin-top:28px}.todos h2{margin:0 0 4px;font-size:18px}.todo-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:10px;padding:10px 16px}.todo-item{align-items:center;gap:6px;padding:5px 0;display:flex}.todo-item-drop{border-top:2px solid var(--brand-teal)}.todo-item .drag-grip{color:var(--text-muted);cursor:grab;flex:none;align-items:center;display:inline-flex}.todo-item .drag-grip svg{width:14px;height:14px}.todo-item .drag-grip .msi{font-size:15px}.todo-item[draggable=true]{opacity:.6}.todo-assignee{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:6px;flex:none;max-width:110px;padding:3px 4px;font-size:12px}.todo-eta{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:6px;flex:none;width:118px;padding:3px 5px;font-size:12px}.todo-eta-static{color:var(--text-muted);white-space:nowrap;font-size:12px}.todo-check{cursor:pointer;flex:1;align-items:center;gap:9px;min-width:0;display:flex}.todo-label{overflow-wrap:anywhere}.todo-label-done{color:var(--text-muted);text-decoration:line-through}.todo-x{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;padding:2px 6px;font-size:17px;line-height:1}.todo-item:hover .todo-x{opacity:1}.todo-x:hover{color:#c22e2e}.todo-add{border-top:1px solid var(--border);gap:8px;margin-top:8px;padding-top:10px;display:flex}.todo-add .field-input{flex:1}.comment{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:10px;padding:12px 16px}.comment-meta{color:var(--text-muted);align-items:center;gap:10px;font-size:13px;display:flex}.comment-author{color:var(--brand-dark);font-weight:600}.comment-chip{color:#026e75;background:#e8f7f8;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}.comment-chip-private{color:#b45309;background:#fdf3e7}.comment-body{margin-top:6px}.comment-body img{border-radius:6px;max-width:100%}.comment-body ul,.comment-body ol{margin:6px 0 6px 22px}.comment-body p{margin:6px 0}.comment-composer{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:10px 0 16px;padding:12px 16px}.comment-composer .ql-toolbar{border:1px solid var(--border);border-radius:8px 8px 0 0;font-family:inherit}.comment-composer .ql-container{border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;font-family:inherit;font-size:15px}.comment-composer .ql-editor{min-height:110px}.comment-composer .ql-editor img{max-width:100%}.comment-avatar{background:var(--surface-2);width:26px;height:26px;color:var(--brand-dark);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex;overflow:hidden}.comment-avatar img{object-fit:cover;width:100%;height:100%}.composer-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.vis-toggle{border:1px solid var(--border);color:var(--brand-dark);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:7px;padding:5px 10px;font-size:13px;font-weight:600;display:inline-flex}.vis-toggle:hover{background:var(--surface-2);border-color:var(--brand-teal)}.vis-toggle svg{width:16px;height:16px}.vis-toggle .msi{font-size:16px}.vis-toggle-slim{color:var(--text-muted);border:none;padding:2px 4px}.vis-toggle-slim:hover{color:var(--brand-dark);background:0 0}.vis-toggle-slim:disabled{cursor:default}.composer-actions{align-items:center;gap:10px;display:flex}.composer-status{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:7px 10px}.prio{white-space:nowrap;font-size:13px;font-weight:600}.prio-critical{color:#c62828}.prio-high{color:#b45309}.prio-medium{color:var(--brand-dark)}.prio-low{color:var(--text-muted)}.activities{max-width:none;margin:0 auto;padding:28px 24px 48px}.activities-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.activities-head h1{font-size:26px}.activities-sub{color:var(--text-muted);margin:4px 0 0}.activities-actions{align-items:center;gap:10px;display:flex}.activities-search{border:1px solid var(--border);width:240px;font:inherit;border-radius:8px;padding:8px 12px}.activities-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:20px;overflow-x:auto}.activities-table{border-collapse:collapse;width:100%;font-size:14px}.activities-table th{text-align:left;background:var(--surface-2);color:var(--brand-dark);border-bottom:2px solid var(--border);white-space:nowrap;padding:10px 12px;font-weight:600}.activities-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 12px}.activities-table tbody tr:last-child td{border-bottom:none}.activities-table tbody tr:hover{background:var(--surface-2)}.activities-table .col-actions{width:1%}.activities-table .cell-actions{padding-left:14px}.activities-table .cell-title{color:var(--brand-dark);font-weight:600}.activities-table .cell-client{color:var(--text-muted)}.activities-table .col-money,.activities-table .cell-money{text-align:right}.activities-table .cell-money{font-variant-numeric:tabular-nums}.activities-table .cell-po{color:var(--text-muted)}.activities-table .cell-empty{color:var(--text-muted);text-align:center;padding:24px}.budget-missing{color:#b54708;font-weight:700}.cell-roles{white-space:normal!important}.role-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--brand-dark);white-space:nowrap;border-radius:999px;margin:1px 4px 1px 0;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.cell-team{max-width:320px;white-space:normal!important}.money-negative{color:#c22e2e;font-weight:700}.overview-chart{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:20px;padding:16px}.overview-note{margin-top:12px}.overview-second{margin-top:32px}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(460px,1fr));align-items:start;gap:20px;margin-top:20px;display:grid}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.chart-card h2{margin:0 0 12px;font-size:17px}.chart-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.chart-toggle{color:var(--text-muted);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.row-link{cursor:pointer}.row-link:hover td{background:var(--surface-2)}.cell-subtle{color:var(--text-muted);margin-top:2px;font-size:12px}.search-results{max-height:340px;margin-top:4px;overflow-y:auto}.search-results .cell-title,.build-items .cell-title{white-space:normal;overflow-wrap:anywhere}.build-items .col-money{width:96px}.build-items .cell-actions{white-space:nowrap}.build-items .col-qty{width:84px}.build-items .qty-input{text-align:right;width:72px;padding:6px 8px}.build-totals{color:var(--text-muted);margin:4px 0 0}.build-totals strong{color:var(--brand-dark);font-variant-numeric:tabular-nums}.build-items .col-lead{width:110px}.lead-backorder{color:#b45309;font-weight:600}.build-items .col-drag{width:28px}.build-items .cell-drag{padding-right:0}.drag-grip{color:var(--text-muted);cursor:grab;align-items:center;display:inline-flex}.drag-grip:active{cursor:grabbing}.drag-grip svg{width:16px;height:16px}.drag-grip .msi{font-size:17px}.build-items tr[draggable=true]{opacity:.6}.row-drop-target td{border-top:2px solid var(--brand-teal)}.source-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--brand-dark);border-radius:999px;padding:1px 10px;font-size:12px;font-weight:700;display:inline-block}.source-verkada{background:#e8f2ee}.cell-mono{white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:13px}.source-filter{width:auto;padding:8px 10px}.products-pager{justify-content:center;align-items:center;gap:16px;margin-top:16px;display:flex}.products-pager-status{color:var(--text-muted);font-size:14px}.inline-spinner{border:2px solid var(--border);border-top-color:var(--brand-dark);vertical-align:-1px;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite inline-spin;display:inline-block}@keyframes inline-spin{to{transform:rotate(360deg)}}.chart-seg{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.chart-seg-btn{background:var(--surface);color:var(--text-muted);cursor:pointer;white-space:nowrap;border:none;padding:5px 10px;font-size:12.5px;font-weight:600}.chart-seg-btn+.chart-seg-btn{border-left:1px solid var(--border)}.chart-seg-btn.active{background:var(--surface-2);color:var(--brand-dark)}.cell-links{white-space:nowrap}.link-badge{vertical-align:-3px;border-radius:3px;width:17px;height:17px;margin-right:8px;transition:transform .1s}a:hover>.link-badge{transform:scale(1.15)}.toast-stack{z-index:1000;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;top:76px;right:16px}.toast{background:var(--brand-dark,#1d3a4d);color:#fff;border-left:4px solid var(--brand-teal,#2aa7a0);border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;animation:.18s ease-out toast-in;display:flex;box-shadow:0 6px 20px #00000040}.toast-success{border-left-color:#2e9e4f}.toast-message{flex:1;font-size:14px;line-height:1.4}.toast-x{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1}.toast-x:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.timesheet{max-width:none;margin:0 auto;padding:28px 16px 48px}.timesheet-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.timesheet-head h1{font-size:26px}.timesheet-sub{color:var(--text-muted);margin:4px 0 0}.week-nav{align-items:center;gap:10px;display:flex}.weekend-toggle{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin-right:8px;font-size:13.5px;display:inline-flex}.weekend-hidden-note{color:#b54708;font-size:12px;font-weight:600}.week-btn{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--brand-dark);cursor:pointer;border-radius:8px;font-size:15px}.week-btn:hover{border-color:var(--brand-mid)}.week-label{text-align:center;min-width:180px;color:var(--brand-dark);font-weight:600}.week-today{padding:5px 10px}.timesheet-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:20px;overflow-x:auto}.timesheet-table{border-collapse:collapse;width:100%;font-size:14px}.timesheet-table th{text-align:center;background:var(--surface-2);color:var(--brand-dark);border-bottom:2px solid var(--border);white-space:nowrap;padding:8px;font-weight:600}.timesheet-table th.col-activity{text-align:left;min-width:260px;padding-left:12px}.timesheet-table th.col-day{width:74px}.day-date{color:var(--text-muted);font-size:11px;font-weight:500;display:block}.timesheet-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 8px}.timesheet-table tbody tr:last-child td{border-bottom:none}.cell-activity{color:var(--brand-dark);font-weight:600;padding-left:12px!important}.cell-hours{text-align:center}.hours-input{text-align:center;border:1px solid var(--border);width:60px;font:inherit;font-variant-numeric:tabular-nums;border-radius:7px;padding:6px 4px}.hours-input:focus{border-color:var(--brand-mid);outline:none}.hours-input:disabled{background:var(--surface-2);color:var(--text-muted)}.hours-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.hours-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.hours-input[type=number]{-moz-appearance:textfield}.cell-rowtotal,.cell-daytotal,.cell-grandtotal{text-align:center;font-variant-numeric:tabular-nums;color:var(--brand-dark);font-weight:600}.cell-rowactions{width:1%}.timesheet-table tfoot td{border-top:2px solid var(--border);background:var(--surface-2);border-bottom:none;padding:8px}.cell-grandtotal{color:var(--brand-mid)}.foot-label{padding-left:12px!important}.add-row-btn{padding:4px 10px}.timesheet-footer{margin-top:10px}.add-activity{display:inline-block;position:relative}.add-caret{opacity:.7;margin-left:2px;font-size:10px}.picker-panel{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;width:340px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 40px -12px #00000059}.picker-input{border:1px solid var(--brand-mid);width:100%;font:inherit;box-sizing:border-box;border-radius:8px;padding:7px 10px}.picker-tree{flex-direction:column;gap:2px;max-height:300px;display:flex;overflow-y:auto}.picker-group{flex-direction:column;gap:2px;display:flex}.picker-client{text-align:left;background:var(--surface-2);font:inherit;color:var(--brand-dark);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:none;border-radius:7px;align-items:center;gap:7px;padding:6px 10px;font-weight:600;display:flex;overflow:hidden}.picker-client:hover{background:var(--border)}.picker-caret{color:var(--text-muted);font-size:11px;transition:transform .12s;display:inline-block}.picker-caret.open{transform:rotate(90deg)}.picker-count{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;margin-left:auto;padding:0 7px;font-size:11px;font-weight:600}.picker-option{text-align:left;background:var(--surface);font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:none;border-radius:7px;padding:5px 10px 5px 30px;overflow:hidden}.picker-option:hover{background:var(--surface-2);color:var(--brand-dark)}.picker-none{color:var(--text-muted);padding:7px 4px}.subs{max-width:none;margin:0 auto;padding:28px 24px 48px}.subs-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.subs-head h1{font-size:26px}.subs-sub{color:var(--text-muted);margin:4px 0 0}.subs-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.subs-search{font:inherit;border:1px solid var(--border);background:var(--surface);min-width:260px;color:var(--text);border-radius:8px;padding:8px 12px}.subs-search:focus{outline:2px solid var(--brand-teal);outline-offset:1px;border-color:var(--brand-teal)}.subs-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:20px;overflow-x:auto}.subs-table{border-collapse:collapse;width:100%;font-size:14px}.subs-table th{text-align:left;background:var(--surface-2);color:var(--brand-dark);border-bottom:2px solid var(--border);white-space:nowrap;padding:11px 12px;font-weight:600}.subs-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px}.subs-table tbody tr:last-child td{border-bottom:none}.subs-table tbody tr:hover{background:var(--surface-2)}.subs-table th.num,.subs-table td.num{text-align:right;font-variant-numeric:tabular-nums}.cell-client{color:var(--brand-dark);font-weight:600}.cell-sku{font-family:Consolas,Courier New,monospace;font-size:13px}.cell-descr{text-overflow:ellipsis;max-width:320px;overflow:hidden}.cell-date{color:var(--text-muted)}.cell-actions{white-space:nowrap;padding-left:14px}.billing{max-width:none;margin:0 auto;padding:28px 24px 48px}.billing-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.billing-head h1{font-size:26px}.billing-sub{color:var(--text-muted);margin:4px 0 0}.billing-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.detail-heading{color:var(--brand-dark);align-self:center;font-size:22px;font-weight:600}.detail-heading-month{color:var(--text-muted);font-size:18px;font-weight:400}.filter{flex-direction:column;gap:5px;display:flex}.filter-label{color:var(--brand-dark);font-size:12.5px;font-weight:600}.filter select{font:inherit;border:1px solid var(--border);background:var(--surface);min-width:170px;color:var(--text);border-radius:8px;padding:8px 12px}.filter select:focus{outline:2px solid var(--brand-teal);outline-offset:1px;border-color:var(--brand-teal)}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:18px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:2px;padding:14px 18px;display:flex}.kpi-label{color:var(--text-muted);font-size:13px;font-weight:600}.kpi-value{color:var(--brand-dark);font-size:26px;font-weight:600;line-height:1.2}.kpi-value.kpi-pos{color:#027a48}.kpi-value.kpi-neg{color:#b42318}.kpi-hint{color:var(--text-muted);font-size:12px}.billing-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:14px;overflow-x:auto}.billing-table{border-collapse:collapse;width:100%;font-size:14px}.billing-table th{text-align:left;background:var(--surface-2);color:var(--brand-dark);border-bottom:2px solid var(--border);white-space:nowrap;padding:11px 12px;font-weight:600}.billing-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 12px}.billing-table tbody tr:last-child td{border-bottom:none}.billing-table tbody tr:hover{background:var(--surface-2)}.billing-table th.num,.billing-table td.num{text-align:right;font-variant-numeric:tabular-nums}.cell-cust{color:var(--brand-dark);font-weight:600}.cell-product{text-overflow:ellipsis;max-width:260px;overflow:hidden}.cell-detail{text-overflow:ellipsis;max-width:340px;color:var(--text-muted);font-size:13px;overflow:hidden}.cell-sku{color:var(--text-muted);font-family:Consolas,Courier New,monospace;font-size:12.5px}.cell-period{color:var(--text-muted);font-size:13px}.cell-total{color:var(--brand-dark);font-weight:600}.row-click{cursor:pointer}.via-badge{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);vertical-align:1px;border-radius:999px;margin-left:7px;padding:1px 7px;font-size:11.5px;font-weight:600;display:inline-block}.billing-table .net-neg{color:#c22e2e;font-weight:700}.billing-table .net-zero{color:#c47b0a}.billing-table .net-pos{color:#1d8a43}.alert-badge{color:#fff;vertical-align:-3px;background:#b42318;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;margin-left:8px;font-size:12px;font-weight:700;display:inline-flex}.row-aws-group td{font-weight:600}.row-aws-other td{color:#b42318;font-weight:700}.row-aws-other{cursor:pointer}.other-cta{font-size:12.5px;font-weight:400;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.row-aws-other .cell-detail,.row-aws-other .cell-sku,.row-aws-other .cell-period,.row-aws-other .cell-cust{color:#b42318}.col-lock{width:1%}.cell-lock{text-align:right;padding-right:14px}.lock-ind{margin-left:6px;font-size:15px}.col-status{width:1%}.cell-status{white-space:nowrap}.status-select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:7px;padding:4px 8px;font-size:13px}.status-select:focus{outline:2px solid var(--brand-teal);outline-offset:1px;border-color:var(--brand-teal)}.status-select:disabled{opacity:.5}.row-icon-btn{border:1px solid var(--border);vertical-align:middle;background:0 0;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;margin-right:6px;padding:0;display:inline-flex}.row-icon-btn img{width:18px;height:18px;display:block}.row-icon-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--brand-teal)}.row-icon-btn:disabled{cursor:not-allowed;opacity:.4}.lane-actions{grid-template-columns:28px 28px 28px 22px;justify-content:end;place-items:center;gap:6px;display:grid}.lane-actions .row-icon-btn{margin-right:0}.lane-actions .lock-ind{text-align:center;margin-left:0}.lock-btn{cursor:pointer;opacity:0;filter:grayscale();background:0 0;border:none;padding:2px 4px;font-size:15px;line-height:1;transition:opacity .1s}.billing-table tbody tr:hover .lock-btn{opacity:.55}.lock-btn:hover:not(:disabled){opacity:1}.lock-btn:disabled{cursor:not-allowed}.lock-btn-locked,.billing-table tbody tr:hover .lock-btn-locked{opacity:1;filter:none}.detail-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.detail-toolbar .detail-back{margin-top:0}.lock-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lock-note{color:#8a6d1a;background:#fff8e6;border:1px solid #edd9a3;border-radius:8px;padding:7px 12px;font-size:13.5px;font-weight:600}.lock-actions .qbo-warn{color:#b45309;cursor:help;font-size:20px}.lock-actions .qbo-paid{color:#2e7d3e;cursor:help;font-size:20px}.lock-actions .qbo-sent{color:var(--brand-dark);cursor:help;font-size:20px}.lock-toggle{border:1px solid var(--border);color:var(--brand-dark);background:0 0;border-radius:8px;padding:7px 14px;font-size:14px;font-weight:600}.lock-toggle:hover:not(:disabled){background:var(--surface-2);border-color:var(--brand-teal)}.lock-toggle:disabled{opacity:.5}.detail-back{border:1px solid var(--border);color:var(--brand-dark);background:0 0;border-radius:8px;margin-top:14px;padding:7px 14px;font-size:14px;font-weight:600}.detail-back:hover{background:var(--surface-2);border-color:var(--brand-teal)}.row-section td{background:var(--surface-2);color:var(--brand-dark);text-transform:uppercase;letter-spacing:.05em;padding:7px 12px;font-size:12.5px;font-weight:700}.billing-table tbody .row-section:hover{background:var(--surface-2)}.row-subtotal td{background:var(--surface-2);border-top:1px solid var(--border)}.row-subtotal .foot-label{font-size:13px}.billing-table tbody .row-subtotal:hover{background:var(--surface-2)}.billing-table tfoot td{border-top:2px solid var(--border);background:var(--surface-2);padding:11px 12px}.foot-label{text-align:right;color:var(--brand-dark);font-weight:600}.awsrules{max-width:800px;margin:0 auto;padding:28px 24px 48px}.awsrules-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.awsrules-head h1{font-size:26px}.awsrules-sub{color:var(--text-muted);margin:4px 0 0}.awsrules-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.awsrules-search{font:inherit;border:1px solid var(--border);background:var(--surface);min-width:220px;color:var(--text);border-radius:8px;padding:8px 12px}.awsrules-search:focus{outline:2px solid var(--brand-teal);outline-offset:1px;border-color:var(--brand-teal)}.awsrules-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:20px;overflow-x:auto}.awsrules-table{border-collapse:collapse;width:100%;font-size:15px}.awsrules-table th{text-align:left;background:var(--surface-2);color:var(--brand-dark);border-bottom:2px solid var(--border);white-space:nowrap;padding:12px 16px;font-weight:600}.awsrules-table td{border-bottom:1px solid var(--border);padding:11px 16px}.awsrules-table tbody tr:last-child td{border-bottom:none}.awsrules-table tbody tr:hover{background:var(--surface-2)}.col-move{width:1%}.cell-move{white-space:nowrap}.move-btn{background:var(--surface);border:1px solid var(--border);color:var(--brand-dark);border-radius:6px;width:26px;height:26px;margin-right:4px;font-size:13px;font-weight:700;line-height:1}.move-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--brand-teal)}.move-btn:disabled{opacity:.3;cursor:default}.cell-contains{color:var(--brand-dark);font-weight:600}.awsrules .row-edit{border:1px solid var(--border);color:var(--brand-dark);opacity:0;background:0 0;border-radius:7px;padding:5px 12px;font-size:13px;font-weight:600;transition:opacity .1s}.awsrules-table tbody tr:hover .row-edit{opacity:1}.awsrules .row-edit:hover{background:var(--surface-2);border-color:var(--brand-teal)}.cell-client{color:var(--brand-dark);white-space:nowrap;font-weight:600}.discrules{max-width:none;margin:0 auto;padding:28px 16px 48px}.discrules-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.discrules-head h1{font-size:26px}.discrules-sub{color:var(--text-muted);margin:4px 0 0}.discrules-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.discrules-search{font:inherit;border:1px solid var(--border);background:var(--surface);min-width:220px;color:var(--text);border-radius:8px;padding:8px 12px}.discrules-search:focus{outline:2px solid var(--brand-teal);outline-offset:1px;border-color:var(--brand-teal)}.discrules-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:20px;overflow-x:auto}.discrules-table{border-collapse:collapse;width:100%;font-size:14px}.discrules-table th{text-align:left;background:var(--surface-2);color:var(--brand-dark);border-bottom:2px solid var(--border);white-space:nowrap;padding:9px 8px;font-weight:600}.discrules-table td{border-bottom:1px solid var(--border);padding:8px}.discrules-table th:first-child,.discrules-table td:first-child{padding-left:14px}.discrules-table th:last-child,.discrules-table td:last-child{padding-right:14px}.discrules-table tbody tr:last-child td{border-bottom:none}.discrules-table tbody tr:hover{background:var(--surface-2)}.col-sku{width:1%}.cell-sku{color:var(--brand-dark);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.col-product{min-width:160px}.cell-product{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.cell-adj{white-space:nowrap;font-weight:600}.cell-money{white-space:nowrap}.money-loading{color:var(--text-muted);animation:1.2s ease-in-out infinite money-pulse}@keyframes money-pulse{0%,to{opacity:.35}50%{opacity:1}}.pricing-loading{color:var(--text-muted);white-space:nowrap;align-items:center;gap:7px;font-size:14px;display:inline-flex}.spinner{border:2px solid var(--border);border-top-color:var(--brand-teal);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spinner-turn}@keyframes spinner-turn{to{transform:rotate(360deg)}}.cell-adjusted{color:var(--brand-dark);font-weight:600}.net-neg{color:#c22e2e;font-weight:700}.net-zero{color:#c47b0a}.net-pos{color:#1d8a43}.cell-clients{max-width:260px}.client-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--brand-dark);white-space:nowrap;border-radius:999px;margin:1px 3px 1px 0;padding:1px 7px;font-size:12px;font-weight:600;display:inline-block}.client-chip-all{color:#026e75;background:#e5f6f7;border-color:#b6e7ea}.type-pill{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.type-discount{color:#026e75;background:#e5f6f7}.type-markup{color:#92600a;background:#fdf1e2}.cell-actions{text-align:right;white-space:nowrap}.discrules .row-edit{border:1px solid var(--border);color:var(--brand-dark);opacity:0;background:0 0;border-radius:7px;padding:4px 11px;font-size:13px;font-weight:600;transition:opacity .1s}.discrules-table tbody tr:hover .row-edit{opacity:1}.discrules .row-edit:hover{background:var(--surface-2);border-color:var(--brand-teal)}.num-right{text-align:right;font-variant-numeric:tabular-nums}.sku-combo{position:relative}.sku-list{z-index:20;background:var(--surface);border:1px solid var(--border);max-height:260px;box-shadow:var(--shadow);border-radius:8px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.sku-option{text-align:left;cursor:pointer;background:0 0;border:none;align-items:baseline;gap:10px;width:100%;padding:7px 10px;display:flex}.sku-option:hover{background:var(--surface-2)}.sku-option-sku{color:var(--brand-dark);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.sku-option-product{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.rule-band{flex-direction:column;gap:3px;display:flex}.rule-band-cap{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.rule-preview{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(5,1fr);gap:8px;padding:10px 12px;display:grid}.rule-stat{flex-direction:column;gap:2px;display:flex}.rule-stat-label{color:var(--text-muted);font-size:12px}.rule-stat-value{font-variant-numeric:tabular-nums;color:var(--brand-dark);font-weight:600}.sweep-warn{color:#c47b0a;font-weight:600}.foot-left{gap:8px;margin-right:auto;display:flex}.rule-delete{color:#c22e2e;background:0 0;border:1px solid #e3b4b4}.rule-delete:hover:not(:disabled){background:#fbeaea;border-color:#c22e2e}.client-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px 10px;display:grid}.client-check{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:14px;display:flex}.client-check input{width:15px;height:15px;accent-color:var(--brand-teal)}.client-check-disabled{opacity:.4;cursor:not-allowed}.client-check-all{border-bottom:1px solid var(--border);color:var(--brand-dark);margin-bottom:8px;padding-bottom:8px;font-weight:600}.appusers{max-width:none;margin:0 auto;padding:28px 16px 48px}.appusers-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.appusers-head h1{font-size:26px}.appusers-sub{color:var(--text-muted);margin:4px 0 0}.appusers-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:20px;overflow-x:auto}.appusers-table{border-collapse:collapse;width:100%;font-size:14px}.appusers-table th{text-align:left;background:var(--surface-2);color:var(--brand-dark);border-bottom:2px solid var(--border);white-space:nowrap;padding:10px 12px;font-weight:600}.appusers-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 12px}.appusers-table tbody tr:last-child td{border-bottom:none}.appusers-table tbody tr:hover{background:var(--surface-2)}.col-actions{width:1%}.cell-actions{padding-left:14px}.cell-name{color:var(--brand-dark);font-weight:600}.cell-email{color:var(--text-muted)}.cell-date{color:var(--text-muted);font-size:13px}.cell-empty{color:var(--text-muted);text-align:center;padding:24px}.role-pill{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.role-pill.role-super{color:#026e75;background:#e5f6f7;border-color:#b6e7ea}.role-pill.role-none{color:#b54708;background:#fef4e6;border-color:#f5dcb8}.status-pill{border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.status-active{color:#1d8a43;background:#e8f6ec}.status-off{color:#c22e2e;background:#fbeaea}.builtin-lock{color:var(--text-muted);align-items:center;padding:4px;display:inline-flex}.user-avatar{background:var(--brand-dark);color:#fff;letter-spacing:.4px;vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin-right:8px;font-size:10.5px;font-weight:700;display:inline-flex;overflow:hidden}.user-avatar img{object-fit:cover;width:100%;height:100%}.cell-userroles{max-width:260px;white-space:normal!important}.cell-userroles .role-pill{margin:1px 4px 1px 0}.avatar-crop-canvas{border:1px solid var(--border);background:#111;border-radius:10px;height:240px;margin-top:10px;position:relative;overflow:hidden}.avatar-crop-zoom{color:var(--text-muted);align-items:center;gap:10px;margin-top:8px;font-size:12.5px;display:flex}.avatar-crop-zoom input[type=range]{flex:1}
