:root{
  --avj-primary:#5a36f2;--avj-primary-2:#7c5cff;--avj-primary-dark:#2f257d;--avj-primary-rgb:90,54,242;
  --avj-soft:#f1efff;--avj-soft-2:#ddd6ff;--avj-border-accent:#c9bfff;--avj-bg:#f3f6fb;--avj-card:#fff;--avj-line:#dfe6f1;
  --avj-text:#16213a;--avj-muted:#697792;--avj-success:#0d9f68;--avj-warning:#d97706;
  --avj-danger:#d63c52;--avj-shadow:0 18px 45px rgba(30,43,82,.09);--avj-radius:20px
}
*{box-sizing:border-box}html:has(body.avj-so-fullscreen-page){margin:0!important;background:var(--avj-bg)!important;overflow-x:hidden}
body.avj-so-fullscreen-page{margin:0!important;min-width:320px;min-height:100vh;background:var(--avj-bg)!important;color:var(--avj-text);overflow-x:hidden}
body.avj-so-fullscreen-page #wpadminbar{display:none!important}body.avj-so-fullscreen-page #avj-so-standalone-root{min-height:100vh}
.avj-so-app,.avj-so-login,.avj-so-admin-wrap{font-family:Tahoma,Arial,sans-serif;color:var(--avj-text);font-size:13px;line-height:1.75}
.avj-so-app *,.avj-so-login *,.avj-so-admin-wrap *{box-sizing:border-box}.avj-so-app a,.avj-so-admin-wrap a{text-decoration:none}
.avj-so-app button,.avj-so-app input,.avj-so-app select,.avj-so-app textarea,.avj-so-login button,.avj-so-login input{font:inherit}
.avj-so-app h1,.avj-so-app h2,.avj-so-app h3,.avj-so-admin-wrap h1,.avj-so-admin-wrap h2,.avj-so-admin-wrap h3{line-height:1.45}
.avj-so-app code,.avj-so-admin-wrap code{direction:ltr;unicode-bidi:embed;display:inline-block;padding:2px 6px;border-radius:7px;background:#eef1f7;color:#42506a;font:10px Consolas,monospace}

/* Standalone shell inspired by the AVJ Timesheet portal. */
.avj-so-app{min-height:100vh;display:flex;flex-direction:column;background:var(--avj-bg);direction:rtl}
.avj-so-app-header{position:sticky;top:0;z-index:1001;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px max(22px,calc((100vw - 1440px)/2));background:rgba(255,255,255,.94);border-bottom:1px solid var(--avj-line);backdrop-filter:blur(16px)}
.avj-so-header-start{display:flex;align-items:center;gap:12px;min-width:0}.avj-so-brand{display:flex;align-items:center;gap:12px;color:var(--avj-text);min-width:0}
.avj-so-brand-mark{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:16px;background:linear-gradient(135deg,var(--avj-primary),var(--avj-primary-2));color:#fff;font-weight:900;box-shadow:0 10px 24px rgba(var(--avj-primary-rgb),.28)}
.avj-so-brand strong,.avj-so-brand small,.avj-so-profile-chip strong,.avj-so-profile-chip small{display:block}.avj-so-brand strong{font-size:16px}.avj-so-brand small,.avj-so-profile-chip small{margin-top:3px;color:var(--avj-muted);font-size:10px}
.avj-so-user-menu{display:flex;align-items:center;gap:8px}.avj-so-profile-chip{display:flex;align-items:center;gap:9px;padding:5px 7px;border-radius:14px;color:var(--avj-text)}.avj-so-profile-chip:hover{background:var(--avj-soft)}
.avj-so-current-date{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 11px;border:1px solid var(--avj-line);border-radius:13px;background:#f8f9fd;color:#52607a;font-size:10px;font-weight:800;white-space:nowrap;line-height:1}.avj-so-current-date i{width:17px;height:17px;color:var(--avj-primary);font-size:17px;line-height:17px}.avj-so-current-date-compact{display:none}
.avj-so-user-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--avj-soft);color:var(--avj-primary);font-weight:900}.avj-so-logout-link{padding:8px 12px;border-radius:10px;background:#fff0f2;color:var(--avj-danger);font-size:11px;font-weight:800}
.avj-so-nav-toggle{display:none;align-items:center;justify-content:center;gap:4px;width:46px;height:46px;border:1px solid rgba(var(--avj-primary-rgb),.14);border-radius:16px;background:linear-gradient(135deg,var(--avj-soft),#fff);box-shadow:0 10px 24px rgba(var(--avj-primary-rgb),.12);cursor:pointer}.avj-so-nav-toggle span{width:7px;height:7px;border-radius:50%;background:var(--avj-primary)}
.avj-so-app-layout{display:flex;align-items:flex-start;flex:1;gap:22px;width:100%;max-width:1440px;margin:0 auto;padding:22px}
.avj-so-sidebar{position:sticky;top:96px;width:286px;flex:0 0 286px;max-height:calc(100vh - 116px);padding:18px 14px;border:1px solid var(--avj-line);border-radius:28px;background:rgba(255,255,255,.96);box-shadow:var(--avj-shadow);overflow:hidden;z-index:1003}
.avj-so-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px 16px;margin-bottom:12px;border-bottom:1px solid #edf1f7}.avj-so-sidebar-head strong,.avj-so-sidebar-head small{display:block}.avj-so-sidebar-head strong{font-size:14px}.avj-so-sidebar-head small{margin-top:4px;color:var(--avj-muted);font-size:10px}
.avj-so-sidebar-close{display:none;width:34px;height:34px;border:1px solid var(--avj-line);border-radius:12px;background:#fff;color:var(--avj-text);font-size:22px;cursor:pointer}
.avj-so-sidebar nav{display:flex;flex-direction:column;gap:6px;max-height:calc(100vh - 190px);overflow:auto;padding:0 0 12px 4px;scrollbar-width:thin;overscroll-behavior:contain}
.avj-so-sidebar nav a{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 13px;border-radius:16px;color:#52607a;font-size:12px;font-weight:800;transition:.2s}.avj-so-sidebar nav a i{display:grid;place-items:center;width:29px;height:29px;border-radius:11px;background:#f5f7fc;color:var(--avj-primary);font-size:16px;line-height:29px}
.avj-so-sidebar nav a:hover,.avj-so-sidebar nav a.active{background:linear-gradient(135deg,var(--avj-primary),var(--avj-primary-2));color:#fff;box-shadow:0 14px 26px rgba(var(--avj-primary-rgb),.18)}.avj-so-sidebar nav a:hover i,.avj-so-sidebar nav a.active i{background:rgba(255,255,255,.18);color:#fff}
.avj-so-main{flex:1;min-width:0}.avj-so-content{width:100%;padding:0 0 32px}.avj-so-nav-overlay{display:none}.avj-so-mobile-nav{display:none}

/* Common surfaces. */
.avj-so-module,.avj-so-card,.avj-so-form-section,.avj-so-table-wrap,.avj-so-role-card{border:1px solid var(--avj-line);background:#fff;box-shadow:0 12px 30px rgba(31,47,90,.05)}
.avj-so-module{padding:24px;border-radius:26px}.avj-so-module-head,.avj-so-toolbar,.avj-so-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.avj-so-module-head h1,.avj-so-toolbar h1,.avj-so-form-heading h1{margin:2px 0 6px;font-size:24px}.avj-so-module-head p,.avj-so-toolbar p,.avj-so-form-heading p{margin:0;color:var(--avj-muted);font-size:12px}.avj-so-kicker{display:block;margin-bottom:6px;color:var(--avj-primary);font-size:10px;font-weight:900}.avj-so-backlink{display:inline-flex;margin-bottom:5px;color:var(--avj-primary);font-size:11px;font-weight:800}.avj-so-id-badge{padding:6px 10px;border-radius:999px;background:var(--avj-soft);color:var(--avj-primary);font-weight:800;direction:ltr}
.avj-so-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 15px;border:0;border-radius:13px;background:linear-gradient(135deg,var(--avj-primary),var(--avj-primary-2));color:#fff!important;font-size:11px;font-weight:800;cursor:pointer;box-shadow:0 10px 20px rgba(var(--avj-primary-rgb),.18);transition:.2s}.avj-so-btn:hover{transform:translateY(-1px);filter:saturate(1.08)}.avj-so-btn-light{background:#fff;color:var(--avj-primary)!important;box-shadow:none}.avj-so-btn-soft{background:var(--avj-soft);color:var(--avj-primary)!important;box-shadow:none}.avj-so-btn-ghost{background:#f7f9fc;color:#52607a!important;border:1px solid var(--avj-line);box-shadow:none}.avj-so-link-btn{display:inline-flex;align-items:center;justify-content:center;min-height:33px;padding:5px 10px;border:1px solid var(--avj-line);border-radius:10px;background:#f8faff;color:var(--avj-primary);font-size:10px;font-weight:800}
.avj-so-status,.avj-so-badge{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:4px 9px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}.avj-so-status.ok{background:#e5f8ef;color:#08724b}.avj-so-status.warn{background:#fff4df;color:#a65b00}.avj-so-status.bad{background:#fff0f2;color:#b4233b}.avj-so-badge{background:var(--avj-soft);color:var(--avj-primary)}
.avj-so-alert{padding:11px 13px;margin:10px 0;border-radius:13px;background:#eff6ff;color:#1d4ed8}.avj-so-alert.danger{background:#fff0f2;color:#b4233b}.avj-so-toast-inline{position:sticky;top:88px;z-index:50;width:max-content;max-width:100%;margin:0 0 12px auto;padding:9px 13px;border-radius:12px;background:#e5f8ef;color:#08724b;font-weight:800;box-shadow:0 8px 22px rgba(13,159,104,.12)}
.avj-so-empty,.avj-so-empty-state{color:var(--avj-muted);text-align:center}.avj-so-empty-state{display:grid;gap:6px;padding:36px 20px;border:1px dashed #cbd5e1;border-radius:18px;background:#fafcff}.avj-so-empty-state b{color:var(--avj-text);font-size:14px}.avj-so-empty-state span{font-size:11px}

/* Dashboard. */
.avj-so-welcome{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:30px;margin-bottom:18px;border-radius:28px;background:linear-gradient(135deg,var(--avj-primary-dark),var(--avj-primary) 58%,var(--avj-primary-2));color:#fff;box-shadow:0 22px 50px rgba(45,42,119,.22)}.avj-so-welcome .avj-so-kicker{color:#d8d1ff}.avj-so-welcome h2{margin:3px 0 7px;color:#fff;font-size:30px}.avj-so-welcome p{margin:0;opacity:.88}.avj-so-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.avj-so-stats article{padding:16px;border:1px solid var(--avj-line);border-radius:20px;background:#fff;box-shadow:0 8px 22px rgba(31,47,90,.05)}.avj-so-stats strong,.avj-so-stats span{display:block}.avj-so-stats strong{font-size:23px}.avj-so-stats span{margin-top:5px;color:var(--avj-muted);font-size:10px}
.avj-so-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:18px}.avj-so-hub-card{display:flex;flex-direction:column;min-height:178px;padding:20px;border:1px solid var(--avj-line);border-radius:24px;background:#fff;color:var(--avj-text);box-shadow:0 10px 26px rgba(31,47,90,.05);transition:.22s}.avj-so-hub-card:hover{transform:translateY(-3px);border-color:var(--avj-border-accent);box-shadow:var(--avj-shadow)}.avj-so-hub-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:var(--avj-soft);font-size:20px}.avj-so-hub-card b{margin-top:14px;font-size:16px}.avj-so-hub-card p{margin:7px 0;color:var(--avj-muted);font-size:11px;line-height:1.8}.avj-so-hub-card small{margin-top:auto;color:var(--avj-primary);font-weight:900}.avj-so-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.avj-so-card{padding:18px;border-radius:20px}.avj-so-card h2{margin:0 0 10px;font-size:15px}.avj-so-mini-list{list-style:none;margin:0;padding:0}.avj-so-mini-list li+li{border-top:1px solid var(--avj-line)}.avj-so-mini-list a{display:flex;justify-content:space-between;gap:10px;padding:10px 0;color:var(--avj-text)}.avj-so-mini-list b{font-size:11px}.avj-so-mini-list small{color:var(--avj-muted);font-size:9px;white-space:nowrap}

/* Filters and tables. */
.avj-so-filterbar,.avj-so-search{display:flex;align-items:center;gap:10px;padding:12px;margin-bottom:16px;border:1px solid var(--avj-line);border-radius:18px;background:#f9fbfd}.avj-so-searchbox{display:flex;align-items:center;gap:8px;flex:1;min-width:200px;padding:0 12px;border:1px solid var(--avj-line);border-radius:13px;background:#fff}.avj-so-searchbox i{color:var(--avj-muted)}.avj-so-searchbox input,.avj-so-search input{width:100%;min-height:42px;border:0!important;background:transparent!important;box-shadow:none!important;outline:0}.avj-so-filterbar>select{min-height:42px;min-width:160px;padding:0 10px;border:1px solid var(--avj-line);border-radius:13px;background:#fff}.avj-so-table-wrap{overflow:auto;border-radius:18px}.avj-so-table{width:100%;border-collapse:collapse;font-size:11px}.avj-so-table th{padding:12px;text-align:right;background:#f6f8fc;color:#596680;font-size:9px}.avj-so-table td{padding:12px;border-top:1px solid var(--avj-line);vertical-align:middle}.avj-so-table td strong,.avj-so-table td small{display:block}.avj-so-table td small{margin-top:3px;color:var(--avj-muted);font-size:8px}

/* Customers and personnel. */
.avj-so-customer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.avj-so-customer-card,.avj-so-person-card{padding:17px;border:1px solid var(--avj-line);border-radius:20px;background:#fff;box-shadow:0 8px 20px rgba(31,47,90,.04)}.avj-so-customer-card__top{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center}.avj-so-customer-card h3,.avj-so-person-card h3{margin:0;font-size:14px}.avj-so-customer-card p,.avj-so-person-card p{margin:3px 0 0;color:var(--avj-muted);font-size:10px}.avj-so-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--avj-soft),#fff);color:var(--avj-primary);font-size:18px;font-weight:900}.avj-so-customer-meta{display:flex;gap:8px 14px;flex-wrap:wrap;margin:14px 0;padding:11px 0;border-top:1px solid var(--avj-line);border-bottom:1px solid var(--avj-line);color:#5f6d86;font-size:10px}.avj-so-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.avj-so-staff-grid{display:grid;gap:11px}.avj-so-person-card{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center}.avj-so-person-card__title{display:flex;align-items:center;gap:8px;justify-content:space-between}.avj-so-person-card__body small{color:var(--avj-muted);font-size:10px}
.avj-so-person-permissions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.avj-so-person-permissions section{padding:11px;border:1px solid var(--avj-line);border-radius:14px;background:#fafcff}.avj-so-person-permissions h3{margin:0 0 8px;padding-bottom:7px;border-bottom:1px solid var(--avj-line);font-size:11px}.avj-so-person-permissions label{display:grid;grid-template-columns:1fr 105px;gap:8px;align-items:center;margin-top:6px;font-size:9px}.avj-so-person-permissions select{min-height:32px;border:1px solid var(--avj-line);border-radius:8px;background:#fff;font-size:9px}

/* Forms and compact checklists. */
.avj-so-record-form{display:grid;gap:12px}.avj-so-form-section{border-radius:20px;overflow:hidden}.avj-so-form-section[hidden]{display:none!important}.avj-so-form-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:11px 15px;list-style:none;cursor:pointer;background:linear-gradient(135deg,#fbfcff,#fff);font-weight:900}.avj-so-form-section>summary::-webkit-details-marker{display:none}.avj-so-form-section>summary>span{display:flex;align-items:center;gap:8px}.avj-so-form-section>summary i{color:var(--avj-primary);font-size:18px}.avj-so-form-section>summary small{color:var(--avj-muted);font-size:9px;font-weight:500}.avj-so-form-section[open]>summary{border-bottom:1px solid var(--avj-line)}.avj-so-form-section__body{padding:15px}.avj-so-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.avj-so-span-2{grid-column:1/-1}.avj-so-field{display:flex;flex-direction:column;gap:5px;min-width:0}.avj-so-field>span{color:#43516c;font-size:10px;font-weight:800}.avj-so-field>span em{color:var(--avj-danger);font-style:normal}.avj-so-field>small{color:var(--avj-muted);font-size:8.5px;line-height:1.7}.avj-so-field input,.avj-so-field select,.avj-so-field textarea,.avj-so-inline-form input{width:100%;min-height:40px;padding:8px 10px;border:1px solid #d7dfeb;border-radius:11px;background:#fff;color:var(--avj-text);outline:0;transition:.15s}.avj-so-field textarea{min-height:76px;resize:vertical}.avj-so-field input:focus,.avj-so-field select:focus,.avj-so-field textarea:focus{border-color:var(--avj-primary);box-shadow:0 0 0 3px rgba(var(--avj-primary-rgb),.10)}.avj-so-field.is-readonly input,.avj-so-field.is-readonly textarea{background:#f5f7fa;color:#718096}.avj-so-date-field.is-readonly{opacity:.82}.avj-so-date-field.is-readonly input{cursor:not-allowed}.avj-so-date-field.is-readonly button{display:none}.avj-so-readonly-note{color:#9a6b00!important}.avj-so-tab-title{padding:8px 10px;border-right:3px solid var(--avj-primary);border-radius:10px;background:var(--avj-soft);color:var(--avj-primary);font-size:11px;font-weight:900}
.avj-so-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:7px}.avj-so-options label{display:flex;align-items:center;gap:7px;min-height:38px;padding:7px 9px;border:1px solid var(--avj-line);border-radius:11px;background:#fafcff;cursor:pointer;font-size:10px}.avj-so-options input{width:16px;height:16px;min-height:0;margin:0;accent-color:var(--avj-primary)}.avj-so-checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.avj-so-switch{display:flex;align-items:center;gap:8px;min-height:40px;padding:7px 10px;border:1px solid var(--avj-line);border-radius:11px;background:#fafcff;cursor:pointer}.avj-so-switch input{display:none}.avj-so-switch i{position:relative;width:38px;height:21px;border-radius:999px;background:#cbd5e1;transition:.2s}.avj-so-switch i:after{content:'';position:absolute;top:3px;right:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(15,23,42,.18);transition:.2s}.avj-so-switch input:checked+i{background:var(--avj-primary)}.avj-so-switch input:checked+i:after{transform:translateX(-17px)}.avj-so-switch b{font-size:9px}
.avj-so-check-item{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,1fr) minmax(270px,390px);align-items:center;gap:12px;padding:7px 4px;border-bottom:1px dashed #e8edf4}.avj-so-check-item>span{font-size:10px}.avj-so-check-item .avj-so-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.avj-so-check-item .avj-so-options label{justify-content:center;min-height:34px;padding:5px;font-size:9px}.avj-so-check-item select{min-height:36px}
.avj-so-media{display:flex;align-items:center;gap:8px;min-height:42px;padding:6px;border:1px dashed #c9d3e2;border-radius:11px;background:#fafcff}.avj-so-media-btn,.avj-so-add-row{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 9px;border:0;border-radius:9px;background:var(--avj-soft);color:var(--avj-primary);font-size:9px;font-weight:900;cursor:pointer}.avj-so-media-name{min-width:0;color:var(--avj-muted);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avj-so-repeater{padding:9px;border:1px solid var(--avj-line);border-radius:14px;background:#fafcff}.avj-so-repeater-rows{display:grid;gap:8px}.avj-so-repeater-row{padding:10px;border:1px solid var(--avj-line);border-radius:12px;background:#fff}.avj-so-repeater-row__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.avj-so-repeater-row__head strong{font-size:9px}.avj-so-remove-row{width:28px;height:28px;border:0;border-radius:8px;background:#fff0f2;color:var(--avj-danger);cursor:pointer}.avj-so-add-row{margin-top:8px}.avj-so-sticky-actions{position:sticky;bottom:12px;z-index:30;display:flex;justify-content:flex-end;gap:8px;padding:10px;border:1px solid rgba(223,230,241,.9);border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 12px 34px rgba(31,47,90,.13);backdrop-filter:blur(12px)}

/* Roles and coverage/admin pages. */
.avj-so-role-create>summary{cursor:pointer;font-weight:900}.avj-so-inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-top:12px}.avj-so-role-list{display:grid;gap:10px}.avj-so-role-card{border-radius:18px;overflow:hidden}.avj-so-role-card>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:54px;padding:11px 14px;list-style:none;cursor:pointer}.avj-so-role-card>summary::-webkit-details-marker{display:none}.avj-so-role-card>summary>span{display:flex;align-items:center;gap:8px}.avj-so-role-card>summary strong{font-size:11px}.avj-so-role-card>summary small{color:var(--avj-muted);font-size:9px}.avj-so-role-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:11px;border-top:1px solid var(--avj-line)}.avj-so-permission-module{padding:9px;border:1px solid var(--avj-line);border-radius:12px}.avj-so-permission-module h3{margin:0 0 7px;padding-bottom:6px;border-bottom:1px solid var(--avj-line);font-size:10px}.avj-so-permission-module>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.avj-so-permission-module label{display:flex;align-items:center;gap:4px;font-size:8px}.avj-so-permission-module input{width:14px;height:14px;accent-color:var(--avj-primary)}
.avj-so-coverage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.avj-so-coverage-grid article{padding:12px;border:1px solid var(--avj-line);border-radius:14px;background:#fafcff}.avj-so-coverage-grid ul,.avj-so-health-list,.avj-so-known-gaps ul{list-style:none;margin:0;padding:0}.avj-so-coverage-grid li,.avj-so-health-list li{padding:6px 0;border-top:1px dashed var(--avj-line);font-size:9px}.avj-so-coverage-grid li:first-child,.avj-so-health-list li:first-child{border-top:0}.avj-so-known-gaps{border-right:4px solid var(--avj-warning)}.avj-so-code{direction:ltr;text-align:left;min-height:130px;padding:12px;border-radius:11px;background:#0f172a;color:#d9e7f5;overflow:auto;font-size:10px}.avj-so-admin-wrap{max-width:1450px}.avj-so-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px;margin-bottom:15px;border-radius:22px;background:linear-gradient(135deg,var(--avj-primary-dark),var(--avj-primary));color:#fff}.avj-so-admin-launchers{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.avj-so-admin-launchers a{display:flex;flex-direction:column;padding:14px;border:1px solid var(--avj-line);border-radius:14px;background:#fff}.avj-so-admin-launchers b{color:var(--avj-primary-dark)}.avj-so-admin-launchers span{margin-top:4px;color:var(--avj-muted);font-size:9px}

/* Login. */
.avj-so-login{position:relative;min-height:100vh;display:grid;place-items:center;padding:34px 18px;background:
radial-gradient(circle at top right,rgba(118,89,255,.14),transparent 25%),
radial-gradient(circle at bottom left,rgba(88,177,255,.14),transparent 24%),
linear-gradient(180deg,#f4f7fc,#edf2f8);overflow:hidden}
.avj-so-login:before,.avj-so-login:after{content:'';position:absolute;border-radius:50%;pointer-events:none}
.avj-so-login:before{width:300px;height:300px;top:-100px;right:-90px;background:radial-gradient(circle,rgba(122,92,255,.17),transparent 68%)}
.avj-so-login:after{width:260px;height:260px;left:-90px;bottom:-90px;background:radial-gradient(circle,rgba(84,191,255,.15),transparent 70%)}
.avj-so-login-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(380px,470px) minmax(420px,1fr);align-items:stretch;width:min(1220px,100%);border:1px solid rgba(219,227,240,.92);border-radius:36px;background:rgba(255,255,255,.76);backdrop-filter:blur(20px);box-shadow:0 34px 90px rgba(24,37,68,.14);overflow:hidden}
.avj-so-login-layout.is-compact{grid-template-columns:minmax(320px,420px);justify-content:center;background:transparent;border:0;box-shadow:none}
.avj-so-login-card{position:relative;padding:36px 34px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(251,252,255,.94));text-align:center}
.avj-so-login-card--form{border-left:1px solid rgba(223,230,241,.92)}
.avj-so-login-card--ready{width:min(430px,100%);margin-inline:auto;border:1px solid var(--avj-line);border-radius:30px;box-shadow:0 24px 60px rgba(24,37,68,.12)}
.avj-so-login-card__head{display:grid;justify-items:center;gap:8px;margin-bottom:16px}
.avj-so-login-card h1{margin:0;font-size:30px;line-height:1.35;color:#16213a}
.avj-so-login-card>p,.avj-so-login-card__head>p{margin:0;color:var(--avj-muted);font-size:11px;line-height:1.95;max-width:360px}
.avj-so-logo{display:grid;place-items:center;width:50px;height:50px;margin:0 auto;border-radius:18px;background:linear-gradient(135deg,var(--avj-primary),var(--avj-primary-2));color:#fff;font-size:19px;font-weight:900;box-shadow:0 16px 30px rgba(var(--avj-primary-rgb),.24)}
.avj-so-login-card form{text-align:right}
.avj-so-login-form{display:grid;gap:12px;margin-top:12px}
.avj-so-login-form[hidden]{display:none!important}
.avj-so-login-card label{display:grid;gap:6px;margin:0;font-size:10px;font-weight:800;color:#25324d;text-align:right}
.avj-so-login-card label.inline{display:flex;align-items:center;gap:8px;font-weight:500;color:#556179}
.avj-so-login-card label.inline span{font-size:10px}
.avj-so-login-card input{width:100%;min-height:50px;padding:10px 14px;border:1px solid #d7deea;border-radius:14px;background:#f7f9fd;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}
.avj-so-login-card input:focus{background:#fff;border-color:var(--avj-primary);box-shadow:0 0 0 4px rgba(var(--avj-primary-rgb),.11)}
.avj-so-login-card label.inline input{width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--avj-primary)}
.avj-so-auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:6px;margin:18px 0 10px;border-radius:16px;background:#eef2f9;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.avj-so-auth-tabs button{padding:11px 10px;border:0;border-radius:12px;background:transparent;cursor:pointer;font-size:11px;font-weight:900;color:#66738a;transition:.18s}
.avj-so-auth-tabs button.active{background:#fff;color:var(--avj-primary);box-shadow:0 8px 20px rgba(31,47,90,.10)}
.avj-so-login-helper{margin:0;color:var(--avj-muted);font-size:10px;line-height:1.9}
.avj-so-login-inline-link{justify-self:center;color:var(--avj-primary);font-size:10px;font-weight:900;text-decoration:none}
.avj-so-login-state{display:grid;gap:4px;margin:4px 0 6px;padding:13px 14px;border:1px solid #d8dffd;border-radius:16px;background:linear-gradient(135deg,#f5f2ff,#fbfbff);text-align:right}
.avj-so-login-state strong{font-size:12px;color:#2b2576}
.avj-so-login-state span{font-size:10px;color:#54617a;line-height:1.9}
.avj-so-login-form .avj-so-btn{width:100%;justify-content:center;min-height:50px;border-radius:15px;font-size:12px;box-shadow:0 14px 30px rgba(var(--avj-primary-rgb),.22)}

.avj-so-login-showcase{position:relative;display:grid;min-width:0;padding:30px;background:linear-gradient(160deg,#251d79,#3528a8 46%,#3347c3 100%);color:#fff;overflow:hidden}
.avj-so-login-showcase:before,.avj-so-login-showcase:after{content:'';position:absolute;border-radius:50%;opacity:.32}
.avj-so-login-showcase:before{width:340px;height:340px;left:-120px;bottom:-120px;border:1px solid rgba(255,255,255,.14)}
.avj-so-login-showcase:after{width:280px;height:280px;right:-100px;top:-100px;background:radial-gradient(circle,rgba(255,255,255,.20),transparent 66%)}
.avj-so-login-showcase__inner{position:relative;z-index:1;display:grid;gap:18px;align-content:center;height:100%}
.avj-so-login-chip{display:inline-flex;justify-self:start;align-items:center;gap:6px;min-height:34px;padding:7px 14px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);font-size:10px;font-weight:900;backdrop-filter:blur(8px)}
.avj-so-login-showcase h2{margin:0;font-size:42px;line-height:1.35;max-width:580px}.avj-so-login-wordmark{display:inline-flex;align-items:center;justify-content:center;min-height:1.1em;padding:0 16px;border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(151,242,255,.18));box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 10px 24px rgba(16,26,77,.18);font-weight:950;letter-spacing:-.02em;color:#fff;text-shadow:0 1px 0 rgba(26,33,88,.24)}
.avj-so-login-showcase p{margin:0;max-width:560px;color:rgba(238,243,255,.88);font-size:12px;line-height:2}
.avj-so-login-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.avj-so-login-metrics article{display:grid;gap:5px;padding:15px 16px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.08);backdrop-filter:blur(12px)}
.avj-so-login-metrics strong{font-size:14px}
.avj-so-login-metrics span{font-size:10px;line-height:1.9;color:rgba(240,244,255,.8)}
.avj-so-login-visual{position:relative;min-height:286px;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04));backdrop-filter:blur(16px);overflow:hidden}
.avj-so-login-visual:before{content:'';position:absolute;inset:-1px;background:linear-gradient(135deg,rgba(255,255,255,.13),transparent 45%,rgba(151,242,255,.12));pointer-events:none}
.avj-so-login-visual__board{position:relative;z-index:2;display:grid;gap:12px;max-width:68%;padding:18px 18px 16px;border-radius:24px;background:rgba(15,20,59,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)}
.avj-so-login-visual__badge{display:inline-flex;justify-self:start;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.10);font-size:9px;font-weight:900}
.avj-so-login-visual__pulse{display:flex;align-items:flex-end;gap:6px;height:34px}
.avj-so-login-visual__pulse i{display:block;width:7px;border-radius:999px;background:linear-gradient(180deg,#fff,#97f2ff);animation:avjPulse 1.8s ease-in-out infinite}
.avj-so-login-visual__pulse i:nth-child(1){height:14px;animation-delay:0s}.avj-so-login-visual__pulse i:nth-child(2){height:26px;animation-delay:.18s}.avj-so-login-visual__pulse i:nth-child(3){height:20px;animation-delay:.36s}
.avj-so-login-visual__row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.08);font-size:10px}
.avj-so-login-visual__row b{font-size:16px;line-height:1;color:#fff}
.avj-so-login-visual__row em{display:block;position:relative;width:114px;height:8px;border-radius:999px;background:rgba(255,255,255,.10);overflow:hidden}
.avj-so-login-visual__row em i{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#9be8ff,#fff,#8f78ff);transform-origin:right center;animation:avjProgress 3.4s ease-in-out infinite}
.avj-so-login-float{position:absolute;z-index:3;display:grid;gap:2px;min-width:160px;padding:14px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.10);backdrop-filter:blur(14px);box-shadow:0 18px 30px rgba(11,18,52,.18);animation:avjFloat 5s ease-in-out infinite}
.avj-so-login-float strong{font-size:12px;color:#fff}.avj-so-login-float small{font-size:9px;color:rgba(241,245,255,.82)}
.avj-so-login-float--a{left:22px;bottom:28px;animation-delay:-1.4s}
.avj-so-login-float--b{left:150px;bottom:94px;animation-delay:-2.6s}
.avj-so-login-orbit{position:absolute;left:32px;top:34px;width:172px;height:172px;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.avj-so-login-orbit:before,.avj-so-login-orbit:after{content:'';position:absolute;inset:16px;border:1px dashed rgba(255,255,255,.10);border-radius:50%}
.avj-so-login-orbit:after{inset:38px}
.avj-so-login-orbit .is-core{position:absolute;top:50%;left:50%;width:36px;height:36px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#8ab1ff 62%,#6d53ff);transform:translate(-50%,-50%);box-shadow:0 0 0 8px rgba(255,255,255,.08)}
.avj-so-login-orbit .is-dot{position:absolute;top:50%;left:50%;width:12px;height:12px;border-radius:50%;background:#97f2ff;margin:-6px;box-shadow:0 0 0 6px rgba(151,242,255,.16)}
.avj-so-login-orbit .dot-1{animation:avjOrbitOne 10s linear infinite}
.avj-so-login-orbit .dot-2{width:10px;height:10px;margin:-5px;background:#fff;box-shadow:0 0 0 6px rgba(255,255,255,.12);animation:avjOrbitTwo 13s linear infinite}
.avj-so-login-orbit .dot-3{width:8px;height:8px;margin:-4px;background:#8f78ff;box-shadow:0 0 0 5px rgba(143,120,255,.22);animation:avjOrbitThree 8s linear infinite reverse}
.avj-so-login-highlights{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.avj-so-login-highlights li{position:relative;padding-right:20px;font-size:11px;color:rgba(242,246,255,.86)}
.avj-so-login-highlights li:before{content:'•';position:absolute;right:0;top:-1px;color:#97f2ff;font-size:18px;line-height:1}
@keyframes avjPulse{0%,100%{transform:scaleY(.72);opacity:.72}50%{transform:scaleY(1.18);opacity:1}}
@keyframes avjProgress{0%{transform:scaleX(.34)}50%{transform:scaleX(.88)}100%{transform:scaleX(.52)}}
@keyframes avjFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-8px,0)}}
@keyframes avjOrbitOne{from{transform:rotate(0deg) translateX(86px) rotate(0deg)}to{transform:rotate(360deg) translateX(86px) rotate(-360deg)}}
@keyframes avjOrbitTwo{from{transform:rotate(0deg) translateX(62px) rotate(0deg)}to{transform:rotate(-360deg) translateX(62px) rotate(360deg)}}
@keyframes avjOrbitThree{from{transform:rotate(0deg) translateX(46px) rotate(0deg)}to{transform:rotate(360deg) translateX(46px) rotate(-360deg)}}

@media(max-width:980px){
  .avj-so-login-layout{grid-template-columns:1fr}
  .avj-so-login-card--form{border-left:0;border-bottom:1px solid rgba(223,230,241,.9)}
  .avj-so-login-showcase{min-height:440px;order:-1}
  .avj-so-login-showcase h2{font-size:32px}
  .avj-so-login-visual__board{max-width:74%}
}
@media(max-width:680px){
  .avj-so-login{padding:16px}
  .avj-so-login-layout{display:block;width:min(440px,100%);border-radius:24px}
  .avj-so-login-card{padding:24px 20px;border:0}
  .avj-so-login-card h1{font-size:24px}
  .avj-so-login-showcase{display:none!important}
}


@media(max-width:1180px){.avj-so-stats{grid-template-columns:repeat(3,1fr)}.avj-so-role-modules,.avj-so-person-permissions{grid-template-columns:repeat(2,1fr)}.avj-so-coverage-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){
  .avj-so-app-header{padding:11px 13px}.avj-so-nav-toggle{display:inline-flex}.avj-so-brand small,.avj-so-profile-chip>span:nth-child(2){display:none}.avj-so-brand-mark{width:43px;height:43px;flex-basis:43px;border-radius:14px}.avj-so-user-menu{gap:4px}.avj-so-current-date{min-height:36px;padding:7px 9px;font-size:9px}.avj-so-current-date-full{display:none}.avj-so-current-date-compact{display:inline}.avj-so-logout-link{padding:8px 9px}
  .avj-so-app-layout{display:block;padding:16px 11px 88px}.avj-so-sidebar{position:fixed;top:0;right:0;height:100vh;max-height:none;width:min(88vw,320px);max-width:320px;border-radius:28px 0 0 28px;padding-top:18px;transform:translateX(104%);transition:transform .28s ease,box-shadow .28s ease}.avj-so-app.is-nav-open .avj-so-sidebar{transform:translateX(0);box-shadow:0 30px 80px rgba(5,11,31,.28)}.avj-so-sidebar-close{display:inline-flex;align-items:center;justify-content:center}.avj-so-nav-overlay{display:block;position:fixed;inset:0;z-index:1002;border:0;background:rgba(16,24,40,.32);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:.25s}.avj-so-app.is-nav-open .avj-so-nav-overlay{opacity:1;pointer-events:auto}.avj-so-main{width:100%}
  .avj-so-mobile-nav{position:fixed;right:12px;left:12px;bottom:12px;z-index:1000;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.72);border-radius:28px;background:rgba(255,255,255,.62);backdrop-filter:blur(20px) saturate(1.12);box-shadow:0 20px 50px rgba(20,31,57,.18)}.avj-so-mobile-nav a,.avj-so-mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:50px;padding:6px 4px;border:0;border-radius:18px;background:transparent;color:#6f7d95;transition:.18s}.avj-so-mobile-nav a.active,.avj-so-mobile-nav button:active{background:rgba(var(--avj-primary-rgb),.12);color:var(--avj-primary);box-shadow:inset 0 0 0 1px rgba(var(--avj-primary-rgb),.12)}.avj-so-mobile-nav i{font-size:19px}.avj-so-mobile-nav small{font-size:8px;font-weight:800}.avj-so-mobile-nav{isolation:isolate}
  .avj-so-grid-2{grid-template-columns:1fr}.avj-so-customer-grid{grid-template-columns:1fr}.avj-so-module{padding:18px;border-radius:22px}
}
@media(max-width:700px){
  .avj-so-app,.avj-so-login,.avj-so-admin-wrap{font-size:12px}.avj-so-module-head,.avj-so-toolbar,.avj-so-form-heading{flex-direction:column;align-items:stretch}.avj-so-module-head h1,.avj-so-toolbar h1,.avj-so-form-heading h1{font-size:19px}.avj-so-module-head>.avj-so-btn,.avj-so-toolbar>.avj-so-btn{width:100%}.avj-so-welcome{align-items:flex-start;flex-direction:column;padding:22px}.avj-so-welcome h2{font-size:25px}.avj-so-welcome .avj-so-btn{width:100%}.avj-so-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.avj-so-stats article{min-width:0;padding:10px 7px;text-align:center}.avj-so-stats strong{font-size:20px}.avj-so-stats span{font-size:9px;line-height:1.45}.avj-so-hub-grid{grid-template-columns:1fr 1fr;gap:9px}.avj-so-hub-card{min-height:150px;padding:15px;border-radius:18px}.avj-so-hub-card b{font-size:13px}.avj-so-hub-card p{font-size:9px}.avj-so-filterbar,.avj-so-search{display:grid;grid-template-columns:1fr}.avj-so-filterbar>select{width:100%}.avj-so-fields{grid-template-columns:1fr;gap:10px}.avj-so-span-2{grid-column:auto}.avj-so-form-section__body{padding:11px}.avj-so-form-section>summary{min-height:48px;padding:9px 11px}.avj-so-field input,.avj-so-field select,.avj-so-field textarea{min-height:44px;font-size:16px}.avj-so-field textarea{min-height:84px}.avj-so-check-item{grid-template-columns:1fr;gap:5px;padding:7px 0}.avj-so-check-item .avj-so-options{grid-template-columns:repeat(3,1fr)}.avj-so-options{grid-template-columns:1fr 1fr}.avj-so-checkbox-grid{grid-template-columns:1fr 1fr}.avj-so-sticky-actions{position:fixed;right:8px;left:8px;bottom:calc(96px + env(safe-area-inset-bottom));margin:0;padding:7px;justify-content:stretch}.avj-so-sticky-actions .avj-so-btn{flex:1;min-width:0}.avj-so-record-form{padding-bottom:82px}.avj-so-person-card{grid-template-columns:auto 1fr}.avj-so-person-card>.avj-so-btn{grid-column:1/-1}.avj-so-person-permissions,.avj-so-role-modules{grid-template-columns:1fr}.avj-so-inline-form{grid-template-columns:1fr}
  .avj-so-responsive-table{overflow:visible;border:0;background:transparent;box-shadow:none}.avj-so-responsive-table .avj-so-table,.avj-so-responsive-table tbody,.avj-so-responsive-table tr,.avj-so-responsive-table td{display:block;width:100%}.avj-so-responsive-table thead{display:none}.avj-so-responsive-table tr{margin-bottom:9px;padding:8px 10px;border:1px solid var(--avj-line);border-radius:14px;background:#fff;box-shadow:0 4px 12px rgba(31,47,90,.04)}.avj-so-responsive-table td{display:grid;grid-template-columns:95px minmax(0,1fr);gap:8px;align-items:center;padding:7px 0;border:0;border-top:1px dashed var(--avj-line);text-align:left}.avj-so-responsive-table td:first-child{border-top:0}.avj-so-responsive-table td:before{content:attr(data-label);color:var(--avj-muted);font-size:8px;font-weight:900;text-align:right}.avj-so-responsive-table td>*{justify-self:start}
}
@media(max-width:460px){.avj-so-hub-grid{grid-template-columns:1fr}.avj-so-options,.avj-so-checkbox-grid{grid-template-columns:1fr}.avj-so-customer-card__top{grid-template-columns:auto 1fr}.avj-so-customer-card__top>.avj-so-status{grid-column:1/-1;justify-self:start}.avj-so-profile-chip{padding:3px}.avj-so-current-date{padding:6px 7px}.avj-so-current-date i{display:none}.avj-so-logout-link{font-size:9px}.avj-so-brand strong{font-size:13px}.avj-so-person-permissions label{grid-template-columns:1fr 95px}.avj-so-permission-module>div{grid-template-columns:repeat(2,1fr)}}
@media print{.avj-so-app-header,.avj-so-sidebar,.avj-so-mobile-nav,.avj-so-sticky-actions,.avj-so-nav-overlay{display:none!important}.avj-so-app-layout{display:block;max-width:none;padding:0}.avj-so-module,.avj-so-form-section{box-shadow:none;break-inside:avoid}}
body.avj-so-no-scroll{overflow:hidden!important}

/* 0.11.0 — workflow-driven report form and capability-gated supervision. */
.avj-so-checklist-guide,.avj-so-ramp-notice{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:11px 13px;border:1px solid #dce5f1;border-radius:14px;background:#f8faff;color:#52607a}
.avj-so-checklist-guide>i,.avj-so-ramp-notice>i{flex:0 0 auto;margin-top:2px;color:var(--avj-primary);font-size:18px}
.avj-so-checklist-guide strong,.avj-so-checklist-guide small,.avj-so-ramp-notice strong,.avj-so-ramp-notice small{display:block}
.avj-so-checklist-guide strong,.avj-so-ramp-notice strong{font-size:11px;color:var(--avj-text)}
.avj-so-checklist-guide small,.avj-so-ramp-notice small{margin-top:2px;font-size:9px;color:var(--avj-muted)}
.avj-so-checklist-guide.is-ready{border-color:#cfc7ff;background:linear-gradient(135deg,#f4f1ff,#fbfaff)}
.avj-so-checklist-guide.is-ready>i{color:var(--avj-success)}
.avj-so-ramp-notice{border-color:#f7d6a5;background:#fff9ed}.avj-so-ramp-notice>i{color:var(--avj-warning)}
.avj-so-form-section.is-supervision-section{border-color:#cfc7ff;background:linear-gradient(180deg,#fff,#fbfaff)}
.avj-so-form-section.is-supervision-section>summary{background:#f5f2ff;color:var(--avj-primary-dark)}
.avj-so-form-section.is-supervision-section>summary i{color:var(--avj-primary)}
.avj-so-form-section.is-correction-section{border-color:#f3c9d1;background:#fffafb}
.avj-so-form-section.is-correction-section>summary{background:#fff1f4;color:#9f253c}
.avj-so-permission-module.is-supervision{border-color:#cfc7ff;background:linear-gradient(135deg,#f8f6ff,#fff)}
.avj-so-permission-module.is-supervision h3{color:var(--avj-primary-dark)}
.avj-so-permission-module .avj-so-permission-help{display:block;margin:-2px 0 8px;color:var(--avj-muted);font-size:8px;line-height:1.7}
[data-checklist-kind][hidden],.avj-so-ramp-notice[hidden]{display:none!important}

@media(max-width:700px){
  .avj-so-checklist-guide,.avj-so-ramp-notice{padding:10px 11px;border-radius:12px}
  .avj-so-checklist-guide strong,.avj-so-ramp-notice strong{font-size:10px}
  .avj-so-checklist-guide small,.avj-so-ramp-notice small{font-size:8px}
}
.avj-so-sms-source-card{margin-bottom:14px}.avj-so-sms-source-card .avj-so-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:12px 0}.avj-so-sms-source-card .avj-so-stats small{display:block;margin-top:5px;color:var(--avj-muted);font-size:8px}
@media(max-width:700px){.avj-so-sms-source-card .avj-so-stats{grid-template-columns:1fr 1fr}}
.avj-so-person-permissions section.is-supervision{border-color:#cfc7ff;background:linear-gradient(135deg,#f8f6ff,#fff)}.avj-so-person-permissions section.is-supervision h3{color:var(--avj-primary-dark)}

/* 0.12.0 — record viewers, compact actions and technical HTML editor. */
.avj-so-row-actions{display:flex;flex-wrap:wrap;gap:6px}.avj-so-link-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px}.avj-so-link-btn i{width:15px;height:15px;font-size:15px}.avj-so-link-btn-view{border-color:#cfc7ff;background:#f5f2ff;color:var(--avj-primary-dark)}
.avj-so-view-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.avj-so-view-toolbar>a,.avj-so-view-toolbar>div>a:first-child{color:var(--avj-primary);font-size:10px;font-weight:800;text-decoration:none}.avj-so-view-toolbar h1{margin:4px 0 0;font-size:22px;line-height:1.4}.avj-so-view-toolbar p{margin:2px 0 0;color:var(--avj-muted);font-size:10px}.avj-so-inline-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.avj-so-view-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;margin-bottom:12px;border:1px solid #dcd8ff;border-radius:22px;background:linear-gradient(135deg,#f8f6ff,#fff);box-shadow:0 10px 30px rgba(44,33,105,.06)}.avj-so-view-hero__main{min-width:0;flex:1}.avj-so-view-hero h1{margin:3px 0;font-size:21px;line-height:1.45}.avj-so-view-hero p{margin:0;color:var(--avj-muted);font-size:10px}.avj-so-view-hero--equipment{justify-content:flex-start}.avj-so-equipment-cover{width:104px;height:104px;flex:0 0 104px;border-radius:18px;object-fit:cover;border:1px solid var(--avj-line);background:#fff}
.avj-so-view-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}.avj-so-view-summary article{display:flex;align-items:center;gap:9px;min-width:0;padding:12px;border:1px solid var(--avj-line);border-radius:15px;background:#fff}.avj-so-view-summary i{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:var(--avj-soft);color:var(--avj-primary);font-size:17px}.avj-so-view-summary span{min-width:0}.avj-so-view-summary small,.avj-so-view-summary strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avj-so-view-summary small{color:var(--avj-muted);font-size:8px}.avj-so-view-summary strong{font-size:11px}
.avj-so-view-section{padding:17px;margin-bottom:12px;border:1px solid var(--avj-line);border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(31,47,90,.045)}.avj-so-view-section__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:11px;margin-bottom:11px;border-bottom:1px solid #edf1f6}.avj-so-view-section__head h2{margin:0;font-size:15px}.avj-so-view-section__head p{margin:1px 0 0;color:var(--avj-muted);font-size:9px}.avj-so-view-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.avj-so-view-field{min-width:0;padding:10px 11px;border:1px solid #edf1f6;border-radius:13px;background:#fbfcfe}.avj-so-view-field.is-wide{grid-column:1/-1}.avj-so-view-field>span{display:block;margin-bottom:4px;color:var(--avj-muted);font-size:8px;font-weight:900}.avj-so-view-field>div{font-size:11px;overflow-wrap:anywhere}.avj-so-chip-list{display:flex;flex-wrap:wrap;gap:5px}.avj-so-chip-list span{padding:4px 8px;border-radius:999px;background:var(--avj-soft);color:var(--avj-primary-dark);font-size:9px}
.avj-so-checklist-view-list{display:grid;gap:6px}.avj-so-checklist-view-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #edf1f6;border-radius:12px;background:#fbfcfe}.avj-so-checklist-view-list strong{font-size:10px}.avj-so-checklist-view-list p{margin:3px 0 0;color:var(--avj-muted);font-size:9px;line-height:1.8}
.avj-so-view-repeater{display:grid;gap:8px}.avj-so-view-repeater>article{padding:10px;border:1px solid #e6ebf3;border-radius:12px;background:#fff}.avj-so-view-repeater>article>strong{display:block;margin-bottom:6px;color:var(--avj-primary-dark);font-size:9px}.avj-so-view-repeater>article>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.avj-so-view-repeater section{padding:7px;border-radius:10px;background:#f7f9fc}.avj-so-view-repeater section>span{display:block;margin-bottom:3px;color:var(--avj-muted);font-size:8px}.avj-so-view-image{display:block;max-width:340px}.avj-so-view-image img{display:block;width:100%;max-height:300px;object-fit:contain;border:1px solid var(--avj-line);border-radius:12px;background:#fff}
.avj-so-related-list{display:grid;gap:7px}.avj-so-related-list>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #e8edf4;border-radius:13px;background:#fbfcfe;color:inherit;text-decoration:none;transition:.18s}.avj-so-related-list>a:hover{border-color:#cfc7ff;background:color-mix(in srgb,var(--avj-primary) 5%,white)}.avj-so-related-list strong,.avj-so-related-list small{display:block}.avj-so-related-list strong{font-size:10px}.avj-so-related-list small{margin-top:2px;color:var(--avj-muted);font-size:8px}
.avj-so-rich-output{max-width:100%;overflow:auto;padding:2px}.avj-so-rich-output table{max-width:100%}.avj-so-rich-output img{max-width:100%;height:auto}
.avj-so-code-editor{grid-column:1/-1;border:1px solid #dfe6f1;border-radius:14px;overflow:hidden;background:#fff}.avj-so-code-editor__toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid #e8edf4;background:#f7f9fc}.avj-so-code-editor__toolbar small{color:var(--avj-muted);font-size:8px}.avj-so-code-tabs{display:flex;gap:4px;padding:3px;border-radius:10px;background:#e9edf4}.avj-so-code-tabs button{padding:5px 9px;border:0;border-radius:8px;background:transparent;color:#66738a;font-family:inherit;font-size:9px;cursor:pointer}.avj-so-code-tabs button.active{background:#fff;color:var(--avj-primary);box-shadow:0 2px 8px rgba(31,47,90,.08)}.avj-so-code-input{display:block;width:100%;min-height:320px!important;margin:0!important;padding:13px!important;border:0!important;border-radius:0!important;background:#172033!important;color:#e8eef8!important;font:12px/1.8 Consolas,Monaco,monospace!important;text-align:left!important;direction:ltr!important;resize:vertical}.avj-so-code-preview{display:block;width:100%;height:380px;border:0;background:#fff}.avj-so-code-help{margin:0;padding:8px 10px;border-top:1px solid #edf1f6;color:var(--avj-muted);font-size:8px}

@media(max-width:900px){.avj-so-view-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.avj-so-view-toolbar{align-items:stretch;flex-direction:column}.avj-so-view-toolbar .avj-so-inline-actions{justify-content:flex-start}}
@media(max-width:700px){.avj-so-view-hero{align-items:flex-start;flex-wrap:wrap;padding:15px;border-radius:18px}.avj-so-view-hero h1{font-size:18px}.avj-so-view-hero--equipment{display:grid;grid-template-columns:74px minmax(0,1fr)}.avj-so-equipment-cover{width:74px;height:74px;flex-basis:74px;border-radius:14px}.avj-so-view-hero--equipment>.avj-so-status{grid-column:1/-1;justify-self:start}.avj-so-view-summary{grid-template-columns:1fr}.avj-so-view-summary article{padding:10px}.avj-so-view-section{padding:12px;border-radius:16px}.avj-so-view-section__head{align-items:flex-start;flex-direction:column}.avj-so-view-fields{grid-template-columns:1fr}.avj-so-view-field.is-wide{grid-column:auto}.avj-so-checklist-view-list article{align-items:flex-start}.avj-so-view-repeater>article>div{grid-template-columns:1fr}.avj-so-code-editor__toolbar{align-items:flex-start;flex-direction:column}.avj-so-code-input{min-height:260px!important;font-size:11px!important}.avj-so-code-preview{height:330px}.avj-so-row-actions{width:100%}.avj-so-row-actions .avj-so-link-btn{flex:1}}
@media print{.avj-so-view-toolbar,.avj-so-row-actions,.avj-so-inline-actions{display:none!important}.avj-so-view-hero,.avj-so-view-section,.avj-so-view-summary article{box-shadow:none;break-inside:avoid}.avj-so-view-section{border-color:#ccc}.avj-so-rich-output{overflow:visible}}

/* 0.12.1 — report/PDF/QR artifact controls. */
.avj-so-link-btn-artifact{border-color:#bfe4d2;background:#f0fdf6;color:#08784a}.avj-so-artifact-actions{max-width:100%;justify-content:flex-end}.avj-so-qr-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center}.avj-so-qr-preview{display:grid;place-items:center;min-height:180px;padding:12px;border:1px dashed #d7dcef;border-radius:18px;background:#fafbff}.avj-so-qr-preview>img{display:block;width:156px;height:156px;object-fit:contain;background:#fff}.avj-so-qr-info{min-width:0}.avj-so-qr-info>strong{display:block;margin-bottom:7px;font-size:15px}.avj-so-qr-info>span{display:block;margin-bottom:14px;padding:9px 10px;border:1px solid #edf0f5;border-radius:11px;background:#f8fafc;color:#596680;font-size:9px;direction:ltr;text-align:left;overflow-wrap:anywhere}.avj-so-qr-unavailable{display:grid;gap:5px;place-items:center;text-align:center;color:#68758e}.avj-so-qr-unavailable i{width:28px;height:28px;font-size:28px;color:#d97706}.avj-so-qr-unavailable strong{font-size:11px}.avj-so-qr-unavailable small{max-width:250px;font-size:8px;line-height:1.7}.avj-so-qr-print-template[hidden]{display:none!important}.avj-so-action-toast{position:fixed;left:22px;bottom:22px;z-index:2147483000;max-width:min(340px,calc(100vw - 28px));padding:11px 15px;border-radius:13px;background:#172033;color:#fff;font:800 10px/1.8 Tahoma,Arial,sans-serif;box-shadow:0 16px 40px rgba(15,23,42,.24);opacity:0;transform:translateY(12px);pointer-events:none;transition:.18s}.avj-so-action-toast.is-visible{opacity:1;transform:translateY(0)}.avj-so-action-toast.is-error{background:#991b1b}
@media(max-width:780px){.avj-so-artifact-actions{justify-content:flex-start}.avj-so-artifact-actions .avj-so-btn{flex:1 1 calc(50% - 7px);min-width:138px}.avj-so-qr-layout{grid-template-columns:1fr}.avj-so-qr-preview{min-height:160px}.avj-so-qr-info .avj-so-inline-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.avj-so-qr-info .avj-so-btn{width:100%;padding-inline:8px}.avj-so-action-toast{left:14px;right:14px;bottom:76px;max-width:none;text-align:center}}
@media(max-width:430px){.avj-so-artifact-actions .avj-so-btn{flex-basis:100%}.avj-so-qr-info .avj-so-inline-actions{grid-template-columns:1fr}}

/* 0.13.0 — typography parity with AVJ Timesheet and technician workbench. */
.avj-so-app,.avj-so-login,.avj-so-admin-wrap{font-size:14px;line-height:1.8}
.avj-so-brand small,.avj-so-profile-chip small,.avj-so-sidebar-head small{font-size:11px}
.avj-so-sidebar nav a{font-size:13px}
.avj-so-module-head p,.avj-so-toolbar p,.avj-so-form-heading p{font-size:13px}
.avj-so-kicker{font-size:11px}.avj-so-backlink{font-size:12px}
.avj-so-btn{font-size:13px;min-height:44px}.avj-so-link-btn{font-size:12px;min-height:36px}
.avj-so-status,.avj-so-badge{font-size:11px;min-height:28px}
.avj-so-stats span{font-size:12px}.avj-so-hub-card p{font-size:12px}.avj-so-hub-card small{font-size:12px}
.avj-so-card h2{font-size:17px}.avj-so-mini-list b{font-size:13px}.avj-so-mini-list small{font-size:11px}
.avj-so-table{font-size:13px}.avj-so-table th{font-size:11px}.avj-so-table td small{font-size:11px}
.avj-so-customer-card h3,.avj-so-person-card h3{font-size:16px}.avj-so-customer-card p,.avj-so-person-card p,.avj-so-person-card__body small{font-size:12px}.avj-so-customer-meta{font-size:12px}
.avj-so-form-section>summary{font-size:14px}.avj-so-form-section>summary small{font-size:11px}.avj-so-field>span{font-size:13px}.avj-so-field>small{font-size:11px}.avj-so-field input,.avj-so-field select,.avj-so-field textarea,.avj-so-inline-form input{font-size:14px;min-height:44px}.avj-so-tab-title{font-size:13px}
.avj-so-options label{font-size:12px}.avj-so-switch b{font-size:12px}.avj-so-check-item strong{font-size:13px}.avj-so-check-item p{font-size:11px}
.avj-so-person-permissions h3,.avj-so-permission-module h3{font-size:13px}.avj-so-person-permissions label,.avj-so-permission-module label{font-size:11px}.avj-so-person-permissions select{font-size:11px}
.avj-so-view-toolbar>a,.avj-so-view-toolbar>div>a:first-child{font-size:12px}.avj-so-view-toolbar p,.avj-so-view-hero p{font-size:12px}
.avj-so-view-summary small{font-size:10px}.avj-so-view-summary strong{font-size:13px}.avj-so-view-section__head h2{font-size:17px}.avj-so-view-section__head p{font-size:11px}.avj-so-view-field>span{font-size:10px}.avj-so-view-field>div{font-size:13px}.avj-so-chip-list span{font-size:11px}
.avj-so-checklist-view-list strong{font-size:12px}.avj-so-checklist-view-list p{font-size:11px}.avj-so-related-list strong{font-size:12px}.avj-so-related-list small{font-size:10px}
.avj-so-code-editor__toolbar small,.avj-so-code-help{font-size:10px}.avj-so-code-tabs button{font-size:11px}
.avj-so-login-card>p{font-size:12px}.avj-so-login-card label{font-size:12px}.avj-so-auth-tabs button{font-size:12px}
.avj-so-mobile-nav small{font-size:10px}

.avj-so-btn-danger{background:linear-gradient(135deg,#c62f49,#e1495f);color:#fff!important;box-shadow:0 10px 20px rgba(198,47,73,.18)}
.avj-so-tech-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:27px 29px;margin-bottom:16px;border-radius:28px;background:linear-gradient(135deg,#172a52,#365f9d 60%,#5a36f2);color:#fff;box-shadow:0 22px 50px rgba(30,54,102,.22)}
.avj-so-tech-hero .avj-so-kicker{color:#dce8ff}.avj-so-tech-hero h1{margin:4px 0 7px;color:#fff;font-size:28px}.avj-so-tech-hero p{margin:0;color:#e6efff;font-size:13px}
.avj-so-tech-feedback{margin-bottom:14px;padding:12px 15px;border-radius:14px;font-size:13px;font-weight:800}.avj-so-tech-feedback.success{border:1px solid #b9ead4;background:#ecfbf4;color:#08724b}
.avj-so-tech-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:16px}.avj-so-tech-stats article{padding:15px 16px;border:1px solid var(--avj-line);border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(31,47,90,.05)}.avj-so-tech-stats strong,.avj-so-tech-stats span{display:block}.avj-so-tech-stats strong{font-size:23px}.avj-so-tech-stats span{margin-top:4px;color:var(--avj-muted);font-size:12px}.avj-so-tech-stats article.is-danger{border-color:#f1c7cf;background:#fffafb}.avj-so-tech-stats article.is-danger strong{color:#bd2f49}.avj-so-tech-stats article.is-warning{border-color:#f3d8aa;background:#fffdf7}.avj-so-tech-stats article.is-warning strong{color:#b46600}
.avj-so-tech-section{margin-bottom:15px;padding:18px;border:1px solid var(--avj-line);border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(31,47,90,.05)}.avj-so-tech-section.is-danger{border-color:#f0c7cf;background:linear-gradient(180deg,#fff,#fffafb)}.avj-so-tech-section.is-warning{border-color:#f4dbb2;background:linear-gradient(180deg,#fff,#fffdf8)}
.avj-so-tech-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:13px;margin-bottom:13px;border-bottom:1px solid #edf1f6}.avj-so-tech-section-head h2{margin:0;font-size:18px}.avj-so-tech-section-head p{margin:4px 0 0;color:var(--avj-muted);font-size:12px}.avj-so-tech-section-head>span{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border-radius:12px;background:var(--avj-soft);color:var(--avj-primary);font-size:14px;font-weight:900}
.avj-so-tech-list{display:grid;gap:12px}.avj-so-tech-card{padding:16px;border:1px solid #e6ebf3;border-radius:18px;background:#fff;box-shadow:0 5px 15px rgba(31,47,90,.04)}.avj-so-tech-card.qc-rejected{border-right:5px solid #d63c52}.avj-so-tech-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.avj-so-tech-card-top strong,.avj-so-tech-card-top small{display:block}.avj-so-tech-card-top strong{font-size:15px}.avj-so-tech-card-top small{margin-top:4px;color:var(--avj-muted);font-size:11px}
.avj-so-tech-chat{margin:11px 0;border:1px solid #e3e8f1;border-radius:14px;overflow:hidden}.avj-so-tech-chat summary{padding:11px 13px;background:#f7f9fc;color:#475570;font-size:12px;font-weight:900;cursor:pointer}.avj-so-tech-chat>div{max-height:240px;overflow:auto;padding:13px;background:#fff;font-size:13px;line-height:1.9;white-space:normal}
.avj-so-tech-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0}.avj-so-tech-defence-form,.avj-so-tech-ticket-form,.avj-so-tech-task-form{display:grid;gap:11px;padding-top:12px;margin-top:12px;border-top:1px dashed #dfe5ee}.avj-so-tech-defence-form label,.avj-so-tech-ticket-form label,.avj-so-tech-task-form label{display:grid;gap:6px}.avj-so-tech-defence-form label>span,.avj-so-tech-ticket-form label>span,.avj-so-tech-task-form label>span{color:#43516c;font-size:13px;font-weight:800}.avj-so-tech-defence-form textarea,.avj-so-tech-ticket-form input,.avj-so-tech-ticket-form select,.avj-so-tech-task-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d7dfeb;border-radius:12px;background:#fff;color:var(--avj-text);font:14px/1.8 Tahoma,Arial,sans-serif;outline:0}.avj-so-tech-defence-form textarea,.avj-so-tech-task-form textarea{min-height:92px;resize:vertical}.avj-so-tech-ticket-form{grid-template-columns:repeat(2,minmax(0,1fr))}.avj-so-tech-ticket-form .avj-so-tech-card-actions{grid-column:1/-1;margin:0}.avj-so-tech-review-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e8edf4;border-radius:14px;background:#fff;color:inherit}.avj-so-tech-review-row strong,.avj-so-tech-review-row small{display:block}.avj-so-tech-review-row strong{font-size:13px}.avj-so-tech-review-row small{margin-top:3px;color:var(--avj-muted);font-size:11px}.avj-so-tech-empty{padding:22px;border:1px dashed #d8e0ec;border-radius:15px;background:#fafcff;color:var(--avj-muted);text-align:center;font-size:13px}

@media(max-width:900px){.avj-so-tech-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){
  .avj-so-app,.avj-so-login,.avj-so-admin-wrap{font-size:14px}.avj-so-brand strong{font-size:15px}.avj-so-sidebar nav a{font-size:13px}.avj-so-mobile-nav small{font-size:10px}
  .avj-so-hub-card b{font-size:15px}.avj-so-hub-card p{font-size:11px}.avj-so-responsive-table td:before{font-size:10px}.avj-so-responsive-table td{font-size:13px}
  .avj-so-field>span{font-size:13px}.avj-so-field>small{font-size:11px}.avj-so-options label{font-size:12px}
  .avj-so-tech-hero{align-items:flex-start;flex-direction:column;padding:22px 19px;border-radius:22px}.avj-so-tech-hero h1{font-size:23px}.avj-so-tech-hero p{font-size:12px}.avj-so-tech-hero .avj-so-btn{width:100%}
  .avj-so-tech-stats{gap:8px}.avj-so-tech-stats article{padding:12px}.avj-so-tech-stats strong{font-size:20px}.avj-so-tech-stats span{font-size:11px}
  .avj-so-tech-section{padding:13px;border-radius:18px}.avj-so-tech-section-head h2{font-size:16px}.avj-so-tech-section-head p{font-size:11px}.avj-so-tech-card{padding:13px;border-radius:15px}.avj-so-tech-card-top strong{font-size:14px}
  .avj-so-tech-ticket-form{grid-template-columns:1fr}.avj-so-tech-ticket-form .avj-so-tech-card-actions{grid-column:auto}.avj-so-tech-card-actions .avj-so-btn,.avj-so-tech-card-actions .avj-so-link-btn{flex:1 1 140px}
}
@media(max-width:430px){.avj-so-tech-stats{grid-template-columns:1fr 1fr}.avj-so-tech-card-actions{display:grid;grid-template-columns:1fr}.avj-so-tech-card-actions .avj-so-btn,.avj-so-tech-card-actions .avj-so-link-btn{width:100%}}

/* 0.14.0 — fixed pages, ticket workspace, supervision and installable mobile app. */
.avj-so-static-section{display:block!important}.avj-so-form-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #edf1f7;background:linear-gradient(180deg,#fff,#fbfcff);border-radius:20px 20px 0 0}.avj-so-form-section>header span{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:900}.avj-so-form-section>header small{color:var(--avj-muted);font-size:12px}.avj-so-form-section>header i{color:var(--avj-primary)}
.avj-so-service-alert{display:flex;gap:12px;align-items:flex-start;margin:0 0 16px;padding:16px 18px;border:1px solid #f0d083;border-radius:18px;background:#fff9e7;color:#694700}.avj-so-service-alert i{font-size:24px}.avj-so-service-alert strong{display:block;font-size:15px}.avj-so-service-alert p{margin:5px 0 0;font-size:13px;line-height:1.9}
.avj-so-pwa-install{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:7px 11px;border:1px solid #d9d3ff;border-radius:12px;background:var(--avj-soft);color:var(--avj-primary);font:800 12px Tahoma,Arial,sans-serif;cursor:pointer}.avj-so-pwa-install i{font-size:17px}
.avj-so-filter-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));align-items:end}.avj-so-filterbar label{display:grid;gap:6px}.avj-so-filterbar label>span{font-size:12px;font-weight:800;color:#52607a}.avj-so-filterbar select,.avj-so-filterbar input{width:100%;min-height:44px;padding:9px 11px;border:1px solid #d9e0ec;border-radius:12px;background:#fff;font:14px Tahoma,Arial,sans-serif}
.avj-so-ticket-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}.avj-so-ticket-card{display:grid;gap:13px;padding:18px;border:1px solid var(--avj-line);border-radius:21px;background:#fff;box-shadow:0 9px 24px rgba(31,47,90,.05)}.avj-so-ticket-card__top{display:flex;justify-content:space-between;gap:12px}.avj-so-ticket-card h3{margin:6px 0;font-size:17px}.avj-so-ticket-card p{margin:0;color:var(--avj-muted);font-size:12px}.avj-so-ticket-code{display:inline-flex;padding:4px 8px;border-radius:8px;background:var(--avj-soft);color:var(--avj-primary);font-size:11px;font-weight:900}.avj-so-ticket-badges{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px}.avj-so-priority{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.priority-urgent{background:#ffe7eb;color:#b4233b}.priority-high{background:#fff0df;color:#a65b00}.priority-normal{background:#e9f1ff;color:#2457a7}.priority-low{background:#edf0f5;color:#52607a}.avj-so-ticket-card__meta{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px;border-radius:13px;background:#f8faff;color:#53617a;font-size:12px}
.avj-so-ticket-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px}.avj-so-ticket-chat,.avj-so-ticket-side>.avj-so-card{border:1px solid var(--avj-line);border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(31,47,90,.05)}.avj-so-ticket-chat>header{padding:18px;border-bottom:1px solid #edf1f7}.avj-so-ticket-chat h2{margin:0;font-size:18px}.avj-so-ticket-chat header p{margin:4px 0 0;color:var(--avj-muted);font-size:12px}.avj-so-chat-stream{display:grid;gap:10px;max-height:620px;padding:18px;overflow:auto;background:#fbfcff}.avj-so-chat-message{max-width:82%;padding:12px 14px;border:1px solid #e4e9f2;border-radius:16px;background:#fff}.avj-so-chat-message.customer{margin-left:auto;background:var(--avj-soft);border-color:var(--avj-border-accent)}.avj-so-chat-message.staff{margin-right:auto;background:#edf7ff;border-color:#d4eaff}.avj-so-chat-message>div{display:flex;justify-content:space-between;gap:10px}.avj-so-chat-message strong{font-size:13px}.avj-so-chat-message time{color:var(--avj-muted);font-size:10px}.avj-so-chat-message p{margin:7px 0 0;font-size:13px;line-height:1.9}.avj-so-chat-composer{display:grid;gap:9px;padding:14px;border-top:1px solid #e8ecf3}.avj-so-chat-composer textarea{width:100%;padding:11px;border:1px solid #d9e0ec;border-radius:13px;font:14px/1.8 Tahoma,Arial,sans-serif}.avj-so-ticket-side{display:grid;align-content:start;gap:12px}.avj-so-ticket-side>.avj-so-card{padding:16px}.avj-so-ticket-side h2{margin:0 0 12px}.avj-so-ticket-side label{display:grid;gap:5px;margin-bottom:10px}.avj-so-ticket-side input,.avj-so-ticket-side select,.avj-so-ticket-side textarea{width:100%;min-height:42px;padding:9px 10px;border:1px solid #d9e0ec;border-radius:11px;font:13px Tahoma,Arial,sans-serif}.avj-so-definition-list{display:grid;gap:0;margin:0}.avj-so-definition-list div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #eef1f6}.avj-so-definition-list dt{color:var(--avj-muted);font-size:11px}.avj-so-definition-list dd{margin:0;font-size:12px;font-weight:800}.avj-so-timeline{display:grid;gap:10px}.avj-so-timeline article{padding:10px 12px;border-right:3px solid var(--avj-primary);border-radius:10px;background:#f8faff}.avj-so-timeline p{margin:4px 0;font-size:12px}.avj-so-timeline small{color:var(--avj-muted);font-size:10px}
.avj-so-card-list{display:grid;gap:12px}.avj-so-queue-card,.avj-so-feedback-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--avj-line);border-radius:18px;background:#fff}.avj-so-queue-card h3,.avj-so-feedback-card h3{margin:5px 0;font-size:15px}.avj-so-queue-card p,.avj-so-feedback-card p{margin:0;color:var(--avj-muted);font-size:12px}.avj-so-queue-card.is-form{align-items:flex-start}.avj-so-urgent-parts-form{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;gap:9px;align-items:center}.avj-so-urgent-parts-form textarea{min-height:70px;padding:9px;border:1px solid #d9e0ec;border-radius:11px;font:13px Tahoma,Arial,sans-serif}.avj-so-feedback-face{font-size:34px}.avj-so-feedback-card>div:nth-child(2){flex:1}.avj-so-feedback-card blockquote{margin:7px 0 0;padding:9px;border-radius:10px;background:#f8faff;font-size:12px}
.avj-so-pm-list{display:grid;gap:11px}.avj-so-pm-card{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:14px;align-items:center;padding:16px;border:1px solid var(--avj-line);border-radius:18px;background:#fff}.avj-so-pm-card h3{margin:7px 0 4px;font-size:15px}.avj-so-pm-card p{margin:0;color:var(--avj-muted);font-size:12px}.avj-so-pm-date strong,.avj-so-pm-date small{display:block}.avj-so-pm-date small{margin-top:4px;color:var(--avj-muted)}
.avj-so-report-accordions{display:grid;gap:9px}.avj-so-report-accordion{border:1px solid #e3e8f1;border-radius:15px;background:#fff;overflow:hidden}.avj-so-report-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;cursor:pointer;background:#fafbfe}.avj-so-report-accordion>summary strong,.avj-so-report-accordion>summary small{display:block}.avj-so-report-accordion>summary small{margin-top:4px;color:var(--avj-muted);font-size:11px}.avj-so-report-accordion__body{padding:14px}.avj-so-report-accordion__body ul{display:grid;gap:6px;margin:0 0 12px;padding:0;list-style:none}.avj-so-report-accordion__body li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;padding:8px 10px;border-radius:10px;background:#f8faff;font-size:12px}.avj-so-report-accordion__body li small{grid-column:1/-1;color:#a43145}
.avj-so-review-panel{border-color:var(--avj-border-accent);background:linear-gradient(180deg,#fff,#fbfaff)}.avj-so-review-form{display:grid;gap:12px}.avj-so-review-form label{display:grid;gap:6px}.avj-so-review-form textarea{width:100%;padding:11px;border:1px solid #d9e0ec;border-radius:12px;font:14px/1.8 Tahoma,Arial,sans-serif}.avj-so-btn-danger{background:linear-gradient(135deg,#c72d48,#e55468)!important;color:#fff!important}
.avj-so-modal{width:min(620px,calc(100% - 24px));padding:0;border:0;border-radius:22px;box-shadow:0 28px 100px rgba(15,23,42,.3)}.avj-so-modal::backdrop{background:rgba(15,23,42,.68);backdrop-filter:blur(3px)}.avj-so-modal form>header,.avj-so-modal form>footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px}.avj-so-modal form>header{border-bottom:1px solid #e8ecf3}.avj-so-modal form>footer{border-top:1px solid #e8ecf3;justify-content:flex-end}.avj-so-modal header h2{margin:0;font-size:18px}.avj-so-modal header p{margin:4px 0 0;color:var(--avj-muted);font-size:12px}.avj-so-modal header>button{width:36px;height:36px;border:0;border-radius:12px;background:#fff0f2;color:var(--avj-danger);font-size:22px}.avj-so-modal-body{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:18px}
.avj-so-settings-card{margin-top:16px;padding:18px}.avj-so-settings-card h2{margin-top:0}
@media(max-width:980px){.avj-so-ticket-layout{grid-template-columns:1fr}.avj-so-ticket-side{grid-template-columns:repeat(2,minmax(0,1fr))}.avj-so-ticket-side>.avj-so-card:last-child{grid-column:1/-1}.avj-so-pm-card{grid-template-columns:1fr auto}.avj-so-pm-card>.avj-so-row-actions{grid-column:1/-1}.avj-so-urgent-parts-form{grid-template-columns:1fr}}
@media(max-width:700px){.avj-so-pwa-install span{display:none}.avj-so-pwa-install{width:40px;padding:0;justify-content:center}.avj-so-ticket-cards{grid-template-columns:1fr}.avj-so-ticket-card__top{display:grid}.avj-so-ticket-card__meta{grid-template-columns:1fr}.avj-so-ticket-side{grid-template-columns:1fr}.avj-so-ticket-side>.avj-so-card:last-child{grid-column:auto}.avj-so-chat-message{max-width:94%}.avj-so-queue-card,.avj-so-feedback-card{align-items:stretch;flex-direction:column}.avj-so-pm-card{grid-template-columns:1fr}.avj-so-modal-body{grid-template-columns:1fr}.avj-so-form-section>header{align-items:flex-start;flex-direction:column}.avj-so-report-accordion>summary{align-items:flex-start}.avj-so-report-accordion__body li{grid-template-columns:1fr}.avj-so-report-accordion__body li small{grid-column:auto}}


/* 0.14 workflow parity and Timesheet-size typography */
.avj-so-app{font-size:14px}.avj-so-main,.avj-so-content,.avj-so-form-section,.avj-so-card,.avj-so-ticket-workspace{font-size:14px}
.avj-so-form-section>header span,.avj-so-card h2,.avj-so-ticket-side h2{font-size:15px}.avj-so-form-section>header small,.avj-so-field small,.avj-so-view-field>span{font-size:12px}
.avj-so-field>span,.avj-so-ticket-manage label>span{font-size:13px}.avj-so-field input,.avj-so-field select,.avj-so-field textarea,.avj-so-ticket-side input,.avj-so-ticket-side select,.avj-so-ticket-side textarea{font-size:14px;line-height:1.65}
.avj-so-feedback-settings{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr) auto;gap:16px;align-items:end;margin-bottom:16px}.avj-so-feedback-settings h2{margin:0 0 4px}.avj-so-feedback-settings p{margin:0;color:var(--avj-muted)}
.avj-so-task-source{margin:0 0 16px}.avj-so-task-source h2{margin:0 0 4px}.avj-so-task-source p{margin:0 0 12px;color:var(--avj-muted)}
.avj-so-static-section>.avj-so-form-section__body{display:block!important}.avj-so-static-section>header{cursor:default!important}
@media(max-width:780px){.avj-so-app,.avj-so-main,.avj-so-content{font-size:14px}.avj-so-feedback-settings{grid-template-columns:1fr}.avj-so-form-section>header span{font-size:14px}.avj-so-field input,.avj-so-field select,.avj-so-field textarea{font-size:16px}}

.avj-so-happy-call-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.avj-so-happy-card{display:grid;gap:14px;padding:18px;border:1px solid var(--avj-line);border-radius:18px;background:#fff;box-shadow:var(--avj-shadow-soft)}.avj-so-happy-card header,.avj-so-happy-card footer{display:flex;justify-content:space-between;gap:12px;align-items:center}.avj-so-happy-card h3{margin:7px 0 2px;font-size:16px}.avj-so-happy-card p,.avj-so-happy-card header>strong{margin:0;color:var(--avj-muted);font-size:12px}.avj-so-happy-card__body{display:grid;gap:4px;padding:12px;border-radius:13px;background:#f8f9fd}.avj-so-happy-card__body span,.avj-so-happy-card__body small{font-size:12px;color:var(--avj-muted)}.avj-so-happy-card__body b{font-size:15px}.avj-so-happy-card footer{justify-content:flex-start;flex-wrap:wrap}@media(max-width:780px){.avj-so-happy-call-grid{grid-template-columns:1fr}.avj-so-happy-card header{align-items:flex-start}.avj-so-happy-card footer .avj-so-btn{flex:1}}

/* 0.14.0 final typography pass — aligned with AVJ Timesheet on desktop and mobile. */
.avj-so-app,.avj-so-login,.avj-so-admin-wrap{font-size:14px;line-height:1.8}
.avj-so-sidebar nav a,.avj-so-btn{font-size:13px}
.avj-so-link-btn{font-size:12px}
.avj-so-status,.avj-so-badge,.avj-so-priority{font-size:11px}
.avj-so-module-head p,.avj-so-toolbar p,.avj-so-form-heading p,
.avj-so-card p,.avj-so-queue-card p,.avj-so-feedback-card p,.avj-so-pm-card p{font-size:12px}
.avj-so-field>span,.avj-so-ticket-side label,.avj-so-filterbar label>span{font-size:13px}
.avj-so-field>small,.avj-so-view-section__head p,.avj-so-view-summary small,
.avj-so-definition-list dt,.avj-so-timeline small{font-size:11px}
.avj-so-field input,.avj-so-field select,.avj-so-field textarea,
.avj-so-filterbar select,.avj-so-filterbar input,
.avj-so-ticket-side input,.avj-so-ticket-side select,.avj-so-ticket-side textarea{font-size:14px}
.avj-so-table{font-size:13px}.avj-so-table th{font-size:12px}.avj-so-table td small{font-size:11px}
.avj-so-view-field>span{font-size:11px}.avj-so-view-field>div{font-size:14px}
.avj-so-report-accordion__body li,.avj-so-definition-list dd,.avj-so-timeline p{font-size:13px}
.avj-so-mini-list b{font-size:13px}.avj-so-mini-list small{font-size:11px}
@media(max-width:700px){
  .avj-so-app,.avj-so-login,.avj-so-admin-wrap,.avj-so-main,.avj-so-content{font-size:14px}
  .avj-so-field input,.avj-so-field select,.avj-so-field textarea,
  .avj-so-filterbar select,.avj-so-filterbar input,
  .avj-so-ticket-side input,.avj-so-ticket-side select,.avj-so-ticket-side textarea{font-size:16px}
  .avj-so-responsive-table td:before{font-size:11px}
  .avj-so-mobile-nav small{font-size:11px}
}

/* 0.15.0 — layout hardening and focused operational screens. */
.avj-so-ticket-workspace{display:block;width:100%;min-width:0}
.avj-so-ticket-layout{width:100%;grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"chat side";direction:ltr;align-items:start}
.avj-so-ticket-chat{grid-area:chat;display:block!important;width:100%!important;min-width:0!important;min-height:420px;visibility:visible!important;direction:rtl}
.avj-so-ticket-side{grid-area:side;width:100%;min-width:0;direction:rtl}
.avj-so-chat-stream:empty:before{content:"هنوز پیامی در این تیکت ثبت نشده است.";display:block;padding:24px;color:var(--avj-muted);text-align:center}

.avj-so-role-switcher{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;margin-bottom:14px}
.avj-so-role-switcher strong,.avj-so-role-switcher small{display:block}.avj-so-role-switcher small{margin-top:4px;color:var(--avj-muted)}
.avj-so-role-switcher select{width:min(360px,100%);min-height:46px;padding:8px 12px;border:1px solid var(--avj-line);border-radius:13px;background:#fff;font:14px Tahoma,Arial,sans-serif}
.avj-so-role-card[hidden]{display:none!important}.avj-so-role-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--avj-line);background:linear-gradient(180deg,#fff,#fafbff)}
.avj-so-role-card>header>span{display:flex;align-items:center;gap:10px}.avj-so-role-card>header strong{font-size:16px}.avj-so-role-card>header small{color:var(--avj-muted);font-size:12px}
.avj-so-role-modules{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}
.avj-so-permission-module{padding:14px;border-radius:15px}.avj-so-permission-module h3{font-size:14px;margin-bottom:10px}.avj-so-permission-module>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.avj-so-permission-module label{font-size:12px;padding:7px 8px;border-radius:9px;background:#f8f9fd}.avj-so-permission-module input{width:17px;height:17px}

.avj-so-visibility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.avj-so-visibility-card{padding:0;overflow:hidden}.avj-so-visibility-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;border-bottom:1px solid var(--avj-line);background:#fbfcff}.avj-so-visibility-card h2{margin:0;font-size:17px}.avj-so-visibility-card p{margin:4px 0 0;color:var(--avj-muted);font-size:12px}.avj-so-visibility-options{display:grid;gap:8px;padding:15px}.avj-so-visibility-options>label{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:10px 11px;border:1px solid #e6eaf2;border-radius:12px;background:#fff}.avj-so-visibility-options input{width:18px;height:18px;accent-color:var(--avj-primary)}.avj-so-visibility-options b,.avj-so-visibility-options small{display:block}.avj-so-visibility-options b{font-size:13px}.avj-so-visibility-options small{margin-top:3px;color:var(--avj-muted);font-size:10px}

.avj-so-happy-call-form{max-width:1000px}.avj-so-happy-questions[hidden]{display:none!important}.avj-so-happy-questions .avj-so-field[data-field-name$="_desc"]{margin-top:-6px;padding:10px;border-radius:12px;background:#fafbff}.avj-so-related-report-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.avj-so-related-report-cards{display:grid;gap:10px}.avj-so-related-report-cards article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid var(--avj-line);border-radius:14px;background:#fbfcff}.avj-so-related-report-cards strong,.avj-so-related-report-cards small{display:block}.avj-so-related-report-cards small{margin-top:4px;color:var(--avj-muted)}.avj-so-happy-answer-list{display:grid;gap:10px}.avj-so-happy-answer-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--avj-line);border-radius:14px;background:#fbfcff}.avj-so-happy-answer-list p{margin:6px 0 0;color:var(--avj-muted)}

.avj-so-record-form[data-avj-so-report-form]>.avj-so-form-section{margin-bottom:12px}.avj-so-record-form[data-avj-so-report-form] .avj-so-form-section__body{padding:18px}.avj-so-record-form[data-avj-so-report-form] .avj-so-check-item{padding:11px 0}.avj-so-record-form[data-avj-so-report-form] .avj-so-checkbox-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

@media(max-width:1080px){.avj-so-ticket-layout{grid-template-columns:1fr;grid-template-areas:"chat" "side"}.avj-so-ticket-side{grid-template-columns:repeat(2,minmax(0,1fr))}.avj-so-ticket-side>.avj-so-card:last-child{grid-column:1/-1}.avj-so-visibility-grid{grid-template-columns:1fr}.avj-so-role-modules{grid-template-columns:1fr}}
@media(max-width:700px){.avj-so-role-switcher{align-items:stretch;flex-direction:column}.avj-so-role-switcher select{width:100%}.avj-so-permission-module>div{grid-template-columns:repeat(2,minmax(0,1fr))}.avj-so-ticket-side{grid-template-columns:1fr}.avj-so-related-report-cards article,.avj-so-happy-answer-list article{align-items:stretch;flex-direction:column}.avj-so-record-form[data-avj-so-report-form] .avj-so-checkbox-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.avj-so-permission-module>div,.avj-so-record-form[data-avj-so-report-form] .avj-so-checkbox-grid{grid-template-columns:1fr}}

/* 0.16.0 — clarity pass: compact navigation, contextual task action, personnel, customer portal and report workflow. */
.avj-so-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* The menu remains scrollable without showing a permanent inner rail. */
.avj-so-sidebar nav{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}
.avj-so-sidebar nav::-webkit-scrollbar{width:0;height:0;display:none}
.avj-so-sidebar:hover nav{scrollbar-width:thin}
.avj-so-sidebar:hover nav::-webkit-scrollbar{display:block;width:5px}
.avj-so-sidebar:hover nav::-webkit-scrollbar-thumb{background:#d9d3ff;border-radius:999px}
.avj-so-sidebar:hover nav::-webkit-scrollbar-track{background:transparent}

/* Context task is now a light, red icon in the global header beside Install App. */
.avj-so-task-quick{display:inline-grid;place-items:center;width:38px;height:38px;min-width:38px;padding:0;border:1px solid #ffd2d9;border-radius:12px;background:#fff1f3;color:#c52f49;box-shadow:0 7px 18px rgba(197,47,73,.12);cursor:pointer;transition:.18s}
.avj-so-task-quick:hover{transform:translateY(-1px);background:#c52f49;color:#fff;border-color:#c52f49}
.avj-so-task-quick .dashicons{width:18px;height:18px;font-size:18px;line-height:18px}
.avj-so-user-menu>.avj-so-modal{direction:rtl}

/* Compact search controls on customers, personnel and generic lists. */
.avj-so-compact-search,.avj-so-personnel-module>.avj-so-filterbar,.avj-so-customer-module>.avj-so-filterbar{display:flex;align-items:center;max-width:720px;padding:8px 9px;border-radius:15px}
.avj-so-compact-search .avj-so-searchbox,.avj-so-personnel-module>.avj-so-filterbar .avj-so-searchbox{min-width:0;max-width:520px}
.avj-so-compact-search .avj-so-searchbox input,.avj-so-personnel-module>.avj-so-filterbar .avj-so-searchbox input{min-height:36px;padding:5px 0;font-size:13px}
.avj-so-compact-search .avj-so-btn,.avj-so-personnel-module>.avj-so-filterbar .avj-so-btn{min-height:36px;padding:7px 13px;border-radius:11px}

/* Personnel: one calm horizontal line with explicit View and Edit actions. */
.avj-so-personnel-list{display:grid;gap:8px}
.avj-so-person-row{display:grid;grid-template-columns:42px minmax(190px,1.3fr) minmax(210px,1fr) auto auto;align-items:center;gap:12px;min-height:68px;padding:10px 12px;border:1px solid var(--avj-line);border-radius:16px;background:#fff;box-shadow:0 5px 15px rgba(31,47,90,.035)}
.avj-so-person-row .avj-so-avatar{width:42px;height:42px;border-radius:13px;font-size:15px}
.avj-so-person-row__identity,.avj-so-person-row__contact{min-width:0}
.avj-so-person-row__identity strong,.avj-so-person-row__identity small,.avj-so-person-row__contact span,.avj-so-person-row__contact small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avj-so-person-row__identity strong{font-size:14px}.avj-so-person-row__identity small,.avj-so-person-row__contact small{margin-top:2px;color:var(--avj-muted);font-size:10px}
.avj-so-person-row__contact span{font-size:12px;direction:ltr;text-align:right}
.avj-so-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}
.avj-so-row-actions .avj-so-link-btn{min-height:32px;padding:5px 9px}
.avj-so-link-btn-view{border-color:#d9d3ff;background:#f5f2ff;color:var(--avj-primary)!important}
.avj-so-person-profile .avj-so-person-hero{align-items:center}

/* Customer portal. */
.avj-so-customer-home{display:grid;gap:16px}
.avj-so-customer-welcome{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:27px 29px;border-radius:27px;background:linear-gradient(135deg,#2f256d,#5a36f2 62%,#8759ff);color:#fff;box-shadow:0 22px 48px rgba(55,39,139,.22)}
.avj-so-customer-welcome .avj-so-kicker{color:#ded7ff}.avj-so-customer-welcome h1{margin:4px 0 7px;color:#fff;font-size:27px}.avj-so-customer-welcome p{margin:0;color:#eeeaff;font-size:13px}
.avj-so-customer-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.avj-so-customer-stats>a{display:grid;gap:3px;padding:16px;border:1px solid var(--avj-line);border-radius:18px;background:#fff;color:var(--avj-text);box-shadow:0 7px 20px rgba(31,47,90,.045)}
.avj-so-customer-stats strong{font-size:22px;color:var(--avj-primary)}.avj-so-customer-stats span{color:var(--avj-muted);font-size:11px}
.avj-so-customer-quick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.avj-so-customer-quick>a{display:flex;align-items:flex-start;gap:10px;min-height:105px;padding:15px;border:1px solid var(--avj-line);border-radius:18px;background:#fff;color:var(--avj-text);box-shadow:0 7px 20px rgba(31,47,90,.04);transition:.18s}
.avj-so-customer-quick>a:hover{transform:translateY(-2px);border-color:#d7d0ff}.avj-so-customer-quick i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--avj-soft);color:var(--avj-primary);font-size:19px}.avj-so-customer-quick b,.avj-so-customer-quick small{display:block}.avj-so-customer-quick b{font-size:13px}.avj-so-customer-quick small{margin-top:5px;color:var(--avj-muted);font-size:10px;line-height:1.7}

/* Complete field-by-field customer visibility selector. */
.avj-so-visibility-options{max-height:620px;overflow:auto;scrollbar-width:thin;scrollbar-color:#d7d1ff transparent}
.avj-so-visibility-options>label{transition:.15s}.avj-so-visibility-options>label:hover{border-color:#cec6ff;background:color-mix(in srgb,var(--avj-primary) 3%,white)}.avj-so-visibility-options>label:has(input:checked){border-color:#cfc7ff;background:#f7f4ff}
.avj-so-visibility-options code{direction:ltr;display:inline-block;color:#7a6ea8;font-size:9px}
.avj-so-visibility-options .is-master-option{position:sticky;top:0;z-index:2;border-color:#cfc7ff;background:#f3efff;box-shadow:0 4px 12px rgba(52,35,124,.07)}

/* Report form: one visible operational path, not a collection of ACF groups. */
.avj-so-record-form[data-avj-so-report-form]{counter-reset:avj-report-step;max-width:1120px}
.avj-so-record-form[data-avj-so-report-form]>.avj-so-form-section{position:relative;overflow:hidden;border-width:1px;border-right-width:5px}
.avj-so-record-form[data-avj-so-report-form]>.avj-so-form-section>header{padding:14px 17px}
.avj-so-record-form[data-avj-so-report-form]>.avj-so-form-section>header span{font-size:16px}
.avj-so-record-form[data-avj-so-report-form]>.avj-so-form-section:first-of-type{border-right-color:#5a36f2}.avj-so-record-form[data-avj-so-report-form]>.is-work-section{border-right-color:#2186d9}.avj-so-record-form[data-avj-so-report-form]>.is-checklist-section{border-right-color:#11a06b}.avj-so-record-form[data-avj-so-report-form]>.is-feedback-section{border-right-color:#e9a20d}.avj-so-record-form[data-avj-so-report-form]>.is-supervision-section{border-right-color:#7f52e8}.avj-so-record-form[data-avj-so-report-form]>.is-correction-section{border-right-color:#d63c52}
.avj-so-record-form[data-avj-so-report-form]>.is-work-section>header{background:#f4faff}.avj-so-record-form[data-avj-so-report-form]>.is-checklist-section>header{background:#f2fbf7}.avj-so-record-form[data-avj-so-report-form]>.is-feedback-section>header{background:#fffaf0}.avj-so-record-form[data-avj-so-report-form]>.is-supervision-section>header{background:#f7f4ff}.avj-so-record-form[data-avj-so-report-form]>.is-correction-section>header{background:#fff3f5}
.avj-so-record-form[data-avj-so-report-form] .avj-so-field{min-width:0}.avj-so-record-form[data-avj-so-report-form] .avj-so-check-item{border-bottom:1px solid #edf1f6}.avj-so-record-form[data-avj-so-report-form] .avj-so-check-item:last-child{border-bottom:0}
.avj-so-checklist-guide{margin-top:13px}.avj-so-service-alert{box-shadow:0 7px 18px rgba(177,124,0,.07)}

/* Read-only report and the supervisor decision are visually separated by stage. */
.avj-so-workflow-strip{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:9px;padding:13px 16px;margin:0 0 14px;border:1px solid var(--avj-line);border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(31,47,90,.04)}
.avj-so-workflow-strip span{display:flex;align-items:center;gap:7px;color:#8a94a8;font-size:12px;font-weight:900;white-space:nowrap}.avj-so-workflow-strip span i{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#eef1f6;color:#7b879d;font-style:normal}.avj-so-workflow-strip>b{height:3px;border-radius:999px;background:#e8ebf1}
.avj-so-workflow-strip .is-done{color:#08724b}.avj-so-workflow-strip .is-done i{background:#e5f8ef;color:#08724b}.avj-so-workflow-strip .is-current{color:#8b5b00}.avj-so-workflow-strip .is-current i{background:#fff2d7;color:#a65b00}.avj-so-workflow-strip .is-rejected{color:#b4233b}.avj-so-workflow-strip .is-rejected i{background:#fff0f2;color:#b4233b}
.avj-so-review-panel{border:1px solid #d4ccff!important;border-right:5px solid #6941d9!important;border-radius:21px!important;background:linear-gradient(180deg,#fff,#faf8ff)!important;box-shadow:0 13px 28px rgba(80,48,181,.08)!important}
.avj-so-review-panel .avj-so-view-section__head{padding-bottom:13px;border-bottom:1px solid #ece8ff}.avj-so-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.avj-so-review-grid label{padding:12px;border:1px solid #e8e3ff;border-radius:14px;background:#fff}.avj-so-review-grid label>span{font-size:13px;font-weight:900}.avj-so-review-grid .is-next-service-note{border-color:#f0d083;background:#fffdf6}.avj-so-review-form>.avj-so-inline-actions{justify-content:flex-end;padding-top:12px;border-top:1px dashed #ddd7fa}

/* Role editor: aligned, readable modules and no giant uneven cards. */
.avj-so-role-switcher{position:sticky;top:78px;z-index:8;box-shadow:0 9px 24px rgba(31,47,90,.07)}
.avj-so-role-modules{align-items:start}.avj-so-permission-module{min-height:0}.avj-so-permission-module>div{align-items:stretch}.avj-so-permission-module label{min-height:38px;justify-content:flex-start}.avj-so-permission-module.is-supervision{grid-column:1/-1;border-color:#cdc5ff;background:#faf8ff}.avj-so-permission-module.is-supervision>div{grid-template-columns:repeat(6,minmax(0,1fr))}.avj-so-permission-module.is-task-scope{grid-column:1/-1;border-color:#c8d8ff;background:linear-gradient(135deg,#f7f9ff,#fff)}.avj-so-permission-module.is-task-scope>div{grid-template-columns:repeat(5,minmax(0,1fr))}.avj-so-permission-module.is-task-scope h3{color:#304e9c}.avj-so-person-permissions section.is-task-scope{grid-column:1/-1;border-color:#c8d8ff;background:linear-gradient(135deg,#f7f9ff,#fff)}.avj-so-person-permissions section.is-task-scope h3{color:#304e9c}

/* Native invoice builder. */
.avj-so-invoice-form{max-width:1050px}.avj-so-invoice-form .is-identity-section{border-right:5px solid #5a36f2}.avj-so-invoice-form .is-invoice-builder{border-right:5px solid #15906b}.avj-so-invoice-form .is-invoice-builder>header{background:#f3fbf7}.avj-so-invoice-live-total{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center;padding:16px 18px;margin:12px 0 84px;border:1px solid #bfe8d7;border-radius:17px;background:#f1fbf7}.avj-so-invoice-live-total span{font-size:13px;font-weight:900}.avj-so-invoice-live-total strong{grid-row:1/3;grid-column:2;font-size:22px;color:#08724b}.avj-so-invoice-live-total small{color:var(--avj-muted);font-size:10px}

@media(max-width:1100px){
  .avj-so-customer-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.avj-so-customer-quick{grid-template-columns:repeat(3,minmax(0,1fr))}
  .avj-so-person-row{grid-template-columns:42px minmax(180px,1fr) minmax(180px,1fr) auto}.avj-so-person-row>.avj-so-status{display:none}.avj-so-permission-module.is-supervision>div,.avj-so-permission-module.is-task-scope>div{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .avj-so-sidebar:hover nav{scrollbar-width:none}.avj-so-sidebar:hover nav::-webkit-scrollbar{display:none;width:0}
  .avj-so-task-quick{width:40px;height:40px;min-width:40px}
  .avj-so-compact-search,.avj-so-personnel-module>.avj-so-filterbar,.avj-so-customer-module>.avj-so-filterbar{display:grid;grid-template-columns:1fr auto;max-width:none}
  .avj-so-person-row{grid-template-columns:42px 1fr auto;gap:9px}.avj-so-person-row__contact{grid-column:2}.avj-so-person-row>.avj-so-status{display:inline-flex;grid-column:3;grid-row:1}.avj-so-row-actions{grid-column:1/-1;justify-content:stretch}.avj-so-row-actions .avj-so-link-btn{flex:1}
  .avj-so-customer-welcome{align-items:flex-start;flex-direction:column;padding:22px 19px}.avj-so-customer-welcome h1{font-size:23px}.avj-so-customer-welcome .avj-so-btn{width:100%}.avj-so-customer-stats{grid-template-columns:repeat(2,1fr)}.avj-so-customer-quick{grid-template-columns:1fr 1fr}.avj-so-customer-quick>a{min-height:96px}
  .avj-so-workflow-strip{grid-template-columns:1fr;gap:7px}.avj-so-workflow-strip>b{width:3px;height:18px;margin-right:13px}.avj-so-review-grid{grid-template-columns:1fr}
  .avj-so-role-switcher{position:static}.avj-so-permission-module.is-supervision>div,.avj-so-permission-module.is-task-scope>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .avj-so-invoice-live-total{grid-template-columns:1fr;margin-bottom:90px}.avj-so-invoice-live-total strong{grid-row:auto;grid-column:auto}
}
@media(max-width:460px){
  .avj-so-customer-stats,.avj-so-customer-quick{grid-template-columns:1fr}.avj-so-person-row{grid-template-columns:38px 1fr}.avj-so-person-row>.avj-so-status{grid-column:2;grid-row:auto;justify-self:start}.avj-so-person-row__contact{grid-column:2}.avj-so-permission-module.is-supervision>div,.avj-so-permission-module.is-task-scope>div{grid-template-columns:1fr}
}

/* 0.17.0 — notification center, push and self-contained QR. */
.avj-so-notification-bell{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid #e4e6ef;border-radius:12px;background:#fff;color:#5138ee;text-decoration:none;box-shadow:0 6px 18px rgba(41,50,84,.08)}
.avj-so-notification-bell i{width:19px;height:19px;font-size:19px}.avj-so-notification-bell>span{position:absolute;top:-6px;left:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;line-height:19px;text-align:center;border:2px solid #fff}
.avj-so-notification-center .avj-so-module-head{align-items:flex-start}.avj-so-push-status{margin:0 0 14px;padding:11px 14px;border-radius:12px;background:#f5f6fa;color:#5d6980;border:1px solid #e5e9f2}.avj-so-push-status[data-state="enabled"]{background:#ecf9f1;color:#087447;border-color:#c8ead8}.avj-so-push-status[data-state="error"]{background:#fff0f0;color:#a62222;border-color:#f2cccc}.avj-so-notification-filters{display:flex;gap:8px;margin-bottom:14px}.avj-so-notification-filters a{padding:8px 13px;border-radius:10px;text-decoration:none;color:#667085;background:#f4f5f8}.avj-so-notification-filters a.active{background:#ede9ff;color:#5138ee;font-weight:800}.avj-so-notification-list{display:grid;gap:10px}.avj-so-notification-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:15px;border:1px solid #e5e8f0;border-radius:15px;background:#fff}.avj-so-notification-item.is-unread{border-color:#cfc7ff;background:color-mix(in srgb,var(--avj-primary) 3%,white);box-shadow:inset -3px 0 #6246ef}.avj-so-notification-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--avj-primary) 10%,white);color:#5138ee}.avj-so-notification-icon i{width:20px;height:20px;font-size:20px}.avj-so-notification-item header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.avj-so-notification-item header strong{font-size:14px}.avj-so-notification-item time{font-size:11px;color:#8a94a8;white-space:nowrap}.avj-so-notification-item p{margin:7px 0 10px;color:#59657b;line-height:1.8}.avj-so-notification-item footer{display:flex;gap:8px;flex-wrap:wrap}.avj-so-notification-item button{font-family:inherit;cursor:pointer}.avj-so-qr-preview>[data-avj-so-qr],.avj-so-qr-preview>svg,.avj-so-qr-preview svg{display:block;width:156px;height:156px;max-width:100%}.avj-so-qr-print-card [data-avj-so-qr] svg{width:260px;height:260px;max-width:100%}
@media(max-width:780px){.avj-so-notification-bell{width:36px;height:36px}.avj-so-notification-center .avj-so-module-head{display:grid}.avj-so-notification-center .avj-so-module-head .avj-so-inline-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.avj-so-notification-center .avj-so-module-head .avj-so-inline-actions .avj-so-btn:first-child{grid-column:1/-1}.avj-so-notification-item{grid-template-columns:36px minmax(0,1fr);padding:12px}.avj-so-notification-icon{width:36px;height:36px}.avj-so-notification-item header{display:grid;gap:4px}.avj-so-notification-item time{white-space:normal}}

/* 0.18.0 — native upload experience and safe delete controls */
.avj-so-uploader{display:grid;gap:10px;padding:12px;border:1px dashed #c8d2e6;border-radius:16px;background:linear-gradient(145deg,#fff,#f8f9ff);transition:.2s ease;min-width:0}.avj-so-uploader:hover,.avj-so-uploader.is-dragover{border-color:var(--avj-primary);background:#f5f2ff;box-shadow:0 0 0 4px rgba(var(--avj-primary-rgb),.08)}.avj-so-uploader.is-uploading{pointer-events:none;opacity:.82}.avj-so-upload-preview{display:flex;align-items:center;gap:12px;min-width:0;cursor:pointer}.avj-so-upload-thumb{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;overflow:hidden;border:1px solid var(--avj-line);border-radius:14px;background:#fff;color:var(--avj-primary)}.avj-so-upload-thumb img{width:100%;height:100%;object-fit:cover}.avj-so-upload-thumb .dashicons{width:26px;height:26px;font-size:26px}.avj-so-upload-copy{display:grid;gap:4px;min-width:0}.avj-so-upload-copy strong{font-size:13px;color:var(--avj-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avj-so-upload-copy small{font-size:11px;color:var(--avj-muted);line-height:1.8}.avj-so-upload-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.avj-so-upload-choose,.avj-so-upload-camera-btn,.avj-so-upload-clear{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 12px;border:0;border-radius:11px;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.avj-so-upload-choose{background:var(--avj-primary);color:#fff;box-shadow:0 7px 18px rgba(var(--avj-primary-rgb),.20)}.avj-so-upload-camera-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 12px;border:1px solid #d9d0ff;border-radius:11px;background:#f1edff;color:#5531dc;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.avj-so-upload-camera-btn:hover{background:#e7e0ff;border-color:#b9a8ff}.avj-so-upload-clear{background:#fff0f2;color:var(--avj-danger);border:1px solid #ffd9df}.avj-so-upload-progress{position:relative;height:26px;overflow:hidden;border-radius:10px;background:#e8eaf3}.avj-so-upload-progress i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#6c3df2,#9b6dff);transition:width .15s ease}.avj-so-upload-progress span{position:relative;z-index:1;display:grid;place-items:center;height:100%;font-size:10px;font-weight:900;color:#20243b}.avj-so-upload-error{padding:8px 10px;border-radius:9px;background:#fff7e6;color:#965d00;font-size:10px}.avj-so-upload-error.is-error{background:#fff0f2;color:#b42335}.avj-so-delete-form{display:inline-flex;margin:0}.avj-so-delete-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:6px 9px;border:1px solid #ffd1d8;border-radius:10px;background:#fff;color:#c92b42;font:inherit;font-size:10px;font-weight:900;cursor:pointer;transition:.18s ease}.avj-so-delete-btn:hover{background:#fff0f2;border-color:#ef6a7d;transform:translateY(-1px)}.avj-so-delete-btn .dashicons{width:16px;height:16px;font-size:16px}.avj-so-view-toolbar .avj-so-delete-btn{min-height:42px;padding:9px 12px}.avj-so-toast-inline.is-warning{background:#fff8e7;color:#8b6200;border-color:#ffe1a1}
@media(max-width:680px){.avj-so-uploader{padding:10px}.avj-so-upload-preview{align-items:flex-start}.avj-so-upload-thumb{flex-basis:52px;width:52px;height:52px}.avj-so-upload-actions{display:grid;grid-template-columns:1fr auto}.avj-so-upload-choose,.avj-so-upload-camera-btn,.avj-so-upload-clear{min-height:44px}.avj-so-delete-btn span{display:none}.avj-so-delete-btn{width:38px;height:38px;padding:0}}
.avj-so-visibility-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px 12px;border:1px solid var(--avj-line);border-radius:14px;background:#fff}.avj-so-visibility-toolbar label{display:flex;align-items:center;gap:8px;flex:1;max-width:520px}.avj-so-visibility-toolbar input{width:100%;min-height:42px;border:0;background:#f6f7fb;border-radius:10px;padding:8px 10px;font:inherit}.avj-so-visibility-toolbar span{font-size:11px;color:var(--avj-muted)}.avj-so-visibility-subgroup{display:grid;gap:7px;padding:10px 0;border-top:1px solid var(--avj-line)}.avj-so-visibility-subgroup:first-child{border-top:0}.avj-so-visibility-subgroup h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 3px;font-size:12px;color:var(--avj-text)}.avj-so-visibility-subgroup h3 small{font-size:9px;color:var(--avj-muted)}.avj-so-visibility-options label.is-sensitive-option{border-color:#ffd0d8;background:#fff8f9}.avj-so-visibility-options label.is-sensitive-option b em{display:inline-flex;margin-right:6px;padding:2px 5px;border-radius:999px;background:#ffe1e6;color:#b4233a;font-size:8px;font-style:normal}.avj-so-customer-preview-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.avj-so-customer-preview-fields article{padding:9px 10px;border:1px solid var(--avj-line);border-radius:11px;background:#fff}.avj-so-customer-preview-fields article>span{display:block;margin-bottom:4px;color:var(--avj-muted);font-size:9px}.avj-so-customer-preview-fields article>div{font-size:11px;line-height:1.8;overflow-wrap:anywhere}.avj-so-preview-subtitle{margin:12px 0 8px;font-size:11px}.avj-so-customer-checklist-preview{display:grid;gap:6px;margin:0;padding:0;list-style:none}.avj-so-customer-checklist-preview li{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:8px 10px;border:1px solid var(--avj-line);border-radius:10px;background:#fbfcff}.avj-so-customer-checklist-preview li span{font-size:10px}.avj-so-customer-checklist-preview li b{font-size:9px;color:var(--avj-primary)}.avj-so-customer-checklist-preview li small{grid-column:1/-1;color:var(--avj-muted);font-size:9px}.avj-so-mini-repeater{display:grid;gap:7px}.avj-so-mini-repeater>div{display:flex;flex-wrap:wrap;gap:6px;padding:7px;border-radius:8px;background:#f7f8fc}.avj-so-mini-repeater span{font-size:9px}
@media(max-width:700px){.avj-so-visibility-toolbar{align-items:stretch;flex-direction:column}.avj-so-visibility-toolbar label{max-width:none}.avj-so-customer-preview-fields{grid-template-columns:1fr}}
.avj-so-mini-media{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.avj-so-mini-media img{width:62px;height:62px;object-fit:cover;border-radius:9px;border:1px solid var(--avj-line)}.avj-so-mini-media a{font-size:10px;color:var(--avj-primary)}


/* 0.19.0 — compact header, sidebar account footer and notification popover. */
.avj-so-header-actions{position:relative;flex:0 0 auto}.avj-so-header-actions>.avj-so-pwa-install{order:1}.avj-so-header-actions>.avj-so-task-quick{order:2}.avj-so-header-actions>.avj-so-notification-widget{order:3}
.avj-so-sidebar{display:flex;flex-direction:column}.avj-so-sidebar nav{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;scrollbar-width:none!important;-ms-overflow-style:none}.avj-so-sidebar nav::-webkit-scrollbar,.avj-so-sidebar:hover nav::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.avj-so-sidebar-account{flex:0 0 auto;display:grid;gap:7px;margin-top:10px;padding:12px 4px 1px;border-top:1px solid #edf1f7}.avj-so-sidebar-profile{display:grid;grid-template-columns:40px minmax(0,1fr) 22px;align-items:center;gap:9px;padding:8px 9px;border-radius:15px;color:var(--avj-text)!important;background:color-mix(in srgb,var(--avj-primary) 5%,white)}.avj-so-sidebar-profile:hover{background:color-mix(in srgb,var(--avj-primary) 9%,white)}.avj-so-sidebar-profile strong,.avj-so-sidebar-profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avj-so-sidebar-profile strong{font-size:12px}.avj-so-sidebar-profile small{font-size:9px;color:var(--avj-muted)}.avj-so-sidebar-profile>.dashicons{color:var(--avj-primary);font-size:16px}.avj-so-sidebar-logout{display:flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:7px 10px;border-radius:13px;color:#bd2941!important;background:#fff1f3;font-size:11px;font-weight:900}.avj-so-sidebar-logout:hover{background:#bd2941;color:#fff!important}
.avj-so-notification-widget{position:relative}.avj-so-notification-bell{appearance:none;cursor:pointer;font-family:inherit}.avj-so-notification-popover[hidden]{display:none!important}.avj-so-notification-popover{position:absolute;top:calc(100% + 12px);left:0;z-index:2147481000;width:min(390px,calc(100vw - 24px));max-height:min(620px,calc(100vh - 100px));display:flex;flex-direction:column;border:1px solid #e1e5ef;border-radius:20px;background:#fff;box-shadow:0 28px 75px rgba(22,33,58,.22);overflow:hidden;direction:rtl}.avj-so-notification-popover:before{content:'';position:absolute;top:-7px;left:13px;width:14px;height:14px;transform:rotate(45deg);background:#fff;border-top:1px solid #e1e5ef;border-left:1px solid #e1e5ef}.avj-so-notification-popover>header{position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 15px;border-bottom:1px solid #edf0f5;background:#fbfbff}.avj-so-notification-popover>header strong,.avj-so-notification-popover>header small{display:block}.avj-so-notification-popover>header strong{font-size:14px}.avj-so-notification-popover>header small{margin-top:2px;color:var(--avj-muted);font-size:9px}.avj-so-notification-popover>header button{border:0;background:transparent;color:var(--avj-primary);font-size:10px;font-weight:900;cursor:pointer}.avj-so-notification-popover-list{min-height:90px;overflow:auto;padding:8px;scrollbar-width:thin}.avj-so-notification-popover-list article{display:grid;grid-template-columns:36px minmax(0,1fr) 30px;gap:9px;align-items:start;padding:10px;border-radius:13px;border:1px solid transparent}.avj-so-notification-popover-list article+article{margin-top:3px}.avj-so-notification-popover-list article.is-unread{background:color-mix(in srgb,var(--avj-primary) 5%,white);border-color:var(--avj-border-accent)}.avj-so-notification-popover-list article strong{display:block;font-size:11px}.avj-so-notification-popover-list article p{margin:3px 0;color:#657087;font-size:9px;line-height:1.7}.avj-so-notification-popover-list article small{font-size:8px;color:#99a2b3}.avj-so-notification-popover-list .avj-so-notification-icon{width:34px;height:34px;border-radius:11px}.avj-so-notification-popover-actions{display:grid;gap:4px}.avj-so-notification-popover-actions a,.avj-so-notification-popover-actions button{display:grid;place-items:center;width:27px;height:27px;padding:0;border:0;border-radius:9px;background:color-mix(in srgb,var(--avj-primary) 10%,white);color:var(--avj-primary);cursor:pointer}.avj-so-notification-popover-actions i{width:15px;height:15px;font-size:15px}.avj-so-notification-popover>footer{padding:9px 12px;border-top:1px solid #edf0f5;text-align:center}.avj-so-notification-popover>footer a{color:var(--avj-primary);font-size:10px;font-weight:900}.avj-so-notification-widget.is-open .avj-so-notification-bell{background:var(--avj-primary);color:#fff;border-color:var(--avj-primary)}
@media(max-width:780px){.avj-so-app-header{gap:8px}.avj-so-header-actions{gap:4px}.avj-so-header-actions>.avj-so-pwa-install,.avj-so-header-actions>.avj-so-task-quick,.avj-so-header-actions .avj-so-notification-bell{width:38px;height:38px;min-width:38px}.avj-so-notification-popover{position:fixed;top:68px;left:10px;right:10px;width:auto;max-height:calc(100vh - 86px)}.avj-so-notification-popover:before{display:none}.avj-so-sidebar-account{padding-bottom:8px}}

/* 0.20.0 — camera-first uploader and legacy library cleanup. */
@media(max-width:680px){.avj-so-upload-actions:has(.avj-so-upload-camera-btn){grid-template-columns:1fr 1fr}.avj-so-upload-actions:has(.avj-so-upload-camera-btn) .avj-so-upload-clear{grid-column:1/-1;width:100%}.avj-so-upload-camera-btn,.avj-so-upload-choose{width:100%}}
.avj-so-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.avj-so-library-item{padding:14px;border:1px solid var(--avj-line);border-radius:14px;background:#fafbff}.avj-so-library-item strong{display:block;margin-bottom:5px}.avj-so-library-item code{font-size:10px;word-break:break-all}.avj-so-library-danger{border-color:#ffd4da;background:#fff8f9}.avj-so-library-cleanup-form{display:grid;gap:10px;margin-top:14px}.avj-so-library-confirm{display:flex;align-items:flex-start;gap:8px;padding:12px;border-radius:12px;background:#fff6df;color:#705100}.avj-so-library-confirm input{margin-top:4px}.avj-so-library-result{padding:12px 14px;border-radius:12px;margin-bottom:12px}.avj-so-library-result.ok{background:#eafaf1;color:#126a3a}.avj-so-library-result.bad{background:#fff0f2;color:#a62539}@media(max-width:680px){.avj-so-library-grid{grid-template-columns:1fr}}

/* 0.21.0 — chronological notification center. */
.avj-so-notification-filters{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}
.avj-so-notification-filters::-webkit-scrollbar{display:none}
.avj-so-notification-filters a{flex:0 0 auto;min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:8px 13px;border:1px solid transparent;border-radius:12px;white-space:nowrap}
.avj-so-notification-filters a.active{border-color:#dcd4ff;box-shadow:0 6px 16px rgba(81,56,238,.08)}
.avj-so-notification-list{gap:16px}
.avj-so-notification-day{display:grid;gap:9px}
.avj-so-notification-day-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e7eaf1;border-radius:13px;background:rgba(248,249,253,.95);backdrop-filter:blur(10px)}
.avj-so-notification-day-head>div{display:flex;align-items:center;gap:8px;min-width:0}
.avj-so-notification-day-head strong{font-size:13px;color:var(--avj-text)}
.avj-so-notification-day-head small{padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--avj-primary) 12%,white);color:var(--avj-primary);font-size:9px;font-weight:900}
.avj-so-notification-day-head time{font-size:10px;color:var(--avj-muted);white-space:nowrap}
.avj-so-notification-day-items{display:grid;gap:9px}
.avj-so-notification-empty{display:grid;place-items:center;gap:7px;min-height:220px;padding:28px;border:1px dashed #d8ddea;border-radius:18px;background:#fbfcff;text-align:center;color:var(--avj-muted)}
.avj-so-notification-empty .dashicons{width:36px;height:36px;font-size:36px;color:#b6acdF}
.avj-so-notification-empty strong{font-size:14px;color:var(--avj-text)}
.avj-so-notification-empty p{margin:0;font-size:11px}
.avj-so-notification-popover-list>.avj-so-empty{display:grid;place-items:center;min-height:100px;margin:0;color:var(--avj-muted);font-size:11px;text-align:center}
@media(max-width:780px){.avj-so-notification-day-head{top:-1px}.avj-so-notification-filters{margin-inline:-3px}.avj-so-notification-filters a{min-height:40px;padding-inline:12px}.avj-so-notification-day-head strong{font-size:12px}}

/* 0.22.0 report form stability */
.avj-so-checklist-guide + .avj-so-service-alert{margin-top:14px}
.avj-so-form-section.is-checklist-media-section{border-color:#d9d1ff;background:linear-gradient(180deg,#fff,#fbfaff)}
.avj-so-form-section.is-checklist-media-section>header{background:#f8f5ff}


/* 0.23.0 — personal color theme and compact ticket conversation. */
.avj-so-sidebar-profile.active{background:var(--avj-soft);box-shadow:inset 0 0 0 1px var(--avj-border-accent)}
.avj-so-profile-hero{display:flex;align-items:center;gap:16px;padding:22px;border-radius:22px;background:linear-gradient(135deg,var(--avj-primary-dark),var(--avj-primary) 58%,var(--avj-primary-2));color:#fff;box-shadow:0 18px 42px rgba(var(--avj-primary-rgb),.18)}
.avj-so-profile-hero .avj-so-kicker{color:rgba(255,255,255,.76)}
.avj-so-profile-hero h1{margin:3px 0 5px;color:#fff;font-size:25px}
.avj-so-profile-hero p{margin:0;color:rgba(255,255,255,.78);font-size:11px}
.avj-so-profile-avatar{display:grid;place-items:center;flex:0 0 70px;width:70px;height:70px;border:1px solid rgba(255,255,255,.22);border-radius:23px;background:rgba(255,255,255,.16);font-size:29px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.avj-so-profile-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.avj-so-profile-summary article{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid var(--avj-line);border-radius:16px;background:#fff}
.avj-so-profile-summary article>i{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--avj-soft);color:var(--avj-primary)}
.avj-so-profile-summary small,.avj-so-profile-summary strong{display:block}.avj-so-profile-summary small{color:var(--avj-muted);font-size:9px}.avj-so-profile-summary strong{margin-top:3px;font-size:11px;overflow-wrap:anywhere}
.avj-so-theme-card{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(360px,1.15fr);gap:22px;align-items:center;padding:20px;border:1px solid var(--avj-line);border-radius:20px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--avj-primary) 3%,white))}
.avj-so-theme-card__copy{display:flex;align-items:flex-start;gap:12px}.avj-so-theme-card__copy h2{margin:0 0 7px;font-size:16px}.avj-so-theme-card__copy p{margin:0;color:var(--avj-muted);font-size:10px;line-height:1.9}
.avj-so-theme-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:15px;background:var(--avj-soft);color:var(--avj-primary);font-size:22px}
.avj-so-theme-card form{display:grid;gap:12px}.avj-so-color-presets{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px}.avj-so-color-presets>label{position:relative;display:grid;justify-items:center;gap:5px;cursor:pointer}.avj-so-color-presets input[type=radio]{position:absolute;opacity:0;pointer-events:none}.avj-so-color-presets label>span{display:block;width:36px;height:36px;border-radius:12px;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:.18s}.avj-so-color-presets label>small{color:var(--avj-muted);font-size:8px}.avj-so-color-presets input:checked+span{transform:scale(1.06);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--swatch)}
.avj-so-color-custom{display:flex!important;grid-auto-flow:column!important;align-items:center!important;justify-items:start!important;gap:8px!important;padding:6px 9px;border:1px solid var(--avj-line);border-radius:13px;background:#fff}.avj-so-color-custom input{width:36px;height:34px;border:0;padding:0;background:transparent;cursor:pointer}.avj-so-color-custom span{width:auto!important;height:auto!important;background:transparent!important;box-shadow:none!important}.avj-so-color-custom b,.avj-so-color-custom small{display:block}.avj-so-color-custom b{font-size:10px}.avj-so-color-custom small{margin-top:2px;font-size:8px;color:var(--avj-muted)}

.avj-so-chat-stream{gap:6px;padding:12px}
.avj-so-chat-message{width:fit-content;min-width:120px;max-width:min(76%,620px);padding:8px 10px;border-radius:13px}
.avj-so-chat-message__meta{display:flex;align-items:center;justify-content:space-between;gap:10px}
.avj-so-chat-message__meta strong{font-size:11px;line-height:1.45}.avj-so-chat-message__meta time{font-size:8px;line-height:1.45;white-space:nowrap}
.avj-so-chat-message__body{display:block!important;margin-top:4px;font-size:11px;line-height:1.65;overflow-wrap:anywhere}
.avj-so-chat-message__body p{margin:0}.avj-so-chat-message__body p+p{margin-top:5px}
@media(max-width:780px){.avj-so-theme-card{grid-template-columns:1fr}.avj-so-profile-summary{grid-template-columns:1fr}.avj-so-profile-hero{padding:17px}.avj-so-profile-avatar{flex-basis:58px;width:58px;height:58px;border-radius:19px;font-size:24px}.avj-so-profile-hero h1{font-size:20px}.avj-so-chat-stream{gap:5px;padding:9px}.avj-so-chat-message{min-width:96px;max-width:88%;padding:7px 9px;border-radius:12px}.avj-so-chat-message__meta strong{font-size:10px}.avj-so-chat-message__meta time{font-size:7.5px}.avj-so-chat-message__body{font-size:10.5px;line-height:1.6}}

/* 0.23.0 — remaining brand surfaces follow the personal color; semantic workflow colors stay fixed. */
.avj-so-tech-hero,.avj-so-customer-welcome{background:linear-gradient(135deg,var(--avj-primary-dark),var(--avj-primary) 60%,var(--avj-primary-2));box-shadow:0 22px 48px rgba(var(--avj-primary-rgb),.20)}
.avj-so-customer-quick>a:hover,.avj-so-related-list>a:hover{border-color:var(--avj-border-accent)}
.avj-so-visibility-options>label:hover,.avj-so-visibility-options>label:has(input:checked),.avj-so-visibility-options .is-master-option{border-color:var(--avj-border-accent)}
.avj-so-visibility-options>label:has(input:checked),.avj-so-visibility-options .is-master-option{background:var(--avj-soft)}
.avj-so-record-form[data-avj-so-report-form]>.avj-so-form-section:first-of-type,.avj-so-invoice-form .is-identity-section{border-right-color:var(--avj-primary)}
.avj-so-record-form[data-avj-so-report-form]>.is-supervision-section{border-right-color:var(--avj-primary)}
.avj-so-record-form[data-avj-so-report-form]>.is-supervision-section>header,.avj-so-form-section.is-checklist-media-section>header{background:var(--avj-soft)}
.avj-so-review-panel{border-color:var(--avj-border-accent)!important;border-right-color:var(--avj-primary)!important;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--avj-primary) 3%,white))!important;box-shadow:0 13px 28px rgba(var(--avj-primary-rgb),.08)!important}
.avj-so-notification-filters a.active{background:var(--avj-soft);color:var(--avj-primary);border-color:var(--avj-border-accent);box-shadow:0 6px 16px rgba(var(--avj-primary-rgb),.08)}
.avj-so-notification-item.is-unread{border-color:var(--avj-border-accent);box-shadow:inset -3px 0 var(--avj-primary)}
.avj-so-notification-icon{color:var(--avj-primary)}
.avj-so-form-section.is-checklist-media-section{border-color:var(--avj-border-accent);background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--avj-primary) 3%,white))}

/* 0.24.0 — workflow clarity, notification routing and compact customer output */
.avj-so-happy-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.avj-so-happy-question-card{display:grid;align-content:start;gap:10px;padding:14px;border:1px solid var(--avj-line);border-radius:16px;background:#fbfcff}.avj-so-happy-question-card>.avj-so-field{grid-column:1/-1;margin:0}.avj-so-happy-question-card textarea{min-height:84px}.avj-so-happy-result-section{border-color:var(--avj-border-accent);box-shadow:0 8px 24px rgba(var(--avj-primary-rgb),.08)}
.avj-so-happy-related-readonly{gap:9px}.avj-so-related-report-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.avj-so-related-report-cards article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--avj-line);border-radius:13px;background:#fff}.avj-so-related-report-cards article div{display:grid;gap:3px;min-width:0}.avj-so-related-report-cards strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avj-so-related-report-cards small{font-size:9px;color:var(--avj-muted)}
.avj-so-qc-conversation{border-color:var(--avj-border-accent)}.avj-so-qc-thread{display:grid;gap:9px}.avj-so-qc-thread article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:start;padding:10px 12px;border:1px solid var(--avj-line);border-radius:13px;background:#fff;line-height:1.9;font-size:11px}.avj-so-qc-thread article>i{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--avj-soft);color:var(--avj-primary)}.avj-so-qc-thread article.is-technician{margin-left:6%;background:#f7fbff}.avj-so-qc-thread article.is-supervisor{margin-right:6%;background:#fffdf8}.avj-so-qc-message-form{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--avj-line)}
.avj-so-task-source,.avj-so-task-thread-section,.avj-so-task-action-panel,.avj-so-task-activity-panel{margin-top:14px}.avj-so-task-description{padding:13px;border-radius:13px;background:#f8f9fc;line-height:2}.avj-so-task-thread{display:grid;gap:8px}.avj-so-task-conversation article{width:fit-content;max-width:82%;padding:10px 12px;border:1px solid var(--avj-line);border-radius:16px 16px 6px 16px;background:#fff;box-shadow:0 8px 18px rgba(31,47,90,.05)}.avj-so-task-conversation article.is-mine{margin-right:auto;border-radius:16px 16px 16px 6px;background:var(--avj-soft)}.avj-so-task-conversation article.is-manager{border-color:rgba(113,94,255,.28);background:linear-gradient(180deg,#f8f5ff,#fdfcff)}.avj-so-task-conversation article.is-participant{background:#fff}.avj-so-task-conversation article.is-requester:not(.is-mine){background:#fffdfa}.avj-so-task-conversation article.is-assignee:not(.is-mine){background:#fbfcff}.avj-so-task-thread header{display:flex;justify-content:space-between;gap:15px;margin-bottom:6px}.avj-so-task-thread-author{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.avj-so-task-thread header strong{font-size:10px}.avj-so-task-role-badge{display:inline-flex;align-items:center;min-height:20px;padding:2px 8px;border-radius:999px;background:#f0ebff;color:#5a42df;font-size:8px;font-weight:900}.avj-so-task-role-badge.is-requester{background:#fff4dc;color:#a15c00}.avj-so-task-role-badge.is-assignee{background:#e8f4ff;color:#165a9c}.avj-so-task-thread header time,.avj-so-task-thread article small{font-size:8px;color:var(--avj-muted)}.avj-so-task-thread p{margin:0;font-size:11px;line-height:1.9}.avj-so-task-activity{display:grid;gap:10px}.avj-so-task-activity-item{padding:12px 13px;border:1px solid var(--avj-line);border-radius:16px;background:#fff}.avj-so-task-activity-item__head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:5px}.avj-so-task-activity-item__head strong{font-size:11px}.avj-so-task-activity-item__head time,.avj-so-task-activity-item small{font-size:8px;color:var(--avj-muted)}.avj-so-task-activity-item p{margin:0;font-size:10px;line-height:1.9}.avj-so-task-activity-item.is-created{border-color:#d7dcf7;background:#fbfbff}.avj-so-task-activity-item.is-reassign,.avj-so-task-activity-item.is-reopen{border-color:#d8dffd;background:#f7f8ff}.avj-so-task-activity-item.is-complete,.avj-so-task-activity-item.is-close{border-color:#d8efe2;background:#f7fcf8}.avj-so-task-activity-item.is-return_requester{border-color:#f7e3be;background:#fffaf1}.avj-so-task-workflow-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.avj-so-notification-rules>form{display:grid;gap:18px}.avj-so-notification-rule-group{display:grid;gap:10px}.avj-so-notification-rule-group>header{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.avj-so-notification-rule-group>header h2{margin:0;font-size:15px}.avj-so-notification-rule-group>header span{font-size:9px;color:var(--avj-muted)}.avj-so-notification-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.avj-so-notification-rule-card{display:grid;gap:12px;padding:14px;border:1px solid var(--avj-line);border-radius:17px;background:#fff}.avj-so-notification-rule-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.avj-so-notification-rule-head strong{font-size:12px}.avj-so-notification-rule-head p{margin:4px 0 0;color:var(--avj-muted);font-size:9px;line-height:1.8}.avj-so-notification-rule-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.avj-so-notification-rule-fields label{display:grid;gap:5px}.avj-so-notification-rule-fields label.is-users{grid-column:1/-1}.avj-so-notification-rule-fields label>span{font-size:9px;font-weight:700}.avj-so-notification-rule-fields select{width:100%;min-height:112px;padding:7px;border:1px solid var(--avj-line);border-radius:11px;background:#fbfcff;font:inherit;font-size:9px}.avj-so-notification-rule-options{display:flex;flex-wrap:wrap;gap:12px;padding-top:10px;border-top:1px dashed var(--avj-line)}.avj-so-notification-rule-options label{display:flex;align-items:center;gap:6px;font-size:9px}.avj-so-sticky-save{position:sticky;bottom:76px;z-index:8;display:flex;justify-content:flex-start;padding:10px;border:1px solid var(--avj-border-accent);border-radius:15px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
.avj-so-customer-checklist-preview{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}.avj-so-customer-checklist-preview li{display:grid!important;grid-template-columns:24px minmax(0,1fr) auto!important;align-items:start;gap:8px!important;padding:9px 10px!important;border:1px solid #dcefe5!important;border-radius:11px!important;background:#fbfffd!important}.avj-so-customer-checklist-preview li>i{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#e0f7ea;color:#0c9a58;font-size:15px}.avj-so-customer-checklist-preview li>div{display:grid;gap:3px}.avj-so-customer-checklist-preview li span{font-size:10px;font-weight:700}.avj-so-customer-checklist-preview li small{grid-column:auto!important;font-size:9px;color:var(--avj-muted)}.avj-so-customer-checklist-preview li b{align-self:center;padding:3px 7px;border-radius:999px;background:#e0f7ea;color:#0a8b50;font-size:8px;white-space:nowrap}
@media(max-width:900px){.avj-so-happy-question-grid,.avj-so-related-report-cards,.avj-so-notification-rule-grid,.avj-so-task-workflow-form{grid-template-columns:1fr}.avj-so-notification-rule-fields{grid-template-columns:1fr}.avj-so-notification-rule-fields label.is-users{grid-column:auto}.avj-so-qc-thread article.is-technician,.avj-so-qc-thread article.is-supervisor{margin:0}.avj-so-task-thread article{max-width:92%}.avj-so-sticky-save{bottom:calc(96px + env(safe-area-inset-bottom))}.avj-so-related-report-cards article{align-items:flex-start;flex-direction:column}.avj-so-related-report-cards .avj-so-link-btn{width:100%;justify-content:center}}


/* 0.25.0 — stable PM layout, faceted report filters and searchable selects. */
.avj-so-pm-filters{display:grid!important;grid-template-columns:minmax(250px,1.4fr) minmax(145px,.65fr) minmax(190px,.9fr) auto auto;align-items:end;gap:10px}
.avj-so-pm-filters .avj-so-pm-search{display:flex!important;align-items:center;align-self:end;min-height:44px}
.avj-so-pm-list{margin-top:2px}
.avj-so-pm-card{position:relative;overflow:hidden;grid-template-columns:minmax(230px,1fr) minmax(145px,180px) minmax(270px,auto);box-shadow:0 8px 24px rgba(25,42,78,.035)}
.avj-so-pm-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#cbd5e1}
.avj-so-pm-card.state-overdue:before{background:#ef4444}.avj-so-pm-card.state-near:before{background:#f59e0b}.avj-so-pm-card.state-future:before{background:#22c55e}.avj-so-pm-card.state-missing:before{background:#94a3b8}
.avj-so-pm-date{text-align:center;padding:8px 12px;border:1px solid var(--avj-line);border-radius:13px;background:#f8fafc}
.avj-so-pm-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.avj-so-pm-summary a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:74px;padding:14px 16px;border:1px solid var(--avj-line);border-radius:17px;background:#fff;color:var(--avj-text);text-decoration:none;box-shadow:0 8px 22px rgba(25,42,78,.035);transition:.18s ease}
.avj-so-pm-summary a:hover,.avj-so-pm-summary a.is-active{transform:translateY(-1px);border-color:var(--avj-border-accent);box-shadow:0 10px 25px rgba(var(--avj-primary-rgb),.10)}
.avj-so-pm-summary strong{font-size:23px;line-height:1;color:var(--avj-primary)}.avj-so-pm-summary span{font-size:12px;font-weight:800;color:#52607a}
.avj-so-pm-summary .is-overdue strong{color:#dc2626}.avj-so-pm-summary .is-near strong{color:#d97706}.avj-so-pm-summary .is-future strong{color:#16a34a}.avj-so-pm-summary .is-missing strong{color:#64748b}
.avj-so-report-filter-summary{display:flex;align-items:center;gap:10px;margin:-5px 0 14px;padding:11px 14px;border:1px solid var(--avj-border-accent);border-radius:14px;background:var(--avj-soft);color:#475569}
.avj-so-report-filter-summary strong{color:var(--avj-primary);font-size:15px}.avj-so-report-filter-summary span{font-size:12px;font-weight:700}
.avj-so-report-filters{grid-template-columns:minmax(165px,1.1fr) minmax(145px,.75fr) minmax(190px,1fr) minmax(190px,1fr) minmax(135px,.65fr) minmax(135px,.65fr) auto auto!important}

.avj-so-combobox{position:relative;min-width:0;width:100%}
.avj-so-native-select-hidden{position:absolute!important;width:1px!important;min-width:1px!important;max-width:1px!important;height:1px!important;min-height:1px!important;max-height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}
.avj-so-combobox__control{display:flex;align-items:center;min-height:44px;border:1px solid #d9e0ec;border-radius:12px;background:#fff;transition:.15s ease;overflow:hidden}
.avj-so-combobox.is-open .avj-so-combobox__control{border-color:var(--avj-primary);box-shadow:0 0 0 3px rgba(var(--avj-primary-rgb),.10)}
.avj-so-combobox__input{flex:1;min-width:0;min-height:42px!important;padding:8px 11px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;font:14px Tahoma,Arial,sans-serif!important;color:var(--avj-text)}
.avj-so-combobox__toggle{display:grid;place-items:center;width:42px;align-self:stretch;border:0;border-right:1px solid #edf0f5;background:#fafbfe;color:#64748b;cursor:pointer}
.avj-so-combobox__list{position:absolute;z-index:1500;top:calc(100% + 7px);right:0;left:0;max-height:270px;padding:6px;border:1px solid var(--avj-line);border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.16);overflow:auto}
.avj-so-combobox__option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 11px;border:0;border-radius:10px;background:transparent;text-align:right;font:13px Tahoma,Arial,sans-serif;color:#334155;cursor:pointer}
.avj-so-combobox__option:hover,.avj-so-combobox__option[aria-selected="true"]{background:var(--avj-soft);color:var(--avj-primary)}
.avj-so-combobox__option.is-empty{color:#64748b}.avj-so-combobox__empty{margin:0;padding:14px;text-align:center;color:#94a3b8;font-size:12px}

@media(max-width:1150px){
  .avj-so-pm-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.avj-so-pm-filters .avj-so-pm-search{grid-column:1/-1}.avj-so-pm-card{grid-template-columns:minmax(0,1fr) 155px}.avj-so-pm-card>.avj-so-row-actions{grid-column:1/-1}
  .avj-so-report-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .avj-so-pm-filters,.avj-so-report-filters{grid-template-columns:1fr!important}.avj-so-pm-filters .avj-so-pm-search{grid-column:auto}.avj-so-pm-card{grid-template-columns:1fr}.avj-so-pm-date{text-align:right}.avj-so-pm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.avj-so-pm-summary a{min-height:66px;padding:12px}.avj-so-pm-summary strong{font-size:20px}.avj-so-report-filter-summary{align-items:flex-start;flex-direction:column}.avj-so-combobox__list{position:fixed;z-index:99999;top:auto;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));left:10px;max-height:55vh;border-radius:18px;padding:9px}.avj-so-combobox__option{min-height:45px;font-size:14px}
}


/* 0.25.2 — report filter bar overflow hotfix. */
.avj-so-report-list-module{min-width:0}
.avj-so-report-filters{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:end;
}
.avj-so-report-filters>*{min-width:0;max-width:100%;box-sizing:border-box}
.avj-so-report-filters label,.avj-so-report-filters .avj-so-combobox{width:100%;min-width:0}
.avj-so-report-filters>.avj-so-btn,.avj-so-report-filters>.avj-so-link-btn{
  width:100%;
  min-width:0;
  min-height:44px;
  align-self:end;
  justify-content:center;
  white-space:nowrap;
}
@media(max-width:1100px){
  .avj-so-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .avj-so-report-filters{grid-template-columns:1fr!important}
}

/* 0.26.0 — bounded list navigation for long-running installations. */
.avj-so-pagination{display:flex;justify-content:center;margin:18px 0 6px;overflow-x:auto;padding:3px}
.avj-so-pagination ul{display:flex;align-items:center;justify-content:center;gap:6px;list-style:none;margin:0;padding:0}
.avj-so-pagination .page-numbers{display:grid;place-items:center;min-width:36px;height:36px;padding:0 9px;border:1px solid var(--avj-line);border-radius:11px;background:#fff;color:var(--avj-primary);font-size:10px;font-weight:900;white-space:nowrap}
.avj-so-pagination .page-numbers.current{border-color:transparent;background:linear-gradient(135deg,var(--avj-primary),var(--avj-primary-2));color:#fff;box-shadow:0 8px 18px rgba(var(--avj-primary-rgb),.18)}
.avj-so-pagination a.page-numbers:hover{border-color:var(--avj-border-accent);background:var(--avj-soft)}
@media(max-width:700px){.avj-so-pagination{justify-content:flex-start}.avj-so-pagination ul{justify-content:flex-start}.avj-so-pagination .page-numbers{min-width:34px;height:34px}}

/* 0.27.0 — interface consistency, lightbox, complete checklist and invoice ledger. */
.avj-so-filterbar,.avj-so-inline-form{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.avj-so-filterbar>* ,.avj-so-inline-form>*{min-width:0;max-width:100%;box-sizing:border-box}
.avj-so-filterbar label,.avj-so-filterbar select,.avj-so-filterbar input,.avj-so-filterbar .avj-so-combobox,.avj-so-searchbox{width:100%;min-width:0}
.avj-so-compact-search{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(170px,220px) auto!important;align-items:end;gap:10px}
.avj-so-personnel-module .avj-so-compact-search{grid-template-columns:minmax(0,1fr) auto!important}
.avj-so-record-search{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end;gap:10px}
.avj-so-parts-filter{display:grid!important;grid-template-columns:minmax(145px,190px) minmax(240px,1fr) auto!important;align-items:end;gap:10px}
.avj-so-role-create .avj-so-inline-form{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;align-items:end;gap:12px}
.avj-so-role-create .avj-so-inline-form>.avj-so-btn{min-height:44px;align-self:end;white-space:nowrap}
.avj-so-searchbox{display:flex!important;align-items:center;overflow:hidden}
.avj-so-searchbox input{flex:1;min-width:0}

.avj-so-phone-summary a{display:flex;align-items:center;justify-content:space-between;gap:10px;color:inherit;text-decoration:none}
.avj-so-phone-summary a>strong{direction:ltr;text-align:right}
.avj-so-phone-summary a>em{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:999px;background:var(--avj-soft);color:var(--avj-primary);font-size:9px;font-style:normal;font-weight:900;white-space:nowrap}
.avj-so-phone-summary a>em i{font-size:14px;width:14px;height:14px}
.avj-so-equipment-description .avj-so-rich-copy{padding:14px 16px;border:1px solid var(--avj-line);border-radius:14px;background:#fbfcff;line-height:2}
.avj-so-equipment-description .avj-so-rich-copy>*:first-child{margin-top:0}.avj-so-equipment-description .avj-so-rich-copy>*:last-child{margin-bottom:0}

.avj-so-checklist-extra-fields{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--avj-line)}
.avj-so-checklist-extra-fields .avj-so-view-field{grid-column:1/-1;margin:0}
.avj-so-inline-technical-list{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;list-style:none!important;margin:0!important;padding:0!important}
.avj-so-inline-technical-list li{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid #dcefe5;border-radius:11px;background:#fbfffd;font-size:10px;font-weight:750;line-height:1.8}
.avj-so-inline-technical-list li i{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:999px;background:#e0f7ea;color:#0c9a58;font-size:15px}

.avj-so-parts-repeater{display:grid;gap:10px}
.avj-so-parts-repeater>article{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,180px);align-items:center;gap:14px;padding:12px;border:1px solid var(--avj-line);border-radius:14px;background:#fbfcff}
.avj-so-part-copy{display:grid;gap:5px}.avj-so-part-copy small{color:var(--avj-muted);font-size:9px}.avj-so-part-copy strong{font-size:12px;line-height:1.8}
.avj-so-part-image{min-width:0}.avj-so-part-image .avj-so-view-image{display:block;width:100%;border-radius:12px;overflow:hidden;background:#eef2f7}.avj-so-part-image img{display:block;width:100%;height:120px;object-fit:cover}
.avj-so-parts-repeater--mini>article{grid-template-columns:minmax(0,1fr) 100px;padding:9px}.avj-so-parts-repeater--mini .avj-so-part-image img{height:80px}

.avj-so-view-image{cursor:zoom-in}.avj-so-lightbox[hidden]{display:none!important}.avj-so-lightbox{position:fixed;z-index:1000000;inset:0;display:grid;place-items:center;padding:24px;background:rgba(7,12,25,.86);backdrop-filter:blur(8px)}
.avj-so-lightbox__stage{display:grid;place-items:center;width:min(1100px,94vw);height:min(820px,88vh)}.avj-so-lightbox__stage img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.avj-so-lightbox__close{position:fixed;top:18px;left:18px;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;cursor:pointer}
body.avj-so-lightbox-open{overflow:hidden!important}

.avj-so-parts-coordination-list{display:grid;gap:14px}.avj-so-parts-coordination-card{padding:16px;border:1px solid var(--avj-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(25,42,78,.035)}
.avj-so-parts-coordination-card.is-active{border-color:var(--avj-border-accent);box-shadow:0 10px 28px rgba(var(--avj-primary-rgb),.08)}
.avj-so-parts-coordination-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:13px;border-bottom:1px solid var(--avj-line)}
.avj-so-parts-coordination-card>header h3{margin:7px 0 3px}.avj-so-parts-coordination-card>header p{margin:0;color:var(--avj-muted);font-size:10px}
.avj-so-urgent-parts-form{display:grid;gap:12px;padding-top:13px}.avj-so-parts-activation{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--avj-line);border-radius:14px;background:#fbfcff;cursor:pointer}
.avj-so-parts-activation>input{width:20px;height:20px;accent-color:var(--avj-primary)}.avj-so-parts-activation>span{display:grid;grid-template-columns:24px 1fr;gap:2px 8px;align-items:center}.avj-so-parts-activation i{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--avj-soft);color:var(--avj-primary)}.avj-so-parts-activation b{font-size:11px}.avj-so-parts-activation small{font-size:9px;color:var(--avj-muted)}
.avj-so-parts-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:13px;border:1px dashed var(--avj-border-accent);border-radius:14px;background:var(--avj-soft)}.avj-so-parts-fields[hidden]{display:none!important}.avj-so-parts-fields textarea{min-height:94px}.avj-so-parts-fields>.avj-so-btn{margin-bottom:1px;white-space:nowrap}

.avj-so-invoice-ledger-summary{display:grid;gap:10px;margin:0 0 15px}.avj-so-invoice-ledger-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.avj-so-invoice-ledger-title>div{display:grid;gap:3px}.avj-so-invoice-ledger-title strong{font-size:13px}.avj-so-invoice-ledger-title small{font-size:9px;color:var(--avj-muted)}
.avj-so-invoice-ledger-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.avj-so-invoice-ledger-cards article{display:grid;gap:7px;padding:13px;border:1px solid var(--avj-line);border-radius:15px;background:#fff}.avj-so-invoice-ledger-cards span{font-size:9px;color:var(--avj-muted);font-weight:750}.avj-so-invoice-ledger-cards b{font-size:14px}.avj-so-invoice-ledger-cards article.is-paid{border-color:#c7efdc;background:#f7fffb}.avj-so-invoice-ledger-cards article.is-paid b{color:#0d8b5c}.avj-so-invoice-ledger-cards article.is-due{border-color:#f5d6b0;background:#fffbf6}.avj-so-invoice-ledger-cards article.is-due b{color:#c25c00}
.avj-so-inline-payment-form{display:inline-flex;margin:0}.avj-so-inline-payment-form button{font:inherit}.avj-so-link-btn-paid{border-color:#bde9d4!important;background:#effcf6!important;color:#07814d!important}
.avj-so-link-btn-invoice{display:inline-flex;align-items:center;gap:5px}

@media(max-width:900px){
  .avj-so-compact-search,.avj-so-role-create .avj-so-inline-form,.avj-so-parts-filter{grid-template-columns:1fr!important}
  .avj-so-personnel-module .avj-so-compact-search,.avj-so-record-search{grid-template-columns:1fr auto!important}
  .avj-so-invoice-ledger-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .avj-so-parts-coordination-card>header{align-items:flex-start;flex-direction:column}.avj-so-parts-coordination-card>header .avj-so-link-btn{width:100%;justify-content:center}
  .avj-so-parts-fields{grid-template-columns:1fr}.avj-so-parts-fields>.avj-so-btn{width:100%;justify-content:center}
}
@media(max-width:600px){
  .avj-so-compact-search,.avj-so-personnel-module .avj-so-compact-search,.avj-so-record-search{grid-template-columns:1fr!important}
  .avj-so-filterbar>.avj-so-btn,.avj-so-inline-form>.avj-so-btn{width:100%;justify-content:center}
  .avj-so-parts-repeater>article,.avj-so-parts-repeater--mini>article{grid-template-columns:1fr}.avj-so-part-image img,.avj-so-parts-repeater--mini .avj-so-part-image img{height:auto;max-height:240px}
  .avj-so-invoice-ledger-title{align-items:flex-start;flex-direction:column}.avj-so-invoice-ledger-cards{grid-template-columns:1fr 1fr}.avj-so-invoice-ledger-cards b{font-size:12px}
  .avj-so-lightbox{padding:12px}.avj-so-lightbox__close{top:10px;left:10px}
}


/* 0.27.1 — complete Happy Call customer contact selector/display. */
.avj-so-happy-contact-field{align-self:stretch}
.avj-so-happy-contact-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:2px}
.avj-so-happy-contact-card{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-areas:"icon copy" "number number" "call call";align-items:center;gap:7px 9px;min-width:0;padding:11px;border:1px solid var(--avj-line);border-radius:14px;background:#fbfcff;color:var(--avj-text);text-decoration:none;transition:.15s ease}
.avj-so-happy-contact-card:hover{border-color:var(--avj-border-accent);background:var(--avj-soft);transform:translateY(-1px);box-shadow:0 8px 20px rgba(var(--avj-primary-rgb),.08)}
.avj-so-happy-contact-card>i{grid-area:icon;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--avj-soft);color:var(--avj-primary);font-size:18px}
.avj-so-happy-contact-card>span{grid-area:copy;min-width:0}.avj-so-happy-contact-card>span strong,.avj-so-happy-contact-card>span small{display:block}.avj-so-happy-contact-card>span strong{font-size:11px}.avj-so-happy-contact-card>span small{margin-top:2px;color:var(--avj-muted);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avj-so-happy-contact-card>b{grid-area:number;direction:ltr;text-align:right;font-size:13px;letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avj-so-happy-contact-card>em{grid-area:call;display:flex;align-items:center;justify-content:center;gap:5px;min-height:30px;border-radius:9px;background:var(--avj-primary);color:#fff;font-size:9px;font-style:normal;font-weight:900}.avj-so-happy-contact-card>em i{font-size:14px;width:14px;height:14px}
.avj-so-happy-contact-card.is-landline>i{background:#eef5ff;color:#2867c7}.avj-so-happy-contact-card.is-contact>i{background:#fff5df;color:#a66900}.avj-so-happy-contact-card.is-legacy{border-style:dashed}
.avj-so-contact-note{display:block!important;margin-top:5px!important;color:var(--avj-muted)!important;font-size:9px!important}
@media(max-width:900px){.avj-so-happy-contact-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.avj-so-happy-contact-list{grid-template-columns:1fr}.avj-so-happy-contact-card{grid-template-columns:38px minmax(0,1fr) auto;grid-template-areas:"icon copy call" "icon number call"}.avj-so-happy-contact-card>em{min-width:62px;align-self:stretch}.avj-so-happy-contact-card>b{font-size:12px}}


/* 0.27.2 — Happy Call card polish, customer profile link and report actions alignment. */
.avj-so-record-list--report .avj-so-table th:last-child,
.avj-so-record-list--report .avj-so-table td:last-child{
  width:235px;
  text-align:left;
  padding-left:18px;
}
.avj-so-record-list--report .avj-so-table td:last-child .avj-so-row-actions{
  justify-content:flex-end;
}

.avj-so-happy-call-form .avj-so-form-section:first-of-type .avj-so-fields{
  align-items:start;
}
.avj-so-happy-customer-link{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 22px;
  align-items:center;
  gap:10px;
  min-height:64px;
  padding:11px 12px;
  border:1px solid var(--avj-line);
  border-radius:14px;
  background:#fbfcff;
  color:var(--avj-text);
  text-decoration:none;
  transition:.15s ease;
}
.avj-so-happy-customer-link:hover{
  border-color:var(--avj-border-accent);
  background:var(--avj-soft);
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(var(--avj-primary-rgb),.08);
}
.avj-so-happy-customer-link.is-disabled{
  grid-template-columns:38px minmax(0,1fr);
  opacity:.8;
  pointer-events:none;
}
.avj-so-happy-customer-link>i:first-child{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:12px;
  background:var(--avj-soft);
  color:var(--avj-primary);
}
.avj-so-happy-customer-link>i:last-child{
  color:var(--avj-primary);
}
.avj-so-happy-customer-link>span{
  min-width:0;
}
.avj-so-happy-customer-link strong,
.avj-so-happy-customer-link small{
  display:block;
}
.avj-so-happy-customer-link strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
}
.avj-so-happy-customer-link small{
  margin-top:3px;
  color:var(--avj-muted);
  font-size:10px;
}
.avj-so-happy-contact-list{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
.avj-so-happy-card header{
  align-items:flex-start;
}
.avj-so-happy-card__identity{
  min-width:0;
}
.avj-so-happy-card__aside{
  display:grid;
  justify-items:end;
  gap:8px;
  flex:0 0 auto;
}
.avj-so-happy-card__aside time{
  color:var(--avj-muted);
  font-size:11px;
  white-space:nowrap;
}
.avj-so-happy-feedback{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:124px;
  padding:7px 9px;
  border:1px solid var(--avj-line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 14px rgba(31,47,90,.05);
}
.avj-so-happy-feedback__emoji{
  font-size:24px;
  line-height:1;
}
.avj-so-happy-feedback>span:last-child{
  display:grid;
  gap:1px;
}
.avj-so-happy-feedback small{
  color:var(--avj-muted);
  font-size:9px;
}
.avj-so-happy-feedback strong{
  font-size:11px;
}
.avj-so-happy-feedback em{
  color:var(--avj-muted);
  font-size:8px;
  font-style:normal;
}
.avj-so-happy-feedback.is-score-5{
  border-color:#bfead6;
  background:#f4fff9;
}
.avj-so-happy-feedback.is-score-3{
  border-color:#f4dfa4;
  background:#fffaf0;
}
.avj-so-happy-feedback.is-score-1{
  border-color:#f3c4ca;
  background:#fff7f8;
}

@media(max-width:780px){
  .avj-so-record-list--report .avj-so-table th:last-child,
  .avj-so-record-list--report .avj-so-table td:last-child{
    width:auto;
    text-align:inherit;
    padding-left:0;
  }
  .avj-so-happy-card header{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
  }
  .avj-so-happy-card__aside{
    justify-items:end;
  }
  .avj-so-happy-feedback{
    min-width:0;
    padding:6px 8px;
  }
  .avj-so-happy-feedback__emoji{
    font-size:21px;
  }
}
@media(max-width:560px){
  .avj-so-happy-card header{
    grid-template-columns:1fr;
  }
  .avj-so-happy-card__aside{
    width:100%;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    justify-items:stretch;
  }
  .avj-so-happy-card__aside time{
    text-align:left;
  }
  .avj-so-happy-feedback{
    justify-self:start;
  }
}

/* 0.28.0 — keep the operations column visually anchored to the far left. */
.avj-so-record-list-module .avj-so-table th:last-child,
.avj-so-record-list-module .avj-so-table td:last-child{
  width:240px;
  min-width:220px;
  text-align:left!important;
  padding-left:18px;
  white-space:nowrap;
}
.avj-so-record-list-module .avj-so-table td:last-child .avj-so-row-actions{
  justify-content:flex-end;
}
@media(max-width:780px){
  .avj-so-record-list-module .avj-so-table th:last-child,
  .avj-so-record-list-module .avj-so-table td:last-child{
    width:auto;
    min-width:0;
    text-align:inherit!important;
    padding-left:12px;
    white-space:normal;
  }
}

/* 0.28.0 final — operation heading/cell at the outer left edge on desktop. */
@media(min-width:781px){
  .avj-so-record-list-module .avj-so-table th:last-child,
  .avj-so-record-list-module .avj-so-table td:last-child{
    width:260px;
    min-width:250px;
    direction:ltr;
    text-align:left!important;
    padding-right:8px;
    padding-left:24px;
  }
  .avj-so-record-list-module .avj-so-table td:last-child .avj-so-row-actions{
    direction:rtl;
    justify-content:flex-end;
  }
}


/* 0.28.1 — strict customer portal rendering, manager emphasis and readable permissions. */
.avj-so-customer-report-section{border-color:var(--avj-border-accent);background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--avj-primary) 2%,white))}
.avj-so-customer-report-section>.avj-so-customer-preview-fields:last-child{margin-bottom:0}
.avj-so-qc-thread article.is-manager{margin-right:3%;border-color:#fdba74;background:linear-gradient(135deg,#fff7ed,#fffbeb);box-shadow:inset -4px 0 #f97316,0 8px 20px rgba(249,115,22,.08)}
.avj-so-qc-thread article.is-manager>i{background:#ffedd5;color:#ea580c}
.avj-so-qc-thread article.is-manager>div{font-weight:700;color:#7c2d12}
.avj-so-effective-permission-groups{display:grid;gap:12px}
.avj-so-permission-category{overflow:hidden;border:1px solid var(--avj-line);border-radius:16px;background:#fff}
.avj-so-permission-category>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;cursor:pointer;list-style:none;background:#fafbff}
.avj-so-permission-category>summary::-webkit-details-marker{display:none}
.avj-so-permission-category>summary>span{display:flex;align-items:center;gap:9px}
.avj-so-permission-category>summary i{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--avj-soft);color:var(--avj-primary)}
.avj-so-permission-category>summary strong{font-size:12px}
.avj-so-permission-category>summary small{padding:4px 8px;border-radius:999px;background:#eef2ff;color:#59657b;font-size:9px}
.avj-so-permission-category__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px;border-top:1px solid var(--avj-line)}
.avj-so-permission-category__grid article{display:grid;gap:8px;padding:11px;border:1px solid #edf0f5;border-radius:12px;background:#fcfdff}
.avj-so-permission-category__grid article>strong{font-size:11px;color:#24324a}
.avj-so-permission-chips{display:flex;flex-wrap:wrap;gap:5px}
.avj-so-permission-chips span{padding:4px 7px;border:1px solid var(--avj-border-accent);border-radius:999px;background:var(--avj-soft);color:var(--avj-primary);font-size:8px;font-weight:800}
@media(max-width:900px){.avj-so-qc-thread article.is-manager{margin:0}.avj-so-permission-category__grid{grid-template-columns:1fr}}


/* 0.29.0 — dashboard rejection alert, report summary columns and live search. */
.avj-so-dashboard-rejected{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto 18px;
  align-items:center;
  gap:12px;
  margin:-2px 0 18px;
  padding:14px 16px;
  border:1px solid #fecaca;
  border-radius:18px;
  background:linear-gradient(135deg,#fff7f7,#fff);
  color:#7f1d1d;
  box-shadow:0 10px 26px rgba(220,38,38,.08);
}
.avj-so-dashboard-rejected:hover{transform:translateY(-1px);border-color:#fca5a5;box-shadow:0 14px 30px rgba(220,38,38,.12)}
.avj-so-dashboard-rejected__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#fee2e2;color:#dc2626}
.avj-so-dashboard-rejected__icon i{font-size:22px;width:22px;height:22px}
.avj-so-dashboard-rejected>span:nth-child(2){min-width:0}
.avj-so-dashboard-rejected strong,.avj-so-dashboard-rejected small{display:block}
.avj-so-dashboard-rejected strong{font-size:13px}
.avj-so-dashboard-rejected small{margin-top:3px;color:#9f3a3a;font-size:10px}
.avj-so-dashboard-rejected>b{display:grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border-radius:13px;background:#dc2626;color:#fff;font-size:18px}
.avj-so-dashboard-rejected>i{color:#dc2626}

.avj-so-mini-report-table{overflow:hidden;border:1px solid var(--avj-line);border-radius:14px;background:#fff}
.avj-so-mini-report-table__head,.avj-so-mini-report-table__row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) 92px;align-items:center;gap:10px;padding:9px 11px}
.avj-so-mini-report-table__head{background:#f7f9fd;color:var(--avj-muted);font-size:9px;font-weight:900}
.avj-so-mini-report-table__row+.avj-so-mini-report-table__row{border-top:1px solid var(--avj-line)}
.avj-so-mini-report-table__row>a,.avj-so-mini-report-table__row>span,.avj-so-mini-report-table__row>time{min-width:0}
.avj-so-mini-report-table__report{color:var(--avj-text)}
.avj-so-mini-report-table__report strong,.avj-so-mini-report-table__report small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avj-so-mini-report-table__report strong{font-size:11px}.avj-so-mini-report-table__report small{margin-top:2px;color:var(--avj-muted);font-size:8px}
.avj-so-mini-report-table__customer{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--avj-primary);font-size:10px;font-weight:800}
span.avj-so-mini-report-table__customer{color:#526079}
.avj-so-mini-report-table time{direction:ltr;text-align:left;color:var(--avj-muted);font-size:9px;white-space:nowrap}

.avj-so-live-searching{position:relative}
.avj-so-live-searching .avj-so-searchbox{border-color:var(--avj-border-accent);box-shadow:0 0 0 3px rgba(var(--avj-primary-rgb),.08)}
.avj-so-live-searching .avj-so-searchbox:after{content:"";flex:0 0 15px;width:15px;height:15px;border:2px solid var(--avj-border-accent);border-top-color:var(--avj-primary);border-radius:50%;animation:avj-so-live-spin .7s linear infinite}
.avj-so-live-searching>.avj-so-btn{opacity:.65}
@keyframes avj-so-live-spin{to{transform:rotate(360deg)}}

.avj-so-role-create .avj-so-inline-form{align-items:end!important}
.avj-so-role-create .avj-so-inline-form>.avj-so-field{margin:0}

@media(max-width:700px){
  .avj-so-dashboard-rejected{grid-template-columns:40px minmax(0,1fr) auto;padding:12px}
  .avj-so-dashboard-rejected>i:last-child{display:none}
  .avj-so-dashboard-rejected small{font-size:9px}
  .avj-so-mini-report-table__head{display:none}
  .avj-so-mini-report-table__row{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:11px}
  .avj-so-mini-report-table__report{grid-column:1/-1}
  .avj-so-mini-report-table time{text-align:left}
}

/* 0.29.1 — compact ticket summary and safe live-search feedback. */
.avj-so-mini-ticket-table{overflow:hidden;border:1px solid var(--avj-line);border-radius:14px;background:#fff}
.avj-so-mini-ticket-table__head,.avj-so-mini-ticket-table__row{display:grid;grid-template-columns:minmax(0,1.3fr) 86px minmax(82px,.85fr);align-items:center;gap:9px;padding:9px 11px}
.avj-so-mini-ticket-table__head{background:#f7f9fd;color:var(--avj-muted);font-size:9px;font-weight:900}
.avj-so-mini-ticket-table__row+.avj-so-mini-ticket-table__row{border-top:1px solid var(--avj-line)}
.avj-so-mini-ticket-table__ticket,.avj-so-mini-ticket-table__assignee{min-width:0}
.avj-so-mini-ticket-table__ticket{color:var(--avj-text)}
.avj-so-mini-ticket-table__ticket strong,.avj-so-mini-ticket-table__ticket small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avj-so-mini-ticket-table__ticket strong{font-size:11px}.avj-so-mini-ticket-table__ticket small{margin-top:2px;color:var(--avj-muted);font-size:8px}
.avj-so-mini-ticket-table__row>.avj-so-status{justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}
.avj-so-mini-ticket-table__assignee{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#526079;font-size:9px;font-weight:800}
.avj-so-live-search-error{margin:0 0 12px}
@media(max-width:780px){
  .avj-so-mini-ticket-table__head{display:none}
  .avj-so-mini-ticket-table__row{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:11px}
  .avj-so-mini-ticket-table__ticket{grid-column:1/-1}
  .avj-so-mini-ticket-table__assignee:before{content:"مسئول: ";color:var(--avj-muted);font-weight:700}
}

/* 0.29.2 — ticket contacts, technician home access and compact timeline placement. */
.avj-so-dashboard-assigned{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto 18px;
  align-items:center;
  gap:12px;
  margin:-6px 0 18px;
  padding:14px 16px;
  border:1px solid #c7d2fe;
  border-radius:18px;
  background:linear-gradient(135deg,#f5f7ff,#fff);
  color:#312e81;
  box-shadow:0 10px 26px rgba(79,70,229,.08);
}
.avj-so-dashboard-assigned:hover{transform:translateY(-1px);border-color:#a5b4fc;box-shadow:0 14px 30px rgba(79,70,229,.13)}
.avj-so-dashboard-assigned__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#e0e7ff;color:#4f46e5}
.avj-so-dashboard-assigned__icon i{font-size:22px;width:22px;height:22px}
.avj-so-dashboard-assigned>span:nth-child(2){min-width:0}
.avj-so-dashboard-assigned strong,.avj-so-dashboard-assigned small{display:block}
.avj-so-dashboard-assigned strong{font-size:13px}
.avj-so-dashboard-assigned small{margin-top:3px;color:#4f548d;font-size:10px}
.avj-so-dashboard-assigned>b{display:grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border-radius:13px;background:#4f46e5;color:#fff;font-size:18px}
.avj-so-dashboard-assigned>i{color:#4f46e5}

.avj-so-ticket-contact-head{display:grid;gap:3px;margin-bottom:11px}
.avj-so-ticket-contact-head h2{margin:0!important}
.avj-so-ticket-contact-head small{color:var(--avj-muted);font-size:10px;line-height:1.7}
.avj-so-ticket-contact-list{display:grid;gap:8px}
.avj-so-ticket-contact-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #e7ebf3;border-radius:13px;background:#fafcff}
.avj-so-ticket-contact-list article>span{display:grid;min-width:0;gap:2px}
.avj-so-ticket-contact-list strong{font-size:11px;color:#34415b}
.avj-so-ticket-contact-list small{color:var(--avj-muted);font-size:9px}
.avj-so-ticket-contact-list b{font-size:13px;letter-spacing:.3px;color:var(--avj-text)}
.avj-so-ticket-contact-list .avj-so-btn{flex:0 0 auto;min-height:36px;padding:7px 10px;font-size:11px}

.avj-so-ticket-timeline-card{padding:15px 18px 18px;border-top:1px solid #e8ecf3;background:#fff}
.avj-so-ticket-timeline-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.avj-so-ticket-timeline-head h2{margin:0;font-size:15px}
.avj-so-ticket-timeline-head p{margin:3px 0 0;color:var(--avj-muted);font-size:10px}
.avj-so-ticket-timeline-head>span{display:grid;place-items:center;min-width:31px;height:31px;padding:0 8px;border-radius:10px;background:var(--avj-soft);color:var(--avj-primary);font-size:12px;font-weight:900}
.avj-so-ticket-timeline-card .avj-so-timeline{max-height:330px;overflow:auto;padding-left:3px}

@media(max-width:700px){
  .avj-so-dashboard-assigned{grid-template-columns:40px minmax(0,1fr) auto;padding:12px}
  .avj-so-dashboard-assigned>i:last-child{display:none}
  .avj-so-dashboard-assigned small{font-size:9px}
  .avj-so-ticket-contact-list article{align-items:stretch;flex-direction:column}
  .avj-so-ticket-contact-list .avj-so-btn{width:100%}
  .avj-so-ticket-timeline-card{padding:13px}
}


/* 0.30.0 — invoice document view and customer payment approval workflow. */
.avj-so-invoice-view-toolbar{margin-bottom:14px}
.avj-so-invoice-sheet-card{overflow:hidden;border:1px solid var(--avj-line);border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(30,39,68,.08);margin-bottom:16px}
.avj-so-invoice-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px 32px;background:linear-gradient(135deg,var(--avj-primary-dark),var(--avj-primary-2));color:#fff}
.avj-so-invoice-sheet-head span{display:block;font-size:11px;font-weight:900;opacity:.9;margin-bottom:7px}.avj-so-invoice-sheet-head h2{margin:0 0 7px;font-size:24px;color:#fff}.avj-so-invoice-sheet-head p{margin:0;opacity:.88}
.avj-so-invoice-brand{display:grid;gap:2px;text-align:left;font-size:27px;font-weight:1000;line-height:1}.avj-so-invoice-brand small{font-size:9px;font-weight:700;opacity:.86;white-space:nowrap}
.avj-so-invoice-sheet-body{padding:26px 30px}
.avj-so-invoice-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}.avj-so-invoice-meta-grid>div{display:grid;gap:5px;padding:13px 14px;border:1px solid #e5e8f0;border-radius:14px;background:#f8f9fc}.avj-so-invoice-meta-grid span{font-size:9px;color:var(--avj-muted);font-weight:800}.avj-so-invoice-meta-grid strong{font-size:12px;line-height:1.8}
.avj-so-invoice-status-text.is-paid{color:#08724b}.avj-so-invoice-status-text.is-payment_review{color:#b36a00}.avj-so-invoice-status-text.is-payment_rejected{color:#c52f45}.avj-so-invoice-status-text.is-unpaid{color:#596278}
.avj-so-invoice-items-wrap{overflow:auto;border:1px solid #e5e8f0;border-radius:15px}.avj-so-invoice-items-table{width:100%;min-width:680px;border-collapse:collapse}.avj-so-invoice-items-table th{padding:12px;background:#f0efff;color:var(--avj-primary-dark);font-size:10px;text-align:right}.avj-so-invoice-items-table td{padding:12px;border-top:1px solid #eceef4;font-size:11px}.avj-so-invoice-items-table td:nth-last-child(-n+2){direction:ltr;text-align:left;white-space:nowrap}
.avj-so-invoice-totals{width:390px;max-width:100%;margin:20px 0 0 auto;border:1px solid #e7eaf1;border-radius:15px;padding:10px 16px;background:#fbfcfe}.avj-so-invoice-totals>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px dashed #dbe0ea}.avj-so-invoice-totals>div:last-child{border:0}.avj-so-invoice-totals span{font-size:10px;color:var(--avj-muted)}.avj-so-invoice-totals b{font-size:11px}.avj-so-invoice-totals .is-grand{padding-top:13px;color:var(--avj-primary-dark)}.avj-so-invoice-totals .is-grand span,.avj-so-invoice-totals .is-grand b{font-size:15px;font-weight:1000;color:inherit}
.avj-so-invoice-notes{margin-top:18px;padding:15px 16px;border:1px solid #f4df9b;border-radius:14px;background:#fff9e8}.avj-so-invoice-notes strong{font-size:11px}.avj-so-invoice-notes p{margin:7px 0 0;font-size:11px;line-height:2}
.avj-so-payment-panel{scroll-margin-top:100px}.avj-so-payment-state{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--avj-line);border-radius:16px;background:#fafbfe}.avj-so-payment-state>i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--avj-soft);color:var(--avj-primary);font-size:20px}.avj-so-payment-state strong{font-size:12px}.avj-so-payment-state p{margin:5px 0 0;font-size:10px;color:var(--avj-muted);line-height:1.9}.avj-so-payment-state.is-approved{border-color:#bfe8d7;background:#f3fcf8}.avj-so-payment-state.is-approved>i{background:#dff7eb;color:#08724b}.avj-so-payment-state.is-review{border-color:#f5d6a9;background:#fffaf2}.avj-so-payment-state.is-review>i{background:#ffedcf;color:#b36a00}.avj-so-payment-state.is-rejected{border-color:#f3c3ca;background:#fff7f8}.avj-so-payment-state.is-rejected>i{background:#ffe0e4;color:#c52f45}
.avj-so-payment-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.avj-so-payment-upload{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 10px;align-items:center;padding:16px;border:1px dashed var(--avj-border-accent);border-radius:16px;background:var(--avj-soft);cursor:pointer}.avj-so-payment-upload>i{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff;color:var(--avj-primary);font-size:21px}.avj-so-payment-upload strong{font-size:11px}.avj-so-payment-upload small{font-size:9px;color:var(--avj-muted)}.avj-so-payment-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.avj-so-payment-submit-form,.avj-so-payment-review-form{display:grid;gap:14px}.avj-so-payment-submit-form .avj-so-btn-paid{justify-self:start}.avj-so-payment-receipt-card{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:18px;padding:14px;border:1px solid var(--avj-line);border-radius:18px;background:#fafbfe;margin-bottom:14px}.avj-so-payment-receipt-preview{min-height:180px;display:grid;place-items:center;overflow:hidden;border:1px solid #e4e7ef;border-radius:14px;background:#fff}.avj-so-payment-receipt-preview img{display:block;width:100%;max-height:320px;object-fit:contain}.avj-so-payment-pdf{display:grid;place-items:center;gap:10px;color:var(--avj-primary);text-decoration:none;font-weight:900}.avj-so-payment-pdf i{font-size:48px;width:48px;height:48px}.avj-so-payment-receipt-info{align-self:center;display:grid;gap:8px}.avj-so-payment-receipt-info strong{font-size:13px}.avj-so-payment-receipt-info p{margin:0;font-size:10px;line-height:1.9;color:var(--avj-muted)}.avj-so-payment-receipt-info .avj-so-btn{justify-self:start;margin-top:4px}
.avj-so-status.neutral{background:#eef1f6;color:#596278}.avj-so-link-btn-paid{border-color:#bfe8d7!important;background:#f1fbf7!important;color:#08724b!important}
@media(max-width:760px){.avj-so-invoice-sheet-head{padding:22px;display:block}.avj-so-invoice-brand{margin-top:18px;text-align:right}.avj-so-invoice-sheet-body{padding:16px}.avj-so-invoice-meta-grid{grid-template-columns:1fr 1fr}.avj-so-payment-upload-grid,.avj-so-payment-receipt-card{grid-template-columns:1fr}.avj-so-payment-receipt-preview{min-height:140px}.avj-so-payment-submit-form .avj-so-btn-paid{width:100%;justify-content:center}.avj-so-invoice-items-wrap{margin-inline:-4px}}
@media(max-width:480px){.avj-so-invoice-meta-grid{grid-template-columns:1fr}.avj-so-invoice-sheet-head h2{font-size:19px}.avj-so-invoice-totals{width:100%}}

/* 0.30.1 — staff-only ticket operations, internal notes and technician action history. */
.avj-so-ticket-internal-card{padding:16px 18px 18px;border-top:1px solid #f1dfc8;background:linear-gradient(180deg,#fffaf3 0,#fff 100%)}
.avj-so-ticket-internal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
.avj-so-ticket-internal-head h2{margin:6px 0 0;font-size:16px;color:#663c13}
.avj-so-ticket-internal-head p{margin:4px 0 0;color:#8a6b4e;font-size:10px;line-height:1.8}
.avj-so-staff-only-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border:1px solid #f0c58d;border-radius:999px;background:#fff1d8;color:#9a5700;font-size:9px;font-weight:900}
.avj-so-ticket-internal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.avj-so-ticket-internal-panel{min-width:0;padding:12px;border:1px solid #eadfce;border-radius:15px;background:rgba(255,255,255,.92)}
.avj-so-ticket-internal-panel--action{grid-column:1/-1}
.avj-so-ticket-internal-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid #f0e7db}
.avj-so-ticket-internal-title h3{margin:0;font-size:12px;color:#443322}
.avj-so-ticket-internal-title>span{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:9px;background:#fff0d9;color:#a95f00;font-size:10px;font-weight:900}
.avj-so-ticket-internal-list{display:grid;gap:8px;max-height:260px;margin-top:9px;overflow:auto;padding-left:2px}
.avj-so-ticket-internal-list article{padding:10px 11px;border:1px solid #eee5d9;border-radius:11px;background:#fff}
.avj-so-ticket-internal-list article p{margin:0;color:#3d4352;font-size:11px;line-height:1.95}
.avj-so-ticket-internal-list article small{display:block;margin-top:6px;color:#92775c;font-size:9px}
.avj-so-ticket-action-history{display:grid;gap:8px;margin-top:9px}
.avj-so-ticket-action-history article{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:11px;border:1px solid #e5e6f7;border-radius:12px;background:#fbfbff}
.avj-so-ticket-action-history article>div{display:grid;gap:3px;padding:8px 10px;border-radius:10px;background:#fff}
.avj-so-ticket-action-history article span{color:var(--avj-muted);font-size:9px}
.avj-so-ticket-action-history article strong{font-size:11px;color:#34305d}
.avj-so-ticket-action-history article>small{grid-column:1/-1;color:#7f789c;font-size:9px}
.avj-so-ticket-manage label>span{display:flex;align-items:center;justify-content:space-between;gap:8px}
.avj-so-ticket-manage label>span small{padding:2px 6px;border-radius:999px;background:#fff1d8;color:#9a5700;font-size:8px;font-weight:900}
.avj-so-ticket-tech-action{border-color:#d9d5ff!important;background:linear-gradient(180deg,#fbfaff,#fff)!important}
@media(max-width:760px){.avj-so-ticket-internal-card{padding:13px}.avj-so-ticket-internal-grid{grid-template-columns:1fr}.avj-so-ticket-internal-panel--action{grid-column:auto}.avj-so-ticket-action-history article{grid-template-columns:1fr}.avj-so-ticket-action-history article>small{grid-column:auto}}


/* 0.31.0: multi-filter layouts for financial and portal lists. */
.avj-so-record-list--invoice .avj-so-record-search,
.avj-so-record-list--portal_message .avj-so-record-search{
  grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important;
  align-items:end;
}
.avj-so-record-list--invoice .avj-so-record-search .avj-so-searchbox,
.avj-so-record-list--portal_message .avj-so-record-search .avj-so-searchbox{
  min-width:0;
}

/* 0.31.1 — equipment filters and searchable assignee selector. */
.avj-so-task-assignee-field{display:grid;gap:8px}.avj-so-task-assignee-field>span{grid-column:1/-1}.avj-so-task-assignee-field input[type="search"]{min-height:44px;border:1px solid var(--avj-border,#dfe5ef);border-radius:12px;padding:0 13px;background:#fff;color:inherit}.avj-so-task-assignee-field select{min-height:44px}.avj-so-task-assignee-field small{color:var(--avj-muted,#768198);font-size:11px}.avj-so-record-list--equipment .avj-so-filter-grid{grid-template-columns:minmax(190px,1.35fr) repeat(4,minmax(135px,1fr)) auto}.avj-so-record-list--equipment .avj-so-searchbox{min-width:0}@media(max-width:1100px){.avj-so-record-list--equipment .avj-so-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.avj-so-record-list--equipment .avj-so-searchbox{grid-column:1/-1}.avj-so-record-list--equipment .avj-so-filter-grid>.avj-so-btn{width:100%}}@media(max-width:640px){.avj-so-record-list--equipment .avj-so-filter-grid{grid-template-columns:1fr}}


/* 0.31.2 — one-line desktop filters and explicit empty notification recipients. */
.avj-so-record-list--equipment .avj-so-filter-grid{grid-template-columns:minmax(175px,1.35fr) repeat(4,minmax(108px,.9fr)) minmax(104px,.7fr)!important;gap:8px!important}
.avj-so-record-list--equipment .avj-so-filterbar label>span{font-size:11px}
.avj-so-record-list--equipment .avj-so-filterbar select,.avj-so-record-list--equipment .avj-so-filterbar input{padding-inline:8px;font-size:12px}
.avj-so-record-list--avj_task .avj-so-filter-grid{grid-template-columns:minmax(175px,1.3fr) repeat(4,minmax(125px,1fr)) minmax(105px,.7fr)!important;gap:8px!important}
.avj-so-multiselect-clear{justify-self:start;margin-top:3px;padding:3px 8px;border:0;border-radius:8px;background:#f3f1ff;color:var(--avj-primary);font:700 9px/1.7 Tahoma,Arial,sans-serif;cursor:pointer}
.avj-so-multiselect-clear:hover{background:var(--avj-soft)}
@media(max-width:980px){.avj-so-record-list--equipment .avj-so-filter-grid,.avj-so-record-list--avj_task .avj-so-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.avj-so-record-list--equipment .avj-so-searchbox,.avj-so-record-list--avj_task .avj-so-searchbox{grid-column:1/-1}.avj-so-record-list--equipment .avj-so-filter-grid>.avj-so-btn,.avj-so-record-list--avj_task .avj-so-filter-grid>.avj-so-btn{width:100%}}
@media(max-width:640px){.avj-so-record-list--equipment .avj-so-filter-grid,.avj-so-record-list--avj_task .avj-so-filter-grid{grid-template-columns:1fr!important}}

/* 0.32.0 — stabilization: dense lists, one-line filters, AJAX pagination and SMS guide. */
[data-avj-so-ajax-list]{position:relative;scroll-margin-top:92px}
[data-avj-so-ajax-list].avj-so-list-loading:after{content:"در حال بارگذاری…";position:absolute;inset:0;z-index:30;display:grid;place-items:start center;padding-top:110px;background:rgba(244,247,252,.82);backdrop-filter:blur(2px);border-radius:22px;color:var(--avj-primary,#5138ee);font-weight:900}
.avj-so-pagination{margin:20px 0 2px;display:flex;justify-content:center}
.avj-so-pagination ul{display:flex;align-items:center;justify-content:center;gap:7px;margin:0;padding:8px 10px;list-style:none;border:1px solid #dfe5f1;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(42,55,91,.07)}
.avj-so-pagination a,.avj-so-pagination span{display:grid;place-items:center;min-width:36px;height:36px;padding:0 10px;border-radius:10px;text-decoration:none;font-weight:800;color:#536078;background:#f3f6fb;transition:.18s ease}
.avj-so-pagination a:hover{transform:translateY(-1px);background:#eae7ff;color:#4b34da}
.avj-so-pagination .current{background:linear-gradient(135deg,#5138ee,#775eff);color:#fff;box-shadow:0 6px 15px rgba(81,56,238,.25)}

/* Report filters stay in one desktop row, matching equipment filters. */
@media (min-width:1180px){
  .avj-so-report-filters{display:grid!important;grid-template-columns:minmax(130px,1.25fr) repeat(5,minmax(88px,1fr)) auto auto!important;align-items:end;gap:8px!important}
  .avj-so-report-filters label{min-width:0!important;margin:0!important}
  .avj-so-report-filters label>span{font-size:10px;white-space:nowrap}
  .avj-so-report-filters input,.avj-so-report-filters select{min-width:0!important;width:100%!important;padding-inline:9px!important;font-size:11px!important}
  .avj-so-report-filters .avj-so-btn,.avj-so-report-filters .avj-so-link-btn{white-space:nowrap;height:42px;align-self:end}
}

/* Equipment row operations never wrap to a second line. */
.avj-so-record-list--equipment .avj-so-table th:last-child,
.avj-so-record-list--equipment .avj-so-table td:last-child{width:290px;min-width:290px;white-space:nowrap}
.avj-so-record-list--equipment .avj-so-row-actions{display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:5px;white-space:nowrap}
.avj-so-record-list--equipment .avj-so-row-actions>a,
.avj-so-record-list--equipment .avj-so-row-actions>form{flex:0 0 auto!important;display:inline-flex!important;margin:0!important}
.avj-so-record-list--equipment .avj-so-link-btn,
.avj-so-record-list--equipment .avj-so-delete-btn{padding:7px 9px!important;font-size:11px!important;white-space:nowrap!important}

/* Compact periodic-service rows. */
.avj-so-pm-list{gap:8px!important}
.avj-so-pm-card{grid-template-columns:minmax(0,1fr) 135px auto!important;gap:10px!important;padding:9px 12px!important;min-height:0!important;align-items:center!important;border-radius:13px!important}
.avj-so-pm-main{display:grid!important;grid-template-columns:auto minmax(120px,1fr) minmax(145px,.8fr)!important;align-items:center!important;gap:9px!important;min-width:0}
.avj-so-pm-main h3,.avj-so-pm-main p{margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avj-so-pm-main h3{font-size:13px!important}.avj-so-pm-main p{font-size:10.5px!important;color:#798399}
.avj-so-pm-main .avj-so-status{font-size:10px!important;padding:4px 8px!important;white-space:nowrap}
.avj-so-pm-date{padding:7px 9px!important;min-height:0!important;border-radius:10px!important}
.avj-so-pm-date strong{font-size:12px!important}.avj-so-pm-date small{font-size:9px!important}
.avj-so-pm-card .avj-so-row-actions{flex-wrap:nowrap!important;gap:4px!important;justify-content:flex-end}
.avj-so-pm-card .avj-so-link-btn,.avj-so-pm-card .avj-so-delete-btn{font-size:10px!important;padding:6px 8px!important;white-space:nowrap}

/* Compact parts coordination. */
.avj-so-parts-coordination-list{gap:9px!important}
.avj-so-parts-coordination-card{padding:11px 13px!important;border-radius:14px!important}
.avj-so-parts-coordination-card>header{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0!important;margin:0!important;border:0!important}
.avj-so-parts-coordination-card>header>div{display:grid;grid-template-columns:auto minmax(140px,1fr) minmax(180px,.9fr);align-items:center;gap:9px;min-width:0}
.avj-so-parts-coordination-card h3,.avj-so-parts-coordination-card p{margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avj-so-parts-coordination-card h3{font-size:13px!important}.avj-so-parts-coordination-card p{font-size:10px!important}
.avj-so-parts-activation{margin-top:8px!important;padding:7px 9px!important;min-height:0!important}
.avj-so-parts-activation span{display:flex!important;align-items:center;gap:7px!important}.avj-so-parts-activation small{display:inline!important;margin:0!important;font-size:9px!important}
.avj-so-parts-fields{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px!important;margin-top:8px!important;padding:9px!important}
.avj-so-parts-fields textarea{min-height:54px!important;height:54px!important}

/* SMS manual tester. */
.avj-so-sms-test-card{align-self:start}
.avj-so-sms-token-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.avj-so-sms-token-fields [hidden]{display:none!important}
.avj-so-sms-test-actions{display:flex;justify-content:flex-start;margin:12px 0 0;padding:12px 0 0;border-top:1px solid #e7ebf3}
.avj-so-sms-test-actions .avj-so-btn{display:inline-flex;align-items:center;gap:7px;position:static!important;float:none!important;margin:0!important}
.avj-so-sms-template-guide{margin-top:15px;padding:15px;border:1px solid #dfe5f1;border-radius:15px;background:linear-gradient(145deg,#fbfcff,#f4f7ff)}
.avj-so-sms-template-guide h3{margin:0 0 12px;font-size:15px;color:#3425a8}
.avj-so-sms-template-guide h4{margin:14px 0 8px;font-size:12px;color:#34405a}
.avj-so-sms-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.avj-so-sms-guide-grid p{margin:0;padding:9px;border:1px solid #e5e9f2;border-radius:10px;background:#fff}
.avj-so-sms-guide-grid p.is-wide{grid-column:1/-1}.avj-so-sms-guide-grid b,.avj-so-sms-guide-grid span{display:block}.avj-so-sms-guide-grid b{font-size:10px;color:#6b7690;margin-bottom:5px}.avj-so-sms-guide-grid span{font-size:11px;line-height:1.8}
.avj-so-sms-template-guide ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.avj-so-sms-template-guide li{display:grid;grid-template-columns:70px 1fr;gap:9px;align-items:start;padding:8px 9px;border-radius:10px;background:#fff;border:1px solid #e5e9f2}
.avj-so-sms-template-guide code{direction:ltr;text-align:center;background:#eeeaff;color:#4932d8;border-radius:7px;padding:4px 6px;font-weight:800}
.avj-so-sms-template-guide li span,.avj-so-sms-template-guide li small{display:block}.avj-so-sms-template-guide li small{color:#798399;margin-top:4px}

/* Trash center. */
.avj-so-trash-module .avj-so-alert.is-info{background:#eef6ff;border-color:#cfe2ff;color:#34526f}
.avj-so-trash-module form{margin:0}.avj-so-trash-module .avj-so-row-actions{flex-wrap:nowrap}
.avj-so-trash-module .avj-so-table td:last-child{min-width:210px}

@media(max-width:900px){
  .avj-so-pm-card{grid-template-columns:1fr!important}.avj-so-pm-main{grid-template-columns:auto 1fr!important}.avj-so-pm-main p{grid-column:1/-1}.avj-so-pm-card .avj-so-row-actions{flex-wrap:wrap!important;justify-content:flex-start}
  .avj-so-parts-coordination-card>header,.avj-so-parts-coordination-card>header>div,.avj-so-parts-fields{grid-template-columns:1fr!important}.avj-so-parts-activation span{display:grid!important}.avj-so-parts-activation small{display:block!important}
  .avj-so-sms-token-fields,.avj-so-sms-guide-grid{grid-template-columns:1fr}.avj-so-sms-guide-grid p.is-wide{grid-column:auto}
}

/* 0.32.1 — stabilization hotfixes, compact mobile dashboard and SMS history. */
.avj-so-subtabs{display:flex;align-items:center;gap:8px;margin:0 0 16px;padding:6px;border:1px solid var(--avj-line);border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(31,47,90,.04)}
.avj-so-subtabs a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 14px;border-radius:11px;color:var(--avj-muted);font-weight:800;text-decoration:none}
.avj-so-subtabs a.active{background:var(--avj-soft);color:var(--avj-primary)}
.avj-so-sms-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}
.avj-so-sms-template-card{padding:11px;border:1px solid var(--avj-line);border-radius:13px;background:#fafbfe}
.avj-so-sms-template-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}
.avj-so-sms-template-card strong,.avj-so-sms-template-card small{display:block}.avj-so-sms-template-card strong{font-size:11px}.avj-so-sms-template-card small{margin-top:3px;color:var(--avj-muted);font-size:9px;direction:ltr;text-align:right}
.avj-so-sms-template-card>label{display:grid;gap:4px}.avj-so-sms-template-card>label span{font-size:9px;color:var(--avj-muted)}.avj-so-sms-template-card input[type="text"],.avj-so-sms-template-card input:not([type]){min-width:0;width:100%}
.avj-so-switch-compact{min-height:28px!important;margin:0!important}.avj-so-switch-compact b{display:none}
.avj-so-sms-history-card .avj-so-filterbar{grid-template-columns:minmax(180px,320px) auto auto;align-items:end}
.avj-so-sms-history-card td small{display:block;max-width:300px;margin-top:4px;color:#b42318}
.avj-so-sms-history-card .avj-so-pagination>a{display:grid;place-items:center;min-width:36px;height:36px;margin:0 3px;padding:0 10px;border-radius:10px;background:#f3f6fb;color:#536078;text-decoration:none;font-weight:800}
.avj-so-sms-history-card .avj-so-pagination>a.active{background:linear-gradient(135deg,#5138ee,#775eff);color:#fff;box-shadow:0 6px 15px rgba(81,56,238,.25)}
.avj-so-profile-account-card{margin:14px 0}.avj-so-profile-account-form{margin-top:12px}.avj-so-profile-account-form input[readonly]{background:#f3f5f9;color:#69758a}
.avj-so-direct-payment-panel{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding:13px;border:1px solid #c9ead8;border-radius:14px;background:#f0fbf5}.avj-so-direct-payment-panel small{color:#527061}
[data-avj-so-money]{direction:ltr;text-align:left;font-variant-numeric:tabular-nums}
.avj-so-pm-filters+.avj-so-pm-summary{margin-top:10px;margin-bottom:14px}

@media(max-width:900px){
  .avj-so-sms-template-grid{grid-template-columns:1fr}
  .avj-so-sms-history-card .avj-so-filterbar{grid-template-columns:1fr}
}
@media(max-width:700px){
  .avj-so-welcome{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px;margin-bottom:10px;border-radius:18px}
  .avj-so-welcome>div{min-width:0}.avj-so-welcome .avj-so-kicker{font-size:8px}.avj-so-welcome h2{margin:1px 0;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avj-so-welcome p{display:none}
  .avj-so-welcome .avj-so-btn{flex:0 0 auto;width:auto!important;min-height:36px;padding:8px 10px;font-size:9px;white-space:nowrap}
  .avj-so-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px}
  .avj-so-hub-card{min-height:116px;padding:10px;border-radius:15px}.avj-so-hub-icon{width:34px;height:34px;border-radius:11px;font-size:15px}.avj-so-hub-card b{margin-top:8px;font-size:11px}.avj-so-hub-card p{display:-webkit-box;margin:4px 0;font-size:8px;line-height:1.65;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.avj-so-hub-card small{font-size:8px}
  .avj-so-subtabs{display:grid;grid-template-columns:1fr 1fr}.avj-so-subtabs a{padding:7px 6px;font-size:10px}
  .avj-so-direct-payment-panel{align-items:stretch;flex-direction:column}.avj-so-direct-payment-panel .avj-so-btn{width:100%}
}
@media(max-width:460px){
  .avj-so-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* 0.32.2 — compact current Jalali date in the application header. */

/* Migration Candidate 0.99.0 */
.avj-so-migration-progress{display:grid;grid-template-columns:repeat(8,minmax(90px,1fr));gap:8px;margin:16px 0;overflow:auto;padding-bottom:4px}
.avj-so-migration-progress span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;border:1px solid var(--avj-border,#e5e7eb);border-radius:12px;background:#fff;color:#64748b;font-size:12px;white-space:nowrap}
.avj-so-migration-progress span.is-done{background:#ecfdf5;border-color:#a7f3d0;color:#166534}
.avj-so-migration-progress span.is-current{background:var(--avj-soft,#f3efff);border-color:var(--avj-primary,#5a36f2);color:var(--avj-primary-dark,#3f1fd2);font-weight:800}
.avj-so-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}
.avj-so-actions form{margin:0}
.avj-so-btn-danger{background:#fff1f2!important;color:#be123c!important;border:1px solid #fecdd3!important}
@media(max-width:720px){.avj-so-migration-progress{grid-template-columns:repeat(4,minmax(110px,1fr))}}


/* 0.99.1 — role-aware custom panel shortcode pages */
.avj-so-panel-shortcodes-layout{align-items:start}.avj-so-role-picker{border:1px solid var(--avj-border,#e4e8f2);border-radius:16px;padding:14px;margin:14px 0}.avj-so-role-picker legend{font-weight:800;padding:0 8px}.avj-so-role-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.avj-so-role-picker-grid label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:1px solid #e7e9f3;border-radius:12px;padding:10px;background:#fff}.avj-so-role-picker-grid code{font-size:10px;color:#667085}.avj-so-panel-shortcode-list{display:grid;gap:10px}.avj-so-panel-shortcode-list>article{border:1px solid #e7e9f3;border-radius:15px;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.avj-so-panel-shortcode-list>article>div:first-child{display:grid;gap:4px}.avj-so-panel-shortcode-list small{color:#667085}.avj-so-panel-shortcode-list .is-enabled{color:#067647}.avj-so-panel-shortcode-list .is-disabled{color:#b42318}.avj-so-panel-shortcode-list form{margin:0}.avj-so-custom-shortcode-page{overflow:visible}.avj-so-shortcode-output{min-width:0}.avj-so-shortcode-output .gform_wrapper{max-width:none!important}
@media(max-width:760px){.avj-so-role-picker-grid{grid-template-columns:1fr}.avj-so-panel-shortcode-list>article{align-items:flex-start;flex-direction:column}.avj-so-panel-shortcode-list .avj-so-actions{width:100%;flex-wrap:wrap}.avj-so-panel-shortcode-list .avj-so-actions>*{flex:1}.avj-so-custom-shortcode-page{padding:14px}}


/* 0.99.2 — report-type quick filters, installed-PWA cleanup and report task context. */
.avj-so-report-type-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:-6px 0 14px;padding:6px;border:1px solid var(--avj-line);border-radius:14px;background:#f8fafc}
.avj-so-report-type-strip a{display:flex;align-items:center;justify-content:center;min-height:34px;padding:5px 9px;border-radius:10px;color:#64748b;text-decoration:none;font-size:10px;font-weight:900;white-space:nowrap;transition:.16s ease}
.avj-so-report-type-strip a:hover{background:#fff;color:var(--avj-primary)}
.avj-so-report-type-strip a.is-active{background:var(--avj-primary);color:#fff;box-shadow:0 5px 14px rgba(var(--avj-primary-rgb),.18)}
.avj-so-related-task-list{display:grid;gap:9px}
.avj-so-related-task-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--avj-line);border-radius:14px;background:#fbfcff}
.avj-so-related-task-main{min-width:0}.avj-so-related-task-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.avj-so-related-task-title strong{font-size:12px}.avj-so-related-task-main p{margin:6px 0;color:var(--avj-muted);font-size:10px;line-height:1.8}.avj-so-related-task-main small{color:var(--avj-muted);font-size:9px}.avj-so-related-task-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
@media(display-mode:standalone){.avj-so-pwa-install{display:none!important}}
@media(max-width:700px){.avj-so-report-type-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:5px}.avj-so-report-type-strip a{min-height:32px;font-size:9px}.avj-so-related-task-list>article{grid-template-columns:1fr;gap:9px}.avj-so-related-task-actions{justify-content:flex-start}.avj-so-related-task-actions .avj-so-link-btn{flex:1;justify-content:center}}
@media(max-width:380px){.avj-so-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}.avj-so-stats article{padding:8px 4px!important;border-radius:14px!important}.avj-so-stats strong{font-size:18px!important}.avj-so-stats span{font-size:8px!important}}


/* 0.99.3 — grouped panel forms/ticket tools and configurable SLA policy. */
.avj-so-sidebar-group{margin:0;border:0}.avj-so-sidebar-group>summary{display:grid;grid-template-columns:29px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:48px;padding:10px 13px;border-radius:16px;color:#52607a;font-size:13px;font-weight:800;list-style:none;cursor:pointer;transition:.2s}.avj-so-sidebar-group>summary::-webkit-details-marker{display:none}.avj-so-sidebar-group>summary>i{display:grid;place-items:center;width:29px;height:29px;border-radius:11px;background:#f5f7fc;color:var(--avj-primary);font-size:16px;line-height:29px}.avj-so-sidebar-group>summary>b{font-size:14px;transition:transform .2s}.avj-so-sidebar-group[open]>summary>b{transform:rotate(180deg)}.avj-so-sidebar-group>summary:hover,.avj-so-sidebar-group>summary.active{background:linear-gradient(135deg,var(--avj-primary),var(--avj-primary-2));color:#fff;box-shadow:0 14px 26px rgba(var(--avj-primary-rgb),.18)}.avj-so-sidebar-group>summary:hover>i,.avj-so-sidebar-group>summary.active>i{background:rgba(255,255,255,.18);color:#fff}.avj-so-sidebar-submenu{display:grid;gap:4px;padding:5px 15px 7px 5px}.avj-so-sidebar nav .avj-so-sidebar-submenu a{min-height:35px;padding:7px 12px;border-radius:11px;border-right:2px solid #e6e8f3;background:#fafbfe;color:#667085;font-size:11px;box-shadow:none}.avj-so-sidebar nav .avj-so-sidebar-submenu a:hover,.avj-so-sidebar nav .avj-so-sidebar-submenu a.active{border-right-color:var(--avj-primary);background:var(--avj-soft);color:var(--avj-primary);box-shadow:none}
.avj-so-sla-policy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.avj-so-sla-policy-card{padding:15px;border:1px solid var(--avj-line);border-radius:16px;background:#fbfcff}.avj-so-sla-policy-card h2{margin:0 0 12px;font-size:15px}.avj-so-sla-policy-card label{display:grid;gap:6px;margin-top:10px}.avj-so-sla-policy-card label span{color:#52607a;font-size:11px;font-weight:800}.avj-so-sla-policy-card input{width:100%;min-height:42px;padding:8px 10px;border:1px solid #d9e0ec;border-radius:11px;background:#fff;font:14px Tahoma,Arial,sans-serif}.avj-so-sla-recalc{margin-top:17px}.avj-so-sla-settings .avj-so-note-text{margin:8px 0 14px}
@media(max-width:900px){.avj-so-sla-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.avj-so-sla-policy-grid{grid-template-columns:1fr}.avj-so-sidebar-group>summary{font-size:13px}.avj-so-sidebar nav .avj-so-sidebar-submenu a{font-size:12px}}


/* 0.99.5 — compact dark mode. The toggle changes only presentation; operational data and print/PDF remain untouched. */
.avj-so-theme-toggle{display:inline-grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;border:1px solid var(--avj-line);border-radius:11px;background:#f8f9fd;color:#52607a;cursor:pointer;box-shadow:none;transition:background .18s,border-color .18s,color .18s,transform .18s}
.avj-so-theme-toggle:hover{transform:translateY(-1px);color:var(--avj-primary);border-color:var(--avj-border-accent)}
.avj-so-theme-toggle span{display:block;font:900 18px/1 Arial,sans-serif;transform:translateY(-1px)}

html[data-avj-theme="dark"]{
  color-scheme:dark;
  --avj-bg:#0b1220;
  --avj-card:#111827;
  --avj-line:#263248;
  --avj-text:#e7edf7;
  --avj-muted:#9aa8bd;
  --avj-shadow:0 18px 45px rgba(0,0,0,.30);
}
html[data-avj-theme="dark"] body.avj-so-fullscreen-page,
html[data-avj-theme="dark"] .avj-so-app{background:var(--avj-bg)!important;color:var(--avj-text)}
html[data-avj-theme="dark"] .avj-so-app-header{background:rgba(11,18,32,.94);border-bottom-color:var(--avj-line)}
html[data-avj-theme="dark"] .avj-so-current-date,
html[data-avj-theme="dark"] .avj-so-theme-toggle{background:#111b2d;color:#b9c5d7;border-color:#2b3952}
html[data-avj-theme="dark"] .avj-so-theme-toggle:hover{background:#18243a;color:#fff;border-color:var(--avj-primary)}
html[data-avj-theme="dark"] .avj-so-sidebar{background:rgba(17,24,39,.97);border-color:var(--avj-line)}
html[data-avj-theme="dark"] .avj-so-sidebar-head{border-color:#263248}
html[data-avj-theme="dark"] .avj-so-sidebar-close{background:#172033;color:var(--avj-text);border-color:var(--avj-line)}
html[data-avj-theme="dark"] .avj-so-sidebar nav a{color:#b8c5d8}
html[data-avj-theme="dark"] .avj-so-sidebar nav a i,
html[data-avj-theme="dark"] .avj-so-sidebar-group>summary>i{background:#172033}
html[data-avj-theme="dark"] .avj-so-sidebar nav .avj-so-sidebar-submenu a{background:#0f1728;color:#aebbd0}
html[data-avj-theme="dark"] .avj-so-sidebar nav .avj-so-sidebar-submenu a:hover,
html[data-avj-theme="dark"] .avj-so-sidebar nav .avj-so-sidebar-submenu a.active{background:#1a2540;color:#fff}
html[data-avj-theme="dark"] .avj-so-sidebar-logout,
html[data-avj-theme="dark"] .avj-so-logout-link{background:#301921;color:#ff9bab}

html[data-avj-theme="dark"] .avj-so-app :is(
  .avj-so-module,.avj-so-card,.avj-so-form-section,.avj-so-table-wrap,.avj-so-role-card,
  .avj-so-stats article,.avj-so-hub-card,.avj-so-customer-card,.avj-so-person-card,.avj-so-person-row,
  .avj-so-view-section,.avj-so-tech-stats article,.avj-so-tech-section,.avj-so-tech-card,.avj-so-tech-chat>div,
  .avj-so-tech-review-row,.avj-so-ticket-card,.avj-so-ticket-chat,.avj-so-ticket-side>.avj-so-card,
  .avj-so-queue-card,.avj-so-feedback-card,.avj-so-pm-card,.avj-so-report-accordion,.avj-so-happy-card,
  .avj-so-happy-feedback,.avj-so-qc-thread article,.avj-so-notification-item,.avj-so-notification-popover,
  .avj-so-library-item,.avj-so-profile-summary article,.avj-so-theme-card,.avj-so-notification-rule-card,
  .avj-so-pm-summary a,.avj-so-parts-coordination-card,.avj-so-invoice-sheet-card,.avj-so-related-task-list>article,
  .avj-so-sla-policy-card,.avj-so-subtabs,.avj-so-sms-template-card,.avj-so-related-report-cards article,
  .avj-so-permission-category,.avj-so-permission-category__grid article,.avj-so-ticket-contact-list article,
  .avj-so-ticket-timeline-card,.avj-so-ticket-internal-card,.avj-so-ticket-internal-list article,
  .avj-so-ticket-action-history article,.avj-so-payment-receipt-card,.avj-so-direct-payment-panel
){background:var(--avj-card)!important;border-color:var(--avj-line)!important;color:var(--avj-text)}

html[data-avj-theme="dark"] .avj-so-app :is(
  .avj-so-filterbar,.avj-so-search,.avj-so-searchbox,.avj-so-options label,.avj-so-switch,
  .avj-so-person-permissions section,.avj-so-repeater,.avj-so-repeater-row,.avj-so-empty-state,
  .avj-so-view-field,.avj-so-checklist-view-list article,.avj-so-view-repeater>article,.avj-so-view-repeater section,
  .avj-so-related-list>a,.avj-so-code-editor,.avj-so-code-editor__toolbar,.avj-so-code-tabs,.avj-so-code-preview,
  .avj-so-qr-preview,.avj-so-qr-info>span,.avj-so-tech-empty,.avj-so-ticket-card__meta,.avj-so-chat-stream,
  .avj-so-chat-message,.avj-so-timeline article,.avj-so-feedback-card blockquote,.avj-so-report-accordion__body li,
  .avj-so-review-panel,.avj-so-role-card>header,.avj-so-permission-module label,.avj-so-visibility-card>header,
  .avj-so-visibility-options>label,.avj-so-related-report-cards article,.avj-so-happy-answer-list article,
  .avj-so-customer-stats>a,.avj-so-customer-quick>a,.avj-so-workflow-strip,.avj-so-review-grid label,
  .avj-so-invoice-live-total,.avj-so-push-status,.avj-so-notification-filters a,.avj-so-uploader,
  .avj-so-upload-thumb,.avj-so-visibility-toolbar,.avj-so-customer-preview-fields article,
  .avj-so-customer-checklist-preview li,.avj-so-mini-repeater>div,.avj-so-notification-empty,
  .avj-so-happy-question-card,.avj-so-task-description,.avj-so-task-thread article,.avj-so-sms-template-guide,
  .avj-so-sms-guide-grid p,.avj-so-sms-template-guide li,.avj-so-pm-date,.avj-so-equipment-description .avj-so-rich-copy,
  .avj-so-parts-activation,.avj-so-invoice-ledger-cards article,.avj-so-happy-contact-card,
  .avj-so-happy-customer-link,.avj-so-mini-report-table,.avj-so-mini-ticket-table,.avj-so-dashboard-assigned,
  .avj-so-invoice-meta-grid>div,.avj-so-invoice-totals,.avj-so-invoice-notes,.avj-so-payment-state,
  .avj-so-ticket-tech-action,.avj-so-pagination ul,.avj-so-role-picker-grid label,.avj-so-report-type-strip
){background:#0f1728!important;border-color:#263248!important;color:var(--avj-text)}

html[data-avj-theme="dark"] .avj-so-app :is(input,select,textarea),
html[data-avj-theme="dark"] .avj-so-combobox__control,
html[data-avj-theme="dark"] .avj-so-combobox__list,
html[data-avj-theme="dark"] .avj-so-task-assignee-field input[type="search"],
html[data-avj-theme="dark"] .avj-so-sla-policy-card input,
html[data-avj-theme="dark"] .avj-so-person-permissions select,
html[data-avj-theme="dark"] .avj-so-filterbar select,
html[data-avj-theme="dark"] .avj-so-filterbar input{background:#0d1626!important;color:#e7edf7!important;border-color:#31415c!important}
html[data-avj-theme="dark"] .avj-so-app :is(input,textarea)::placeholder{color:#718198}
html[data-avj-theme="dark"] .avj-so-field.is-readonly input,
html[data-avj-theme="dark"] .avj-so-field.is-readonly textarea,
html[data-avj-theme="dark"] .avj-so-profile-account-form input[readonly]{background:#151f30!important;color:#9aa8bd!important}
html[data-avj-theme="dark"] .avj-so-combobox__toggle{background:#172033!important;border-color:#31415c!important;color:#b9c5d7!important}
html[data-avj-theme="dark"] .avj-so-combobox__option:hover,
html[data-avj-theme="dark"] .avj-so-combobox__option.is-active{background:#1d2b45!important}

html[data-avj-theme="dark"] .avj-so-form-section>summary,
html[data-avj-theme="dark"] .avj-so-form-section>header{background:linear-gradient(135deg,#121c2d,#172238)!important;border-color:#263248!important;color:var(--avj-text)}
html[data-avj-theme="dark"] .avj-so-view-hero{background:linear-gradient(135deg,#121a2c,#19243b)!important;border-color:#2c3a53!important}
html[data-avj-theme="dark"] .avj-so-review-panel{background:linear-gradient(180deg,#111827,#151d31)!important}
html[data-avj-theme="dark"] .avj-so-dashboard-rejected{background:linear-gradient(135deg,#2b1720,#151925)!important}
html[data-avj-theme="dark"] .avj-so-dashboard-assigned{background:linear-gradient(135deg,#151d35,#111827)!important}
html[data-avj-theme="dark"] .avj-so-uploader{background:linear-gradient(145deg,#111827,#141d31)!important}
html[data-avj-theme="dark"] .avj-so-uploader:hover,
html[data-avj-theme="dark"] .avj-so-uploader.is-dragover{background:#1a2540!important}

html[data-avj-theme="dark"] .avj-so-table th,
html[data-avj-theme="dark"] .avj-so-mini-report-table__head,
html[data-avj-theme="dark"] .avj-so-mini-ticket-table__head,
html[data-avj-theme="dark"] .avj-so-invoice-items-table th{background:#172238!important;color:#c4d0e1!important;border-color:#293750!important}
html[data-avj-theme="dark"] .avj-so-table td,
html[data-avj-theme="dark"] .avj-so-invoice-items-table td{border-color:#263248!important}
html[data-avj-theme="dark"] .avj-so-responsive-table tr{background:#111827!important;border-color:#263248!important}
html[data-avj-theme="dark"] .avj-so-pagination a,
html[data-avj-theme="dark"] .avj-so-pagination span,
html[data-avj-theme="dark"] .avj-so-pagination .page-numbers{background:#172238!important;color:#c5d0e2!important;border-color:#2c3a53!important}
html[data-avj-theme="dark"] .avj-so-pagination a:hover{background:#223052!important;color:#fff!important}

html[data-avj-theme="dark"] .avj-so-btn-light{background:#172033!important;color:#d9e3f3!important;border:1px solid #31415c}
html[data-avj-theme="dark"] .avj-so-btn-ghost,
html[data-avj-theme="dark"] .avj-so-link-btn{background:#172033!important;color:#c8d4e6!important;border-color:#31415c!important}
html[data-avj-theme="dark"] .avj-so-link-btn:hover{background:#1e2b44!important;color:#fff!important}
html[data-avj-theme="dark"] .avj-so-app code{background:#172033;color:#cbd7ea}

html[data-avj-theme="dark"] .avj-so-status.ok{background:#12382c;color:#68d7ad}
html[data-avj-theme="dark"] .avj-so-status.warn{background:#3b2b13;color:#f7bd66}
html[data-avj-theme="dark"] .avj-so-status.bad{background:#3d1e28;color:#ff9aad}
html[data-avj-theme="dark"] .avj-so-status.neutral{background:#202b3c;color:#bec9d8}
html[data-avj-theme="dark"] .avj-so-alert{background:#142a49;color:#9cc4ff}
html[data-avj-theme="dark"] .avj-so-alert.danger{background:#3a1e28;color:#ff9aad}
html[data-avj-theme="dark"] .avj-so-toast-inline{background:#14382d;color:#7ce0b8}
html[data-avj-theme="dark"] .avj-so-toast-inline.is-warning{background:#3a2b13;color:#f7bd66}
html[data-avj-theme="dark"] .priority-urgent{background:#3e1b26;color:#ff9bae}
html[data-avj-theme="dark"] .priority-high{background:#3b2916;color:#f7bd66}
html[data-avj-theme="dark"] .priority-normal{background:#172c4a;color:#9ec4ff}
html[data-avj-theme="dark"] .priority-low{background:#202b3c;color:#bbc7d8}

html[data-avj-theme="dark"] .avj-so-chat-message.staff{background:#142b47!important}
html[data-avj-theme="dark"] .avj-so-qc-thread article.is-manager{background:linear-gradient(135deg,#382817,#2b2418)!important}
html[data-avj-theme="dark"] .avj-so-happy-feedback.is-score-5{background:#123529!important}
html[data-avj-theme="dark"] .avj-so-happy-feedback.is-score-3{background:#362a17!important}
html[data-avj-theme="dark"] .avj-so-happy-feedback.is-score-1{background:#351c26!important}
html[data-avj-theme="dark"] .avj-so-notification-popover:before{background:#111827!important}
html[data-avj-theme="dark"] .avj-so-notification-bell{background:#172033!important;border-color:#31415c!important}
html[data-avj-theme="dark"] .avj-so-push-status{background:#172033!important}
html[data-avj-theme="dark"] .avj-so-notification-filters a.active{background:#28204d!important;color:#c9bbff!important}
html[data-avj-theme="dark"] .avj-so-notification-popover>header,
html[data-avj-theme="dark"] .avj-so-notification-popover>footer,
html[data-avj-theme="dark"] .avj-so-notification-day-head{background:#111827!important;border-color:#263248!important}
html[data-avj-theme="dark"] .avj-so-notification-popover>header button,
html[data-avj-theme="dark"] .avj-so-notification-popover>footer a{color:#c9bbff!important}
html[data-avj-theme="dark"] .avj-so-notification-popover-list article{border-color:#263248!important;background:#0f1728!important}
html[data-avj-theme="dark"] .avj-so-notification-popover-list article.is-unread,
html[data-avj-theme="dark"] .avj-so-notification-item.is-unread{background:linear-gradient(135deg,#162237,#101927)!important}
html[data-avj-theme="dark"] .avj-so-notification-popover-list article p,
html[data-avj-theme="dark"] .avj-so-notification-item p,
html[data-avj-theme="dark"] .avj-so-notification-day-head time,
html[data-avj-theme="dark"] .avj-so-notification-item time,
html[data-avj-theme="dark"] .avj-so-notification-popover-list article small{color:#96a5bb!important}
html[data-avj-theme="dark"] .avj-so-notification-popover-actions a,
html[data-avj-theme="dark"] .avj-so-notification-popover-actions button,
html[data-avj-theme="dark"] .avj-so-notification-icon{background:#172238!important;color:#c9bbff!important}
html[data-avj-theme="dark"] .avj-so-push-status{border-color:#263248!important;color:#c9d5e8!important}
html[data-avj-theme="dark"] .avj-so-push-status[data-state="enabled"]{background:#12382c!important;color:#68d7ad!important;border-color:#1f644d!important}
html[data-avj-theme="dark"] .avj-so-push-status[data-state="error"]{background:#3a1e28!important;color:#ff9aad!important;border-color:#6f3140!important}
html[data-avj-theme="dark"] .avj-so-sidebar nav::-webkit-scrollbar-thumb{background:#394963}
html[data-avj-theme="dark"] .avj-so-sidebar-account{border-top-color:#263248!important;background:linear-gradient(180deg,rgba(8,13,24,0),rgba(8,13,24,.38))!important}
html[data-avj-theme="dark"] .avj-so-sidebar-profile{border:1px solid #2b3852!important;background:linear-gradient(135deg,#18243a,#121c2f)!important;color:#f2f6ff!important;box-shadow:0 14px 28px rgba(1,6,17,.22)}
html[data-avj-theme="dark"] .avj-so-sidebar-profile small{color:#94a5bf!important}
html[data-avj-theme="dark"] .avj-so-sidebar-profile>.dashicons{color:#c9bbff!important}
html[data-avj-theme="dark"] .avj-so-sidebar-profile.active{background:linear-gradient(135deg,#2d2670,#4333a1)!important;border-color:#6d61ff!important;box-shadow:0 16px 30px rgba(34,23,92,.28)}
html[data-avj-theme="dark"] .avj-so-sidebar-profile.active small{color:#e0dbff!important}
html[data-avj-theme="dark"] .avj-so-sidebar-logout{border:1px solid rgba(214,60,82,.26)!important;background:rgba(214,60,82,.12)!important;color:#ff9aad!important}
html[data-avj-theme="dark"] .avj-so-sidebar-logout:hover{background:#7d2333!important;color:#fff!important}
html[data-avj-theme="dark"] .avj-so-notification-popover{background:#0f1728!important;border-color:#263248!important;box-shadow:0 28px 75px rgba(1,6,18,.45)!important}
html[data-avj-theme="dark"] .avj-so-notification-bell>span{border-color:#0f1728!important}
html[data-avj-theme="dark"] .avj-so-notification-popover-list{background:#0f1728!important}
html[data-avj-theme="dark"] .avj-so-notification-popover-list article strong,
html[data-avj-theme="dark"] .avj-so-notification-item header strong,
html[data-avj-theme="dark"] .avj-so-notification-popover>header strong,
html[data-avj-theme="dark"] .avj-so-notification-day-head strong{color:#edf2ff!important}
html[data-avj-theme="dark"] .avj-so-notification-popover>header small{color:#96a5bb!important}
html[data-avj-theme="dark"] .avj-so-notification-popover-actions a,
html[data-avj-theme="dark"] .avj-so-notification-popover-actions button{border:1px solid #2d3b57!important;background:#172238!important;color:#d3c6ff!important}
html[data-avj-theme="dark"] .avj-so-notification-item,
html[data-avj-theme="dark"] .avj-so-notification-day{color:#e5edf8!important}
@media(max-width:900px){
  html[data-avj-theme="dark"] .avj-so-mobile-nav{background:rgba(8,13,24,.72)!important;border-color:rgba(123,137,172,.18)!important;box-shadow:0 22px 52px rgba(1,6,18,.48)!important}
  html[data-avj-theme="dark"] .avj-so-mobile-nav a,
  html[data-avj-theme="dark"] .avj-so-mobile-nav button{color:#9baccc!important}
  html[data-avj-theme="dark"] .avj-so-mobile-nav a.active,
  html[data-avj-theme="dark"] .avj-so-mobile-nav button:active{background:rgba(124,92,255,.18)!important;color:#e8e2ff!important;box-shadow:inset 0 0 0 1px rgba(124,92,255,.22)!important}
}

@media(max-width:720px){
  .avj-so-theme-toggle{flex-basis:32px;width:32px;height:32px;border-radius:10px}
  .avj-so-theme-toggle span{font-size:17px}
}
@media(max-width:460px){
  .avj-so-theme-toggle{flex-basis:30px;width:30px;height:30px;border-radius:9px}
  .avj-so-theme-toggle span{font-size:16px}
}
@media print{
  .avj-so-theme-toggle{display:none!important}
  html[data-avj-theme="dark"]{color-scheme:light;--avj-bg:#fff;--avj-card:#fff;--avj-line:#dfe6f1;--avj-text:#16213a;--avj-muted:#697792}
  html[data-avj-theme="dark"] body.avj-so-fullscreen-page,
  html[data-avj-theme="dark"] .avj-so-app{background:#fff!important;color:#16213a!important}
}

html[data-avj-theme="dark"] .avj-so-task-description{background:#121b2b!important;color:#d9e4f5!important}
html[data-avj-theme="dark"] .avj-so-task-conversation article{border-color:#2a364d!important;background:#101928!important;color:#edf2fb!important;box-shadow:0 12px 24px rgba(1,6,18,.18)!important}
html[data-avj-theme="dark"] .avj-so-task-conversation article.is-mine{background:#182339!important}
html[data-avj-theme="dark"] .avj-so-task-conversation article.is-manager{background:linear-gradient(180deg,#221f49,#171f35)!important;border-color:#5446b8!important}
html[data-avj-theme="dark"] .avj-so-task-role-badge{background:#241f58!important;color:#e0d8ff!important}
html[data-avj-theme="dark"] .avj-so-task-role-badge.is-requester{background:#3d2f14!important;color:#ffd98c!important}
html[data-avj-theme="dark"] .avj-so-task-role-badge.is-assignee{background:#152d44!important;color:#9fd4ff!important}
html[data-avj-theme="dark"] .avj-so-task-activity-item{background:#101928!important;border-color:#2a364d!important;color:#edf2fb!important}
html[data-avj-theme="dark"] .avj-so-task-activity-item.is-created{background:#141c30!important}
html[data-avj-theme="dark"] .avj-so-task-activity-item.is-return_requester{background:#2e2411!important;border-color:#6d5722!important}
html[data-avj-theme="dark"] .avj-so-task-activity-item.is-complete,html[data-avj-theme="dark"] .avj-so-task-activity-item.is-close{background:#12261d!important;border-color:#25523b!important}


/* 0.99.11 — task conversation hierarchy and report inline validation. */
.avj-so-task-thread-section{background:linear-gradient(180deg,#fbfaff,#f7f8ff);border-color:#ded9ff}
.avj-so-task-thread-section>.avj-so-view-section__head{border-bottom-color:#e4e0fb}
.avj-so-task-followup-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start;margin-top:14px}
.avj-so-task-followup-grid .avj-so-task-action-panel,.avj-so-task-followup-grid .avj-so-task-activity-panel{margin-top:0;height:100%}
.avj-so-task-followup-grid.is-closed{grid-template-columns:1fr}
.avj-so-review-inline-error{margin:0 0 12px}
.avj-so-review-form textarea.avj-so-field-error{border-color:#dc3c52!important;box-shadow:0 0 0 4px rgba(220,60,82,.10)!important;background:#fff8f9!important}
html[data-avj-theme="dark"] .avj-so-task-thread-section{background:linear-gradient(180deg,#131a2a,#101827)!important;border-color:#332d68!important}
html[data-avj-theme="dark"] .avj-so-task-thread-section>.avj-so-view-section__head{border-bottom-color:#2d3550!important}
html[data-avj-theme="dark"] .avj-so-review-form textarea.avj-so-field-error{border-color:#e65c71!important;box-shadow:0 0 0 4px rgba(230,92,113,.12)!important;background:#25161d!important}
@media(max-width:900px){
  .avj-so-task-followup-grid{grid-template-columns:1fr}
  .avj-so-task-followup-grid .avj-so-task-action-panel{order:1}
  .avj-so-task-followup-grid .avj-so-task-activity-panel{order:2}
}

html[data-avj-theme="dark"] .avj-so-permission-module.is-task-scope,html[data-avj-theme="dark"] .avj-so-person-permissions section.is-task-scope{background:linear-gradient(135deg,#121d33,#101827)!important;border-color:#2c4777!important}
html[data-avj-theme="dark"] .avj-so-permission-module.is-task-scope h3,html[data-avj-theme="dark"] .avj-so-person-permissions section.is-task-scope h3{color:#a9c4ff!important}

/* 1.1.2 — compact grouped sidebar without removing any route or permission. */
.avj-so-nav-home{margin-bottom:4px}
.avj-so-nav-group{margin:0 0 5px;border:1px solid #edf0f6;border-radius:16px;background:#fbfcff;overflow:hidden}
.avj-so-nav-group>summary{display:grid;grid-template-columns:29px minmax(0,1fr) auto 18px;align-items:center;gap:9px;min-height:46px;padding:8px 11px;color:#52607a;font-size:12px;font-weight:900;list-style:none;cursor:pointer;transition:.18s}
.avj-so-nav-group>summary::-webkit-details-marker{display:none}
.avj-so-nav-group>summary>i{display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:#f0f3fa;color:var(--avj-primary);font-size:16px;line-height:29px}
.avj-so-nav-group>summary>em{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eef1f7;color:#7a869a;font-size:10px;font-style:normal}
.avj-so-nav-group>summary>b{font-size:13px;transition:transform .18s}
.avj-so-nav-group[open]>summary>b{transform:rotate(180deg)}
.avj-so-nav-group>summary:hover,.avj-so-nav-group>summary.active{background:var(--avj-soft);color:var(--avj-primary)}
.avj-so-nav-group>summary.active{box-shadow:inset -3px 0 0 var(--avj-primary)}
.avj-so-nav-group>summary.active>i,.avj-so-nav-group>summary:hover>i{background:#fff;color:var(--avj-primary)}
.avj-so-nav-group__items{display:grid;gap:3px;padding:3px 7px 8px;border-top:1px solid #edf0f6;background:#fff}
.avj-so-sidebar nav .avj-so-nav-group__items a{min-height:38px;padding:7px 9px;border-radius:11px;background:transparent;color:#5f6b80;font-size:11px;box-shadow:none}
.avj-so-sidebar nav .avj-so-nav-group__items a i{width:25px;height:25px;border-radius:8px;background:#f5f7fb;font-size:14px;line-height:25px}
.avj-so-sidebar nav .avj-so-nav-group__items a:hover,.avj-so-sidebar nav .avj-so-nav-group__items a.active{background:var(--avj-soft);color:var(--avj-primary);box-shadow:none}
.avj-so-sidebar nav .avj-so-nav-group__items a:hover i,.avj-so-sidebar nav .avj-so-nav-group__items a.active i{background:#fff;color:var(--avj-primary)}
.avj-so-sidebar nav .avj-so-nav-group__items a.avj-so-nav-child{min-height:33px;margin-right:14px;padding-right:10px;border-right:2px solid #e2e7f1;border-radius:8px;font-size:10px}
.avj-so-sidebar nav .avj-so-nav-group__items a.avj-so-nav-child.active{border-right-color:var(--avj-primary)}

/* Report returned to supervision after technician defence/reply. */
.avj-so-status.defence-review{background:#e8f0ff;color:#2946b8;border:1px solid #cbd8ff}
.avj-so-defence-review-banner{display:flex;align-items:flex-start;gap:12px;margin:14px 0;padding:14px 16px;border:1px solid #c7d5ff;border-right:4px solid #536dfe;border-radius:16px;background:linear-gradient(135deg,#f8faff,#eef3ff);color:#233b86}
.avj-so-defence-review-banner>i{flex:0 0 auto;width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#fff;color:#4059d4;font-size:18px;line-height:32px}
.avj-so-defence-review-banner strong,.avj-so-defence-review-banner p{display:block;margin:0}.avj-so-defence-review-banner p{margin-top:4px;color:#596a9b;font-size:12px;line-height:1.9}
.avj-so-workflow-strip.is-defence-review .is-current{box-shadow:0 0 0 3px rgba(83,109,254,.12)}
.avj-so-tech-section.is-defence-review{border-color:#c7d5ff;background:linear-gradient(180deg,#fff,#f7f9ff)}
.avj-so-tech-review-row.is-defence-review{border-color:#d6dfff;background:#f9fbff}

/* Keep expired report edits inside the AVJ panel instead of WordPress wp_die. */
.avj-so-edit-lock-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:18px;max-width:780px;margin:30px auto;padding:24px;border:1px solid #eadfc5;border-radius:24px;background:linear-gradient(145deg,#fff,#fffaf0);box-shadow:0 18px 48px rgba(45,54,85,.08)}
.avj-so-edit-lock-card__icon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:#fff0cd;color:#996000}.avj-so-edit-lock-card__icon i{font-size:26px;line-height:54px;width:26px;height:26px}
.avj-so-edit-lock-card h1{margin:5px 0 8px;font-size:20px}.avj-so-edit-lock-card p{margin:0 0 15px;color:var(--avj-muted);line-height:2}
.avj-so-report-edit-lock-notice{display:flex;align-items:center;gap:8px;margin-bottom:12px}.avj-so-report-edit-lock-notice strong,.avj-so-report-edit-lock-notice span{display:block}

/* Technician can read customer chat but cannot send public replies. */
.avj-so-ticket-readonly-notice{display:flex;align-items:flex-start;gap:10px}.avj-so-ticket-readonly-notice i{margin-top:2px;color:var(--avj-primary)}.avj-so-ticket-readonly-notice strong,.avj-so-ticket-readonly-notice span{display:block}.avj-so-ticket-readonly-notice span{margin-top:3px;color:var(--avj-muted);font-size:12px}
.avj-so-tech-add-report{white-space:nowrap}

html[data-avj-theme="dark"] .avj-so-nav-group{border-color:#263148;background:#111a2b}
html[data-avj-theme="dark"] .avj-so-nav-group>summary{color:#b8c5d8}
html[data-avj-theme="dark"] .avj-so-nav-group>summary>i,html[data-avj-theme="dark"] .avj-so-nav-group>summary>em{background:#172033;color:#b9c5dc}
html[data-avj-theme="dark"] .avj-so-nav-group>summary:hover,html[data-avj-theme="dark"] .avj-so-nav-group>summary.active{background:#1a2540;color:#fff}
html[data-avj-theme="dark"] .avj-so-nav-group__items{border-top-color:#263148;background:#0f1728}
html[data-avj-theme="dark"] .avj-so-sidebar nav .avj-so-nav-group__items a{color:#aebbd0}
html[data-avj-theme="dark"] .avj-so-sidebar nav .avj-so-nav-group__items a i{background:#172033;color:#aebbd0}
html[data-avj-theme="dark"] .avj-so-status.defence-review{background:#202d58;color:#aebcff;border-color:#344880}
html[data-avj-theme="dark"] .avj-so-defence-review-banner{border-color:#344880;background:linear-gradient(135deg,#151e37,#18254c);color:#dfe5ff}html[data-avj-theme="dark"] .avj-so-defence-review-banner>i{background:#202d58;color:#c6d0ff}html[data-avj-theme="dark"] .avj-so-defence-review-banner p{color:#aebbe6}
html[data-avj-theme="dark"] .avj-so-tech-section.is-defence-review,html[data-avj-theme="dark"] .avj-so-tech-review-row.is-defence-review{border-color:#344880;background:#111b32}
html[data-avj-theme="dark"] .avj-so-edit-lock-card{border-color:#534624;background:linear-gradient(145deg,#141923,#1d1b14)}
@media(max-width:600px){.avj-so-edit-lock-card{grid-template-columns:1fr;margin:14px 0;padding:18px}.avj-so-nav-group>summary{font-size:13px}.avj-so-sidebar nav .avj-so-nav-group__items a{font-size:12px}}


/* 1.1.3 — sidebar runtime fix: real internal scrolling + stable accordion. */
@media (min-width:901px){
  .avj-so-sidebar{
    height:calc(100vh - 116px)!important;
    height:calc(100dvh - 116px)!important;
    max-height:calc(100vh - 116px)!important;
    max-height:calc(100dvh - 116px)!important;
    overflow:hidden!important;
  }
}
.avj-so-sidebar nav[data-avj-so-sidebar-nav]{
  flex:1 1 0!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  scrollbar-width:thin!important;
  scrollbar-color:transparent transparent!important;
  scrollbar-gutter:stable;
  padding-left:7px!important;
  padding-bottom:14px!important;
}
.avj-so-sidebar nav[data-avj-so-sidebar-nav]::-webkit-scrollbar,
.avj-so-sidebar:hover nav[data-avj-so-sidebar-nav]::-webkit-scrollbar{
  display:block!important;
  width:6px!important;
  height:6px!important;
}
.avj-so-sidebar nav[data-avj-so-sidebar-nav]::-webkit-scrollbar-thumb{
  background:transparent!important;
  border-radius:999px!important;
  transition:background .18s ease!important;
}
.avj-so-sidebar nav[data-avj-so-sidebar-nav].is-scrolling{scrollbar-color:#cfc7ff transparent!important}
.avj-so-sidebar nav[data-avj-so-sidebar-nav].is-scrolling::-webkit-scrollbar-thumb{background:#cfc7ff!important}
.avj-so-sidebar nav[data-avj-so-sidebar-nav]::-webkit-scrollbar-track{background:transparent!important}
.avj-so-nav-group{flex:0 0 auto;contain:layout paint}
.avj-so-nav-group>summary{position:relative;z-index:1;user-select:none}
.avj-so-nav-group__items{overflow:visible}
.avj-so-sidebar-account{position:relative;z-index:3;background:inherit}

/* The technician's primary action must be unmistakable in the coloured hero. */
.avj-so-tech-hero-actions{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto}
.avj-so-tech-hero .avj-so-tech-add-report{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:44px!important;
  padding:10px 16px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  background:#fff!important;
  color:var(--avj-primary)!important;
  box-shadow:0 10px 24px rgba(8,18,54,.18)!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.avj-so-tech-hero .avj-so-tech-add-report i{color:inherit!important}
.avj-so-tech-hero .avj-so-tech-add-report:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(8,18,54,.24)!important}
@media(max-width:900px){
  .avj-so-sidebar{height:100vh!important;height:100dvh!important;max-height:100vh!important;max-height:100dvh!important;overflow:hidden!important}
  .avj-so-sidebar nav[data-avj-so-sidebar-nav]{padding-bottom:20px!important}
}
@media(max-width:600px){
  .avj-so-tech-hero-actions,.avj-so-tech-hero .avj-so-tech-add-report{width:100%}
}
html[data-avj-theme="dark"] .avj-so-sidebar nav[data-avj-so-sidebar-nav]{scrollbar-color:transparent transparent!important}
html[data-avj-theme="dark"] .avj-so-sidebar nav[data-avj-so-sidebar-nav].is-scrolling{scrollbar-color:#4a5a78 transparent!important}
html[data-avj-theme="dark"] .avj-so-sidebar nav[data-avj-so-sidebar-nav].is-scrolling::-webkit-scrollbar-thumb{background:#4a5a78!important}


/* 1.2.0 — technician Home quick action mirrors the workbench primary action. */
.avj-so-home-add-report{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;white-space:nowrap!important}
.avj-so-home-add-report i{font-size:17px;line-height:1}
/* AVJ 1.3.0 — Health & Performance Center */
.avj-so-health{display:grid;gap:18px}.avj-so-health-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.avj-so-health-score{min-width:120px;text-align:center;padding:16px 20px;border-radius:20px;background:var(--avj-so-soft,#f5f3ff);border:1px solid var(--avj-so-border,#e8e4ff)}.avj-so-health-score strong{display:block;font-size:28px}.avj-so-health-score span{font-size:12px}.avj-so-health-score.is-pass{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.avj-so-health-score.is-warn{background:#fffbeb;border-color:#fde68a;color:#b45309}.avj-so-health-score.is-fail{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.avj-so-health-actions{display:flex;gap:10px;flex-wrap:wrap}.avj-so-health-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.avj-so-health-check{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--avj-so-border,#e8e4ff);border-radius:14px;padding:12px}.avj-so-health-check strong,.avj-so-health-check small{display:block}.avj-so-health-check small{margin-top:4px;opacity:.72}.avj-so-health-dot{width:10px;height:10px;border-radius:50%;margin-top:6px;flex:0 0 auto;background:#94a3b8}.avj-so-health-check.is-pass .avj-so-health-dot{background:#10b981}.avj-so-health-check.is-warn .avj-so-health-dot{background:#f59e0b}.avj-so-health-check.is-fail .avj-so-health-dot{background:#ef4444}.avj-so-health-kv{display:grid;gap:0;margin:0}.avj-so-health-kv>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px dashed var(--avj-so-border,#e8e4ff)}.avj-so-health-kv>div:last-child{border-bottom:0}.avj-so-health-kv dt{opacity:.7}.avj-so-health-kv dd{margin:0;font-weight:700;text-align:left;direction:ltr}.avj-so-health-table{display:grid;gap:6px;overflow:auto}.avj-so-health-table .head,.avj-so-health-table .row{display:grid;grid-template-columns:minmax(180px,2fr) repeat(4,minmax(90px,1fr));gap:8px;align-items:center;padding:10px 12px;border-radius:12px;min-width:720px}.avj-so-health-table .head{font-size:12px;font-weight:800;background:var(--avj-so-soft,#f7f6ff)}.avj-so-health-table .row{border:1px solid var(--avj-so-border,#ece9ff)}.avj-so-health-table .row.is-warn{border-color:#fde68a;background:#fffbeb}.avj-so-health-table .row.is-fail{border-color:#fecaca;background:#fef2f2}.avj-so-health-queue{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 0;border-bottom:1px dashed var(--avj-so-border,#e8e4ff)}.avj-so-health-queue span{padding:5px 8px;border-radius:9px;background:var(--avj-so-soft,#f7f6ff)}
@media(max-width:900px){.avj-so-health-checks{grid-template-columns:1fr}.avj-so-health-head{align-items:flex-start;flex-direction:column}.avj-so-health-score{width:100%}}


/* 1.4.2 — compact QC/feedback cards and explicit PM controls. */
.avj-so-supervision-grid,.avj-so-feedback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.avj-so-supervision-grid>.avj-so-empty,.avj-so-feedback-grid>.avj-so-empty{grid-column:1/-1}
.avj-so-supervision-card,.avj-so-feedback-grid .avj-so-feedback-card{min-width:0;padding:12px;border:1px solid var(--avj-line);border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(25,42,78,.035)}
.avj-so-supervision-card{display:flex;flex-direction:column;gap:9px}
.avj-so-supervision-card header,.avj-so-feedback-grid .avj-so-feedback-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.avj-so-supervision-card header small,.avj-so-feedback-grid .avj-so-feedback-card header small{color:var(--avj-muted);font-size:9px}
.avj-so-supervision-card h3,.avj-so-feedback-grid .avj-so-feedback-card h3{margin:0;font-size:13px;line-height:1.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avj-so-supervision-meta{display:grid;gap:6px;padding:8px;border-radius:11px;background:#f8faff}
.avj-so-supervision-meta span{display:grid;grid-template-columns:18px 62px minmax(0,1fr);align-items:center;gap:5px;min-width:0;color:#536079;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avj-so-supervision-meta i{color:var(--avj-primary);font-size:15px}.avj-so-supervision-meta b{color:#7b8496;font-size:9px}
.avj-so-supervision-card footer,.avj-so-feedback-grid .avj-so-feedback-card footer{display:flex;justify-content:flex-end;margin-top:auto}
.avj-so-supervision-card footer .avj-so-link-btn,.avj-so-feedback-grid .avj-so-feedback-card footer .avj-so-link-btn{width:100%;justify-content:center}
.avj-so-feedback-grid .avj-so-feedback-card{display:flex;align-items:stretch;flex-direction:column;gap:7px}
.avj-so-feedback-grid .avj-so-feedback-face{font-size:25px;line-height:1}.avj-so-feedback-grid .avj-so-feedback-card p{margin:0;font-size:10px}
.avj-so-feedback-grid .avj-so-feedback-card blockquote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:44px;margin:2px 0 4px;padding:8px;font-size:10px;line-height:1.8}
.avj-so-settings-title{grid-column:1/-1}.avj-so-settings-title h2{margin:0}.avj-so-settings-title p{margin:5px 0 0;color:var(--avj-muted);font-size:10px;line-height:1.8}
.avj-so-pm-settings-form{align-items:start}.avj-so-pm-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.avj-so-pm-toggle{display:flex;align-items:flex-start;gap:9px;min-height:58px;padding:10px 11px;border:1px solid var(--avj-line);border-radius:12px;background:#fafcff;cursor:pointer}
.avj-so-pm-toggle input{appearance:auto!important;-webkit-appearance:checkbox!important;flex:0 0 auto;width:17px!important;height:17px!important;min-height:0!important;margin:2px 0 0!important;accent-color:var(--avj-primary)}
.avj-so-pm-toggle span{display:grid;gap:2px}.avj-so-pm-toggle b{font-size:11px}.avj-so-pm-toggle small{color:var(--avj-muted);font-size:9px;line-height:1.65}
html[data-avj-theme="dark"] .avj-so-supervision-card,html[data-avj-theme="dark"] .avj-so-feedback-grid .avj-so-feedback-card,html[data-avj-theme="dark"] .avj-so-pm-toggle{background:#111827;border-color:#2e3b53}
html[data-avj-theme="dark"] .avj-so-supervision-meta{background:#0d1626}.avj-so-app[data-avj-theme="dark"] .avj-so-supervision-meta{background:#0d1626}
@media(min-width:1550px){.avj-so-supervision-grid,.avj-so-feedback-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.avj-so-supervision-grid,.avj-so-feedback-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.avj-so-supervision-grid,.avj-so-feedback-grid,.avj-so-pm-toggle-grid{grid-template-columns:1fr}.avj-so-supervision-card,.avj-so-feedback-grid .avj-so-feedback-card{padding:11px}}


/* 1.4.3 — compact invoice action bar + technician-only dashboard hub. */
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:5px;overflow:visible}
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop>a,
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop>form{display:inline-flex;flex:0 0 auto;margin:0}
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-invoice-action-btn,
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-delete-btn{position:relative;width:34px;height:34px;min-width:34px;min-height:34px;padding:0!important;border-radius:10px;overflow:visible}
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-action-label,
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-delete-btn span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-invoice-action-btn::after,
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-delete-btn::after{content:attr(aria-label);position:absolute;left:50%;bottom:calc(100% + 8px);z-index:80;transform:translate(-50%,4px);width:max-content;max-width:180px;padding:6px 9px;border-radius:8px;background:#172033;color:#fff;font-size:10px;font-weight:800;line-height:1.45;white-space:nowrap;box-shadow:0 8px 24px rgba(15,23,42,.18);opacity:0;visibility:hidden;pointer-events:none;transition:.15s ease}
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-invoice-action-btn::before,
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-delete-btn::before{content:"";position:absolute;left:50%;bottom:calc(100% + 3px);z-index:81;transform:translateX(-50%);border:5px solid transparent;border-top-color:#172033;opacity:0;visibility:hidden;pointer-events:none;transition:.15s ease}
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-invoice-action-btn:hover::after,
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-invoice-action-btn:focus-visible::after,
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-delete-btn:hover::after,
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-delete-btn:focus-visible::after,
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-invoice-action-btn:hover::before,
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-invoice-action-btn:focus-visible::before,
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-delete-btn:hover::before,
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-delete-btn:focus-visible::before{opacity:1;visibility:visible;transform:translate(-50%,0)}
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-invoice-action-btn:hover::before,
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-invoice-action-btn:focus-visible::before,
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-delete-btn:hover::before,
.avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-delete-btn:focus-visible::before{transform:translateX(-50%)}
.avj-so-invoice-action-menu{display:none;position:relative;margin-inline-start:auto}
.avj-so-invoice-action-menu>summary{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--avj-line);border-radius:11px;background:#f8faff;color:var(--avj-primary);font-size:24px;font-weight:900;line-height:1;cursor:pointer;list-style:none;user-select:none}
.avj-so-invoice-action-menu>summary::-webkit-details-marker{display:none}
.avj-so-invoice-action-menu[open]>summary{background:var(--avj-soft);border-color:#d6ceff}
.avj-so-invoice-action-menu__panel{position:absolute;left:0;top:calc(100% + 7px);z-index:120;display:grid;gap:6px;min-width:190px;padding:8px;border:1px solid var(--avj-line);border-radius:13px;background:#fff;box-shadow:0 16px 40px rgba(19,31,58,.16)}
.avj-so-invoice-action-menu__panel>a,
.avj-so-invoice-action-menu__panel>form{display:flex!important;width:100%!important;margin:0!important}
.avj-so-invoice-action-menu__panel .avj-so-link-btn,
.avj-so-invoice-action-menu__panel .avj-so-delete-btn{width:100%!important;height:auto!important;min-height:38px!important;padding:7px 10px!important;justify-content:flex-start!important;gap:7px!important;white-space:nowrap!important}
.avj-so-invoice-action-menu__panel .avj-so-action-label,
.avj-so-invoice-action-menu__panel .avj-so-delete-btn span{display:inline!important;position:static!important;width:auto!important;height:auto!important;margin:0!important;clip:auto!important;overflow:visible!important;white-space:nowrap!important}
html[data-avj-theme="dark"] .avj-so-invoice-action-menu>summary,html[data-avj-theme="dark"] .avj-so-invoice-action-menu__panel{background:#111827;border-color:#31415c;color:#d7def0}
@media(max-width:760px){
  .avj-so-record-list--invoice .avj-so-invoice-actions--desktop{display:none!important}
  .avj-so-record-list--invoice .avj-so-invoice-action-menu{display:block}
  .avj-so-record-list--invoice .avj-so-table td[data-label="عملیات"]{overflow:visible!important}
}
@media(min-width:781px){
  .avj-so-record-list--invoice .avj-so-table th:last-child,
  .avj-so-record-list--invoice .avj-so-table td:last-child{width:200px;min-width:190px;padding-left:12px}
}
@media(max-width:760px){
  .avj-so-invoice-action-menu__panel{position:static;left:auto;top:auto;min-width:0;width:min(220px,calc(100vw - 52px));margin-top:7px}
}


/* 1.4.4 — personnel role filter + guided technician workbench focus. */
.avj-so-personnel-module .avj-so-compact-search{max-width:860px;gap:9px}
.avj-so-personnel-role-filter{display:grid;grid-template-columns:auto minmax(150px,200px);align-items:center;gap:7px;white-space:nowrap;color:var(--avj-muted);font-size:12px}
.avj-so-personnel-role-filter select{width:100%;min-height:36px;padding:6px 10px;border:1px solid var(--avj-line);border-radius:11px;background:var(--avj-surface,#fff);color:var(--avj-text);font:13px/1.6 Tahoma,Arial,sans-serif;outline:0}
.avj-so-tech-focus-target{scroll-margin-top:92px}
.avj-so-tech-focus-target:target{animation:avj-so-tech-focus-pulse .72s ease-in-out 3}
@keyframes avj-so-tech-focus-pulse{
  0%,100%{transform:translateZ(0);box-shadow:0 10px 28px rgba(31,47,90,.05)}
  50%{transform:translateY(-2px);box-shadow:0 0 0 4px rgba(91,63,245,.18),0 18px 38px rgba(91,63,245,.18)}
}
@media(max-width:700px){
  .avj-so-personnel-module .avj-so-compact-search{grid-template-columns:1fr!important;gap:8px}
  .avj-so-personnel-role-filter{grid-template-columns:auto 1fr;width:100%}
  .avj-so-personnel-module .avj-so-compact-search .avj-so-btn{width:100%}
  .avj-so-tech-focus-target{scroll-margin-top:78px}
}
@media(prefers-reduced-motion:reduce){.avj-so-tech-focus-target:target{animation:none;outline:3px solid rgba(91,63,245,.28);outline-offset:3px}}

/* 1.4.5 — invoice desktop table must fit its card without horizontal scrolling. */
@media(min-width:761px){
  .avj-so-record-list--invoice .avj-so-table-wrap{
    overflow:visible;
  }
  .avj-so-record-list--invoice .avj-so-table{
    width:100%;
    table-layout:fixed;
  }
  .avj-so-record-list--invoice .avj-so-table th,
  .avj-so-record-list--invoice .avj-so-table td{
    min-width:0;
    padding-right:8px;
    padding-left:8px;
  }
  .avj-so-record-list--invoice .avj-so-table th:last-child,
  .avj-so-record-list--invoice .avj-so-table td:last-child{
    width:168px;
    min-width:168px;
    padding-right:4px;
    padding-left:4px;
  }
  .avj-so-record-list--invoice .avj-so-table td:first-child strong,
  .avj-so-record-list--invoice .avj-so-table td:nth-child(2) strong,
  .avj-so-record-list--invoice .avj-so-table td:nth-child(5){
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .avj-so-record-list--invoice .avj-so-table td:nth-child(3),
  .avj-so-record-list--invoice .avj-so-table td:nth-child(4),
  .avj-so-record-list--invoice .avj-so-table td:nth-child(6){
    white-space:nowrap;
  }
  .avj-so-record-list--invoice .avj-so-invoice-actions--desktop{
    gap:3px;
  }
  .avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-invoice-action-btn,
  .avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-delete-btn{
    width:30px;
    height:30px;
    min-width:30px;
    min-height:30px;
    border-radius:9px;
  }
  .avj-so-record-list--invoice .avj-so-invoice-actions--desktop .dashicons{
    width:16px;
    height:16px;
    font-size:16px;
    line-height:16px;
  }
}


/* 1.4.6 — balanced invoice ledger columns: no desktop horizontal scroll and no cell overlap. */
@media(min-width:761px){
  .avj-so-record-list--invoice .avj-so-table-wrap{
    overflow:visible!important;
  }
  .avj-so-record-list--invoice .avj-so-table{
    width:100%!important;
    table-layout:fixed!important;
  }
  .avj-so-record-list--invoice .avj-so-table th,
  .avj-so-record-list--invoice .avj-so-table td{
    box-sizing:border-box;
    min-width:0!important;
    vertical-align:middle;
    padding-right:7px;
    padding-left:7px;
  }
  /* title | customer | document no. | amount | payment state | date | actions */
  .avj-so-record-list--invoice .avj-so-table th:nth-child(1),
  .avj-so-record-list--invoice .avj-so-table td:nth-child(1){width:22%}
  .avj-so-record-list--invoice .avj-so-table th:nth-child(2),
  .avj-so-record-list--invoice .avj-so-table td:nth-child(2){width:12%}
  .avj-so-record-list--invoice .avj-so-table th:nth-child(3),
  .avj-so-record-list--invoice .avj-so-table td:nth-child(3){width:13%}
  .avj-so-record-list--invoice .avj-so-table th:nth-child(4),
  .avj-so-record-list--invoice .avj-so-table td:nth-child(4){width:13%}
  .avj-so-record-list--invoice .avj-so-table th:nth-child(5),
  .avj-so-record-list--invoice .avj-so-table td:nth-child(5){width:18%}
  .avj-so-record-list--invoice .avj-so-table th:nth-child(6),
  .avj-so-record-list--invoice .avj-so-table td:nth-child(6){width:9%;text-align:center}
  .avj-so-record-list--invoice .avj-so-table th:nth-child(7),
  .avj-so-record-list--invoice .avj-so-table td:nth-child(7){width:13%;min-width:0!important;padding-right:3px;padding-left:3px}

  .avj-so-record-list--invoice .avj-so-table td:nth-child(1) strong,
  .avj-so-record-list--invoice .avj-so-table td:nth-child(2){
    overflow-wrap:anywhere;
  }
  .avj-so-record-list--invoice .avj-so-table td:nth-child(3),
  .avj-so-record-list--invoice .avj-so-table td:nth-child(4),
  .avj-so-record-list--invoice .avj-so-table td:nth-child(6){
    white-space:nowrap;
  }
  .avj-so-record-list--invoice .avj-so-table td:nth-child(5){
    white-space:normal!important;
    overflow:visible;
  }
  .avj-so-record-list--invoice .avj-so-table td:nth-child(5) .avj-so-status{
    max-width:100%;
    min-height:24px;
    padding:3px 7px;
    font-size:10px;
    line-height:1.5;
    white-space:normal!important;
    text-align:center;
    overflow-wrap:anywhere;
  }
  .avj-so-record-list--invoice .avj-so-table td:nth-child(6){font-size:11px}
  .avj-so-record-list--invoice .avj-so-invoice-actions--desktop{
    width:100%;
    gap:2px;
    justify-content:flex-start;
  }
  .avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-invoice-action-btn,
  .avj-so-record-list--invoice .avj-so-invoice-actions--desktop .avj-so-delete-btn{
    width:28px;
    height:28px;
    min-width:28px;
    min-height:28px;
    border-radius:8px;
  }
  .avj-so-record-list--invoice .avj-so-invoice-actions--desktop .dashicons{
    width:15px;
    height:15px;
    font-size:15px;
    line-height:15px;
  }
}

/* On narrow tablet widths use the readable card presentation instead of squeezing seven columns. */
@media(min-width:701px) and (max-width:820px){
  .avj-so-record-list--invoice .avj-so-responsive-table{overflow:visible;border:0;background:transparent;box-shadow:none}
  .avj-so-record-list--invoice .avj-so-responsive-table .avj-so-table,
  .avj-so-record-list--invoice .avj-so-responsive-table tbody,
  .avj-so-record-list--invoice .avj-so-responsive-table tr,
  .avj-so-record-list--invoice .avj-so-responsive-table td{display:block;width:100%!important}
  .avj-so-record-list--invoice .avj-so-responsive-table thead{display:none}
  .avj-so-record-list--invoice .avj-so-responsive-table tr{margin-bottom:9px;padding:8px 10px;border:1px solid var(--avj-line);border-radius:14px;background:#fff;box-shadow:0 4px 12px rgba(31,47,90,.04)}
  .avj-so-record-list--invoice .avj-so-responsive-table td{display:grid!important;grid-template-columns:110px minmax(0,1fr);gap:8px;align-items:center;padding:7px 0!important;border:0;border-top:1px dashed var(--avj-line);text-align:left!important;white-space:normal!important}
  .avj-so-record-list--invoice .avj-so-responsive-table td:first-child{border-top:0}
  .avj-so-record-list--invoice .avj-so-responsive-table td:before{content:attr(data-label);color:var(--avj-muted);font-size:9px;font-weight:900;text-align:right}
  .avj-so-record-list--invoice .avj-so-invoice-actions--desktop{display:none!important}
  .avj-so-record-list--invoice .avj-so-invoice-action-menu{display:block}
}

/* 1.4.7 — PM last-technician scope + technician task alert. */
.avj-so-pm-filters{grid-template-columns:minmax(220px,1.25fr) minmax(125px,.55fr) minmax(170px,.8fr) minmax(170px,.8fr) auto auto!important}
.avj-so-pm-technician-scope{display:grid;gap:5px;align-content:end;min-height:44px;padding:7px 11px;border:1px solid var(--avj-line);border-radius:12px;background:#f8faff}
.avj-so-pm-technician-scope span{font-size:9px;color:var(--avj-muted)}
.avj-so-pm-technician-scope b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avj-so-pm-card{grid-template-columns:minmax(0,1fr) minmax(135px,165px) 125px auto!important}
.avj-so-pm-technician{display:grid;gap:3px;min-width:0;padding:7px 9px;border:1px solid var(--avj-line);border-radius:10px;background:#fbfcff}
.avj-so-pm-technician small{font-size:8.5px;color:var(--avj-muted)}
.avj-so-pm-technician strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.avj-so-dashboard-task{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto 18px;
  align-items:center;
  gap:12px;
  margin:-6px 0 18px;
  padding:14px 16px;
  border:1px solid #bbf7d0;
  border-radius:18px;
  background:linear-gradient(135deg,#f0fdf4,#fff);
  color:#14532d;
  box-shadow:0 10px 26px rgba(22,163,74,.08);
}
.avj-so-dashboard-task:hover{transform:translateY(-1px);border-color:#86efac;box-shadow:0 14px 30px rgba(22,163,74,.13)}
.avj-so-dashboard-task__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#dcfce7;color:#16a34a}
.avj-so-dashboard-task__icon i{font-size:22px;width:22px;height:22px}
.avj-so-dashboard-task>span:nth-child(2){min-width:0}
.avj-so-dashboard-task strong,.avj-so-dashboard-task small{display:block}
.avj-so-dashboard-task strong{font-size:13px}
.avj-so-dashboard-task small{margin-top:3px;color:#3f7553;font-size:10px}
.avj-so-dashboard-task>b{display:grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border-radius:13px;background:#16a34a;color:#fff;font-size:18px}
.avj-so-dashboard-task>i{color:#16a34a}
html[data-avj-theme="dark"] .avj-so-pm-technician-scope,html[data-avj-theme="dark"] .avj-so-pm-technician{background:#111827;border-color:#2e3b53}
html[data-avj-theme="dark"] .avj-so-dashboard-task{background:linear-gradient(135deg,#10251a,#111827);border-color:#25633b;color:#dcfce7}
html[data-avj-theme="dark"] .avj-so-dashboard-task small{color:#8fc7a1}
@media(max-width:1100px){
  .avj-so-pm-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .avj-so-pm-filters .avj-so-pm-search{grid-column:1/-1!important}
  .avj-so-pm-card{grid-template-columns:minmax(0,1fr) minmax(130px,160px) 120px!important}
  .avj-so-pm-card>.avj-so-row-actions{grid-column:1/-1!important}
}
@media(max-width:700px){
  .avj-so-pm-filters{grid-template-columns:1fr!important}
  .avj-so-pm-filters .avj-so-pm-search{grid-column:auto!important}
  .avj-so-pm-card{grid-template-columns:1fr!important}
  .avj-so-pm-technician,.avj-so-pm-date{text-align:right}
  .avj-so-dashboard-task{grid-template-columns:40px minmax(0,1fr) auto;padding:12px}
  .avj-so-dashboard-task>i:last-child{display:none}
  .avj-so-dashboard-task small{font-size:9px}
}

/* 1.4.8 — compact technician primary workbench cards; guided focus IDs remain unchanged. */
.avj-so-tech-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.avj-so-tech-primary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;margin-bottom:15px}
.avj-so-tech-primary-pane{min-width:0}
.avj-so-tech-primary-pane>.avj-so-tech-section{margin-bottom:0;padding:14px;border-radius:18px}
.avj-so-tech-primary-pane .avj-so-tech-section-head{gap:9px;padding-bottom:9px;margin-bottom:10px}
.avj-so-tech-primary-pane .avj-so-tech-section-head h2{font-size:15px;line-height:1.7}
.avj-so-tech-primary-pane .avj-so-tech-section-head p{margin-top:3px;font-size:10px;line-height:1.75}
.avj-so-tech-primary-pane .avj-so-tech-section-head>span{min-width:30px;height:30px;border-radius:10px;font-size:12px}
.avj-so-tech-primary-pane .avj-so-tech-list{gap:9px}
.avj-so-tech-primary-pane .avj-so-tech-card{padding:12px;border-radius:14px}
.avj-so-tech-primary-pane .avj-so-tech-card-top{gap:8px;margin-bottom:9px}
.avj-so-tech-primary-pane .avj-so-tech-card-top strong{font-size:13px;line-height:1.65}
.avj-so-tech-primary-pane .avj-so-tech-card-top small{font-size:9px;line-height:1.6}
.avj-so-tech-primary-pane .avj-so-tech-chat summary{font-size:10px}
.avj-so-tech-primary-pane .avj-so-tech-chat>div{font-size:10px;line-height:1.8}
.avj-so-tech-primary-pane .avj-so-tech-defence-form,
.avj-so-tech-primary-pane .avj-so-tech-ticket-form{grid-template-columns:1fr;gap:8px;padding-top:9px;margin-top:9px}
.avj-so-tech-primary-pane .avj-so-tech-ticket-form .avj-so-tech-card-actions{grid-column:auto}
.avj-so-tech-primary-pane .avj-so-tech-defence-form label>span,
.avj-so-tech-primary-pane .avj-so-tech-ticket-form label>span{font-size:11px}
.avj-so-tech-primary-pane .avj-so-tech-defence-form textarea{min-height:76px}
.avj-so-tech-primary-pane .avj-so-tech-ticket-form input,
.avj-so-tech-primary-pane .avj-so-tech-ticket-form select{min-height:40px;padding:8px 10px;font-size:12px}
.avj-so-tech-primary-pane .avj-so-tech-card-actions{gap:6px;margin:8px 0}
.avj-so-tech-primary-pane .avj-so-tech-card-actions .avj-so-btn,
.avj-so-tech-primary-pane .avj-so-tech-card-actions .avj-so-link-btn{min-height:36px;padding:7px 9px;font-size:10px}
.avj-so-tech-primary-pane .avj-so-tech-empty{padding:16px;font-size:11px}
.avj-so-tech-primary-pane>.avj-so-pagination{margin-top:9px}
@media(max-width:900px){
  .avj-so-tech-primary-grid{grid-template-columns:1fr;gap:12px}
  .avj-so-tech-primary-pane>.avj-so-tech-section{padding:13px}
  .avj-so-tech-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
  .avj-so-tech-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .avj-so-tech-stats article{padding:10px 7px;border-radius:14px;text-align:center}
  .avj-so-tech-stats strong{font-size:18px}
  .avj-so-tech-stats span{font-size:9px;line-height:1.55}
  .avj-so-tech-primary-grid{gap:10px}
}


/* 1.4.9 — notification recipient clarity + customer mobile density/support chooser. */
.avj-so-rule-user-hint{display:block;color:var(--avj-muted);font-size:8px;line-height:1.7}
.avj-so-customer-support-modal{width:min(430px,calc(100% - 28px))}
.avj-so-customer-support-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px}
.avj-so-customer-support-actions>a{display:flex;align-items:center;gap:10px;min-height:92px;padding:14px;border:1px solid var(--avj-line);border-radius:17px;background:#fff;color:var(--avj-text);text-decoration:none;box-shadow:0 7px 18px rgba(31,47,90,.05)}
.avj-so-customer-support-actions>a>i{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:var(--avj-soft);color:var(--avj-primary);font-size:20px}
.avj-so-customer-support-actions b,.avj-so-customer-support-actions small{display:block}.avj-so-customer-support-actions b{font-size:13px}.avj-so-customer-support-actions small{margin-top:4px;color:var(--avj-muted);font-size:9px;line-height:1.6}
.avj-so-customer-support-actions .is-call{border-color:#cdebdc;background:#fbfffd}.avj-so-customer-support-actions .is-call>i{background:#e5f8ef;color:#08724b}
@media(max-width:760px){
  .avj-so-customer-home .avj-so-customer-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px}
  .avj-so-customer-home .avj-so-customer-stats>a{min-width:0;min-height:86px;padding:11px 7px;align-content:center;text-align:center}
  .avj-so-customer-home .avj-so-customer-stats strong{font-size:19px}.avj-so-customer-home .avj-so-customer-stats span{font-size:9px;line-height:1.45}
  .avj-so-customer-home .avj-so-customer-quick{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .avj-so-customer-home .avj-so-customer-quick>a{min-width:0;min-height:112px;padding:12px;gap:8px}
  .avj-so-customer-home .avj-so-customer-quick i{width:34px;height:34px;font-size:17px}.avj-so-customer-home .avj-so-customer-quick b{font-size:12px}.avj-so-customer-home .avj-so-customer-quick small{font-size:9px;line-height:1.55}
}
@media(max-width:460px){
  /* Override the legacy one-column customer rule; the requested mobile layout is 3 counters / 2 actions. */
  .avj-so-customer-home .avj-so-customer-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .avj-so-customer-home .avj-so-customer-quick{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .avj-so-customer-support-actions{grid-template-columns:1fr;padding:14px}.avj-so-customer-support-actions>a{min-height:78px}
}


/* 1.4.10 — portal-message density, upload completion safety and mobile combobox viewport fix. */
@media(min-width:701px){
  .avj-so-record-list--portal_message .avj-so-table td:last-child{white-space:nowrap}
  .avj-so-record-list--portal_message .avj-so-row-actions{display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:flex-start;gap:5px;white-space:nowrap}
  .avj-so-record-list--portal_message .avj-so-row-actions>a,
  .avj-so-record-list--portal_message .avj-so-row-actions>form{display:inline-flex!important;flex:0 0 auto!important;margin:0!important}
  .avj-so-record-list--portal_message .avj-so-row-actions .avj-so-link-btn,
  .avj-so-record-list--portal_message .avj-so-row-actions .avj-so-delete-btn{min-height:31px;padding:5px 8px}
}
.avj-so-upload-pending .avj-so-sticky-actions button[type=submit],
.avj-so-upload-pending button[type=submit][disabled]{opacity:.48;filter:grayscale(.15);cursor:not-allowed;transform:none!important;box-shadow:none}
.avj-so-upload-submit-note{align-self:center;margin-inline-end:auto;color:#a65b00;font-size:9px;font-weight:800;line-height:1.7}
@media(max-width:700px){
  .avj-so-combobox__list{bottom:auto!important;max-height:48vh}
}


/* 1.4.11 — Happy Call mobile contact action alignment. */
@media(max-width:600px){
  .avj-so-happy-contact-list{
    grid-template-columns:1fr;
    gap:8px;
  }
  .avj-so-happy-contact-card{
    grid-template-columns:34px minmax(0,1fr) 40px;
    grid-template-areas:"icon copy call" "icon number call";
    align-items:center;
    gap:3px 8px;
    min-height:64px;
    padding:9px 10px;
  }
  .avj-so-happy-contact-card>i{
    width:34px;
    height:34px;
    align-self:center;
    border-radius:10px;
    font-size:17px;
  }
  .avj-so-happy-contact-card>span strong{font-size:11px}
  .avj-so-happy-contact-card>span small{font-size:8px}
  .avj-so-happy-contact-card>b{
    min-width:0;
    font-size:11.5px;
    line-height:1.35;
  }
  .avj-so-happy-contact-card>em{
    width:40px;
    min-width:40px;
    height:40px;
    min-height:40px;
    padding:0;
    align-self:center;
    justify-self:end;
    gap:0;
    border-radius:10px;
    font-size:0;
    line-height:0;
  }
  .avj-so-happy-contact-card>em i{
    width:18px;
    height:18px;
    margin:0;
    font-size:18px;
    line-height:18px;
  }
}

/* AVJ 1.4.13 — customer-only service satisfaction */
.avj-so-customer-feedback{overflow:hidden}
.avj-so-customer-feedback-form{display:grid;gap:16px}
.avj-so-feedback-faces{margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.avj-so-feedback-faces legend{width:100%;margin:0 0 11px;font-weight:800;color:var(--avj-text,#17213a)}
.avj-so-feedback-faces label{position:relative;display:grid;place-items:center;gap:5px;min-height:108px;padding:12px;border:1px solid var(--avj-border,#e2e8f0);border-radius:18px;background:var(--avj-surface,#fff);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.avj-so-feedback-faces label:hover{transform:translateY(-2px);border-color:rgba(30,168,123,.45);box-shadow:0 10px 24px rgba(20,43,70,.08)}
.avj-so-feedback-faces input{position:absolute;opacity:0;pointer-events:none}
.avj-so-feedback-faces label>span{font-size:36px;line-height:1;transition:transform .18s ease}
.avj-so-feedback-faces label>small{font-size:12px;font-weight:800;color:var(--avj-muted,#68758a)}
.avj-so-feedback-faces input:checked+span{transform:scale(1.13)}
.avj-so-feedback-faces input:checked+span+small{color:#1ea87b}
.avj-so-feedback-note{display:grid;gap:8px;font-weight:800}
.avj-so-feedback-note>span small{font-weight:500;color:var(--avj-muted,#68758a)}
.avj-so-feedback-note textarea{width:100%;resize:vertical;min-height:92px;border:1px solid var(--avj-border,#dbe3ee);border-radius:14px;padding:12px 14px;background:var(--avj-surface,#fff);color:inherit;font:inherit}
.avj-so-feedback-thanks{display:flex;align-items:flex-start;gap:14px;padding:17px;border:1px solid rgba(30,168,123,.28);border-radius:18px;background:rgba(30,168,123,.07)}
.avj-so-feedback-thanks__face{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:16px;background:rgba(30,168,123,.13);font-size:29px}
.avj-so-feedback-thanks strong{display:block;margin:2px 0 5px}
.avj-so-feedback-thanks p{margin:0;color:var(--avj-muted,#68758a)}
@media(max-width:600px){.avj-so-feedback-faces{gap:8px}.avj-so-feedback-faces label{min-height:96px;padding:9px}.avj-so-feedback-faces label>span{font-size:32px}}

/* AVJ 1.4.13 — safe batched trash purge */
.avj-so-trash-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.avj-so-trash-purge-all{display:inline-flex;align-items:center;gap:7px}
.avj-so-trash-purge-all:disabled{opacity:.65;cursor:wait}
.avj-so-trash-purge-progress{margin:12px 0 16px;padding:13px 15px;border:1px solid var(--avj-border,#dce4ef);border-radius:15px;background:var(--avj-surface,#fff)}
.avj-so-trash-purge-progress>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:12px}
.avj-so-trash-purge-progress strong{white-space:nowrap;color:#1ea87b}
.avj-so-trash-purge-progress progress{display:block;width:100%;height:8px;border:0;border-radius:999px;overflow:hidden;accent-color:#1ea87b}
.avj-so-spin{animation:avjSoSpin .8s linear infinite}
@keyframes avjSoSpin{to{transform:rotate(360deg)}}

/* 1.4.14 — mobile QR scanner + closed ticket lock states. */
.avj-so-mobile-qr-entry{display:none}
.avj-so-ticket-closed-lock{display:flex;align-items:flex-start;gap:11px;margin:0 0 14px}.avj-so-ticket-closed-lock>i{flex:0 0 auto;margin-top:2px;color:#9a6700}.avj-so-ticket-closed-lock>div{display:grid;gap:3px}.avj-so-ticket-closed-lock strong{font-size:12px}.avj-so-ticket-closed-lock span{font-size:10px;line-height:1.8;color:inherit;opacity:.8}
.avj-so-ticket-manage.is-locked,.avj-so-ticket-tech-action.is-locked{position:relative;background:#f8fafc}.avj-so-ticket-manage.is-locked :is(input,select,textarea,button),.avj-so-ticket-tech-action.is-locked :is(input,select,textarea,button){cursor:not-allowed;opacity:.62}.avj-so-ticket-lock-hint{display:flex;align-items:center;gap:7px;margin:0 0 11px;padding:9px 10px;border:1px solid #eadfb6;border-radius:11px;background:#fffbeb;color:#8a5a00;font-size:9px;line-height:1.7}.avj-so-ticket-lock-hint i{font-size:15px;width:15px;height:15px}
.avj-so-qr-scanner[hidden]{display:none!important}.avj-so-qr-scanner{position:fixed;inset:0;z-index:2147483200;display:grid;place-items:center;padding:18px;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}.avj-so-qr-scanner.is-open{opacity:1;visibility:visible}.avj-so-qr-scanner-backdrop{position:absolute;inset:0;border:0;background:rgba(8,14,27,.62);backdrop-filter:blur(10px) saturate(.9);-webkit-backdrop-filter:blur(10px) saturate(.9)}.avj-so-qr-scanner-dialog{position:relative;z-index:2;width:min(460px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:26px;background:#fff;box-shadow:0 30px 90px rgba(2,8,23,.38);transform:translateY(14px) scale(.985);transition:transform .22s cubic-bezier(.2,.8,.2,1)}.avj-so-qr-scanner.is-open .avj-so-qr-scanner-dialog{transform:translateY(0) scale(1)}.avj-so-qr-scanner-dialog>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:17px 18px 13px}.avj-so-qr-scanner-dialog>header h2{margin:2px 0 3px;font-size:17px}.avj-so-qr-scanner-dialog>header p{margin:0;color:#6c7890;font-size:10px;line-height:1.8}.avj-so-qr-scanner-close{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:1px solid #e6eaf1;border-radius:13px;background:#f8fafc;color:#4c5870;font-size:25px;line-height:1;cursor:pointer}.avj-so-qr-scanner-view{position:relative;margin:0 14px;overflow:hidden;aspect-ratio:1/1;border-radius:22px;background:#07111f}.avj-so-qr-scanner-view video{display:block;width:100%;height:100%;object-fit:cover}.avj-so-qr-scanner-frame{position:absolute;inset:14%;pointer-events:none}.avj-so-qr-scanner-frame i{position:absolute;width:34px;height:34px;border-color:#fff;border-style:solid;filter:drop-shadow(0 2px 5px rgba(0,0,0,.24))}.avj-so-qr-scanner-frame i:nth-child(1){top:0;right:0;border-width:3px 3px 0 0;border-radius:0 12px 0 0}.avj-so-qr-scanner-frame i:nth-child(2){top:0;left:0;border-width:3px 0 0 3px;border-radius:12px 0 0 0}.avj-so-qr-scanner-frame i:nth-child(3){bottom:0;right:0;border-width:0 3px 3px 0;border-radius:0 0 12px 0}.avj-so-qr-scanner-frame i:nth-child(4){bottom:0;left:0;border-width:0 0 3px 3px;border-radius:0 0 0 12px}.avj-so-qr-scanner-frame span{position:absolute;right:6%;left:6%;top:14%;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,#8b7cff 18%,#fff 50%,#8b7cff 82%,transparent);box-shadow:0 0 16px rgba(139,124,255,.85);animation:avjQrScanLine 2.1s ease-in-out infinite}.avj-so-qr-scanner.is-success .avj-so-qr-scanner-frame span{background:#39d98a;box-shadow:0 0 18px rgba(57,217,138,.9)}@keyframes avjQrScanLine{0%,100%{top:14%;opacity:.6}50%{top:84%;opacity:1}}.avj-so-qr-scanner-status{margin:12px 14px 0;padding:10px 12px;border-radius:12px;background:#f5f7fb;color:#56637a;font-size:10px;font-weight:700;line-height:1.8;text-align:center}.avj-so-qr-scanner-status[data-state="error"]{background:#fff1f1;color:#a32626}.avj-so-qr-scanner-status[data-state="warning"]{background:#fff8e8;color:#946200}.avj-so-qr-scanner-status[data-state="success"]{background:#ecfaf3;color:#08734a}.avj-so-qr-scanner-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:11px 14px 0}.avj-so-qr-scanner-actions .avj-so-btn{justify-content:center;width:100%;min-width:0}.avj-so-qr-file-button{cursor:pointer}.avj-so-qr-scanner-help{display:block;padding:10px 16px 16px;color:#8792a6;font-size:8px;line-height:1.8;text-align:center}.avj-so-qr-scanner-open{overflow:hidden!important}
@media(max-width:900px){.avj-so-mobile-qr-entry{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;width:100%;min-height:50px;padding:9px 13px;border:0;border-radius:16px;background:linear-gradient(135deg,rgba(var(--avj-primary-rgb),.08),rgba(var(--avj-primary-rgb),.03));color:var(--avj-primary);font-family:inherit;text-align:right;cursor:pointer}.avj-so-mobile-qr-entry i{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:11px;background:rgba(var(--avj-primary-rgb),.12);font-size:17px}.avj-so-mobile-qr-entry span{font-size:12px;font-weight:900}.avj-so-mobile-qr-entry small{color:#8290a8;font-size:8px;font-weight:700}.avj-so-qr-scanner{align-items:end;padding:10px 10px calc(10px + env(safe-area-inset-bottom))}.avj-so-qr-scanner-dialog{width:100%;max-height:calc(100dvh - 16px);border-radius:28px 28px 22px 22px}.avj-so-qr-scanner-view{aspect-ratio:1/1;max-height:min(54vh,460px)}}
@media(max-width:430px){.avj-so-qr-scanner-actions{grid-template-columns:1fr}.avj-so-qr-scanner-dialog>header{padding-inline:15px}.avj-so-qr-scanner-view{margin-inline:10px}.avj-so-qr-scanner-status{margin-inline:10px}}
html[data-avj-theme="dark"] .avj-so-ticket-manage.is-locked,html[data-avj-theme="dark"] .avj-so-ticket-tech-action.is-locked{background:#101827!important}html[data-avj-theme="dark"] .avj-so-ticket-lock-hint{background:#2b2516!important;border-color:#504324!important;color:#ffd27a!important}html[data-avj-theme="dark"] .avj-so-qr-scanner-dialog{background:#0f1727;color:#e8eef9;border-color:rgba(145,160,190,.22)}html[data-avj-theme="dark"] .avj-so-qr-scanner-close{background:#151f31;border-color:#26334a;color:#cbd7e9}html[data-avj-theme="dark"] .avj-so-qr-scanner-dialog>header p,html[data-avj-theme="dark"] .avj-so-qr-scanner-help{color:#91a0b8}html[data-avj-theme="dark"] .avj-so-qr-scanner-status{background:#152033;color:#c8d4e6}html[data-avj-theme="dark"] .avj-so-mobile-qr-entry small{color:#8fa0ba}

/* 1.4.17 — stable bugfix wave: password reveal, focused feedback, payment claim and safe role deletion. */
.avj-so-password-control{position:relative;display:block;width:100%}.avj-so-login-card .avj-so-password-control input{padding-left:50px}.avj-so-password-toggle{position:absolute;top:50%;left:8px;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:11px;background:transparent;color:#748198;cursor:pointer;transition:.16s ease}.avj-so-password-toggle:hover,.avj-so-password-toggle:focus-visible{background:rgba(var(--avj-primary-rgb),.09);color:var(--avj-primary);outline:none}.avj-so-password-toggle .dashicons{width:19px;height:19px;font-size:19px}

.avj-so-feedback-focus-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--avj-border-accent);border-radius:13px;background:color-mix(in srgb,var(--avj-primary) 5%,white);font-size:10px}.avj-so-feedback-focus-note span{display:flex;align-items:center;gap:7px}.avj-so-feedback-focus-note i{color:var(--avj-primary)}.avj-so-feedback-focus-note a{color:var(--avj-primary);font-weight:900;white-space:nowrap}.avj-so-feedback-grid .avj-so-feedback-card.is-feedback-focus{scroll-margin-top:110px;border-color:color-mix(in srgb,var(--avj-primary) 48%,var(--avj-line));animation:avjFeedbackFocusPulse 1.05s ease-in-out 2;outline:none}@keyframes avjFeedbackFocusPulse{0%,100%{box-shadow:0 7px 20px rgba(25,42,78,.035);transform:translateY(0)}50%{border-color:var(--avj-primary);box-shadow:0 0 0 4px rgba(var(--avj-primary-rgb),.10),0 12px 28px rgba(var(--avj-primary-rgb),.10);transform:translateY(-1px)}}@media(prefers-reduced-motion:reduce){.avj-so-feedback-grid .avj-so-feedback-card.is-feedback-focus{animation:none;box-shadow:0 0 0 3px rgba(var(--avj-primary-rgb),.08)}}

.avj-so-payment-receipt-uploader{margin-bottom:2px}.avj-so-payment-receipt-card.is-without-file .avj-so-payment-receipt-preview{min-height:150px;background:linear-gradient(145deg,#fff,#f8f9ff)}.avj-so-payment-no-file{display:grid;place-items:center;gap:6px;padding:20px;text-align:center;color:var(--avj-muted)}.avj-so-payment-no-file i{width:38px;height:38px;font-size:38px;color:var(--avj-primary)}.avj-so-payment-no-file strong{font-size:11px;color:var(--avj-text)}.avj-so-payment-no-file small{max-width:220px;font-size:9px;line-height:1.8}

.avj-so-role-delete-list{margin-top:14px}.avj-so-role-delete-panel[hidden]{display:none!important}.avj-so-role-delete-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:18px;align-items:center;padding:17px;border-color:#ffd5dc;background:linear-gradient(145deg,#fff,#fff9fa)}.avj-so-role-delete-copy h2{margin:3px 0 6px;font-size:15px}.avj-so-role-delete-copy p{margin:0;color:var(--avj-muted);font-size:10px;line-height:1.9}.avj-so-role-delete-form{display:grid;gap:10px}.avj-so-role-delete-form select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--avj-line);border-radius:11px;background:#fff;font:inherit}.avj-so-role-delete-form>.avj-so-btn{justify-self:end}.avj-so-role-delete-empty{display:flex;align-items:center;gap:8px;padding:10px 11px;border-radius:11px;background:#effaf4;color:#08734a;font-size:10px;font-weight:800}.avj-so-role-delete-empty i{width:18px;height:18px;font-size:18px}

html[data-avj-theme="dark"] .avj-so-feedback-focus-note{background:#172238!important;border-color:#5b4fc2!important;color:#d7dded!important}html[data-avj-theme="dark"] .avj-so-feedback-focus-note a{color:#c9bbff!important}html[data-avj-theme="dark"] .avj-so-payment-receipt-card.is-without-file .avj-so-payment-receipt-preview{background:#111827!important;border-color:#2e3b53!important}html[data-avj-theme="dark"] .avj-so-role-delete-panel{background:#151823!important;border-color:#693442!important}html[data-avj-theme="dark"] .avj-so-role-delete-form select{background:#0f1728!important;border-color:#2e3b53!important;color:#e5eaf4!important}
@media(max-width:700px){.avj-so-feedback-focus-note{align-items:flex-start;flex-direction:column}.avj-so-role-delete-panel{grid-template-columns:1fr}.avj-so-role-delete-form>.avj-so-btn{width:100%;justify-content:center}.avj-so-password-toggle{width:42px;height:42px}}


/* 1.4.18 — trash-safe operational state + visible role deletion semantics. */
.avj-so-role-safety-list{margin:-2px 0 14px}
.avj-so-role-delete-panel.is-protected{display:block;grid-template-columns:1fr;border-color:#dbe3ef;background:linear-gradient(145deg,#fff,#f8fafc)}
.avj-so-role-protected-note{display:flex;align-items:flex-start;gap:11px;padding:2px}
.avj-so-role-protected-note>i{flex:0 0 34px;width:34px;height:34px;padding:7px;border-radius:10px;background:#eef2f7;color:#68758a;font-size:20px}
.avj-so-role-protected-note strong{display:block;margin:1px 0 4px;color:var(--avj-text);font-size:12px}
.avj-so-role-protected-note p{margin:0;color:var(--avj-muted);font-size:10px;line-height:1.9}
html[data-avj-theme="dark"] .avj-so-role-delete-panel.is-protected{background:#151923!important;border-color:#334155!important}
html[data-avj-theme="dark"] .avj-so-role-protected-note>i{background:#202a39;color:#aab6ca}
