/* ACCGEN Wave T1.5 | Native desktop select fix + concise transaction feedback | v18.13.25.
   Keep the existing native select and change contracts. Mobile sheets/rich pickers stay intact. */
:root{--accgen-ui23-radius:10px;--accgen-ui23-border:#cbd9e5;--accgen-ui23-blue:#006c9c;--accgen-ui23-ink:#183c55}
/* The current field baseline forces 6px radii, even for tablet inputs. Align visible selects to other 9–10px inputs. */
#view-main-layout select:not(.mobile-select-native):not(.accgen-picker-native):not(.accgen-role-original-select):not([multiple]):not([data-mobile-native="true"]),
dialog select:not(.mobile-select-native):not(.accgen-picker-native):not([multiple]):not([data-mobile-native="true"]){
 box-sizing:border-box;min-height:44px!important;max-width:100%;border:1px solid var(--accgen-ui23-border)!important;
 border-radius:var(--accgen-ui23-radius)!important;background-color:#fff!important;color:var(--accgen-ui23-ink)!important;
 font-family:inherit;font-size:16px!important;line-height:1.35!important;padding:9px 36px 9px 12px!important;
 -webkit-appearance:none;appearance:none;box-shadow:none!important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 5.7 4.5 4.5 4.5-4.5' fill='none' stroke='%23056f99' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
 background-repeat:no-repeat!important;background-position:right 11px center!important;background-size:16px 16px!important;
}
#view-main-layout select:not(.mobile-select-native):not(.accgen-picker-native):not([multiple]):not([data-mobile-native="true"]):focus-visible,
dialog select:not(.mobile-select-native):not(.accgen-picker-native):not([multiple]):not([data-mobile-native="true"]):focus-visible{border-color:#1e9cb1!important;outline:2px solid #70c5e0!important;outline-offset:1px!important;box-shadow:0 0 0 3px rgba(13,148,173,.10)!important}
#view-main-layout select:disabled,dialog select:disabled{cursor:not-allowed;opacity:.68}
/* Native-by-contract dropdowns stay native, but look identical when shown on desktop/tablet. */
@media(min-width:768px){
 #view-main-layout select[data-mobile-native="true"]:not(.mobile-select-native):not(.accgen-picker-native){min-height:44px!important;border:1px solid var(--accgen-ui23-border)!important;border-radius:10px!important;font-size:16px!important;line-height:1.35!important;box-sizing:border-box;padding:9px 36px 9px 12px!important;background-color:#fff!important;color:var(--accgen-ui23-ink)!important}
}
@media(min-width:768px) and (max-width:1366px){
 #view-main-layout .form-group>.mobile-select-trigger,#view-main-layout .form-group>.accgen-picker-trigger,
 #view-main-layout .form-group select:not(.mobile-select-native):not(.accgen-picker-native),
 #view-main-layout .list-toolbar__sort,#view-main-layout .list-toolbar__sort-wrapper select{
  box-sizing:border-box;min-height:44px!important;border-radius:10px!important;font-size:16px!important;
 }
 #view-main-layout :is(.mobile-select-trigger,.accgen-picker-trigger){border-radius:10px!important;min-height:44px!important;line-height:1.35!important}
 #view-main-layout .form-group select,#view-main-layout .admin-u5e-form-grid select{width:100%;min-width:0}
}
/* Mouse/keyboard desktop dropdown panel; the original <select> remains in place for form/API contract. */
.accgen-ui23-select-panel{position:fixed;z-index:18000;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;
 padding:6px;border:1px solid #c7dce9;border-radius:13px;background:#fff;
 color:var(--accgen-ui23-ink);box-shadow:0 16px 43px rgba(7,39,64,.22),0 2px 7px rgba(10,54,84,.08);
 font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;text-align:left;overscroll-behavior:contain}
.accgen-ui23-select-panel[hidden]{display:none!important}
.accgen-ui23-select-head{padding:9px 11px 7px;border-bottom:1px solid #ebf1f6;color:#57778c;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 auto}
.accgen-ui23-select-search{display:block;width:calc(100% - 10px);box-sizing:border-box;min-height:38px!important;margin:7px 5px 5px;padding:8px 11px!important;border:1px solid #cbddea!important;border-radius:9px!important;background:#f8fbfd!important;color:#16394f!important;font:inherit;font-size:14px!important;outline:none;flex:0 0 auto}
.accgen-ui23-select-search:focus{border-color:#269bb4!important;box-shadow:0 0 0 3px rgba(21,156,184,.12)!important}
.accgen-ui23-select-options{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bbd2e1 transparent;padding:3px 1px 4px}
.accgen-ui23-select-optgroup{margin:7px 8px 3px;color:#6b8598;font-size:11px;font-weight:850;letter-spacing:.035em}
.accgen-ui23-select-option{display:flex;align-items:center;gap:10px;box-sizing:border-box;width:100%;min-height:39px;padding:9px 11px;border:0;border-radius:8px;background:transparent;color:#23435b;font:inherit;font-size:14px;line-height:1.3;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.accgen-ui23-select-option:hover,.accgen-ui23-select-option.is-active{background:#eaf6fb;color:#075d86}
.accgen-ui23-select-option.is-selected{background:#ecf8f5;color:#067668;font-weight:750}
.accgen-ui23-select-option.is-selected::after{content:"✓";flex:0 0 auto;margin-left:auto;color:#078575;font-weight:900}
.accgen-ui23-select-option:disabled{color:#9badb9;opacity:.75;cursor:not-allowed}
.accgen-ui23-select-empty,.accgen-ui23-select-hint{padding:11px 12px;color:#70879a;font-size:12px;line-height:1.45}
/* Visible outcome in viewport, while keeping each existing inline .alert as the detailed record. */
.accgen-ui23-toast-host{position:fixed;top:calc(18px + env(safe-area-inset-top,0px));right:calc(18px + env(safe-area-inset-right,0px));z-index:19000;
 display:flex;flex-direction:column;align-items:stretch;gap:9px;width:min(380px,calc(100vw - 32px));max-height:calc(90dvh - 24px);
 overflow-y:auto;pointer-events:none;overscroll-behavior:contain}
.accgen-ui23-toast-host:empty{display:none}
.accgen-ui23-toast{position:relative;display:flex;align-items:flex-start;gap:11px;box-sizing:border-box;width:100%;min-width:0;
 padding:13px 11px 13px 13px;border:1px solid #c5dfeb;border-left:4px solid #268cae;border-radius:12px;
 background:#fff;box-shadow:0 13px 36px rgba(15,43,64,.2);color:#17364e;pointer-events:auto;overflow-wrap:anywhere}
.accgen-ui23-toast--success{border-left-color:#14876f;background:#f8fffc}
.accgen-ui23-toast--error{border-left-color:#cb4646;background:#fffafa}
.accgen-ui23-toast--warning{border-left-color:#d79c2e;background:#fffdfa}
.accgen-ui23-toast-icon{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;margin-top:1px;border-radius:9px;background:#e1f0fa;color:#006e9a;font-size:16px;font-weight:900}
.accgen-ui23-toast--success .accgen-ui23-toast-icon{color:#087966;background:#e0f6ed}
.accgen-ui23-toast--error .accgen-ui23-toast-icon{color:#bc3232;background:#ffebeb}
.accgen-ui23-toast--warning .accgen-ui23-toast-icon{color:#987009;background:#fff2d7}
.accgen-ui23-toast-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.accgen-ui23-toast-title{margin:0;font-size:13.5px;font-weight:850;line-height:1.35;color:inherit}
.accgen-ui23-toast-text{margin:0;font-size:13px;line-height:1.45;color:#40566b}
.accgen-ui23-toast-detail{align-self:flex-start;border:0;padding:4px 0;background:transparent;color:#08759b;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.accgen-ui23-toast-close{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;margin:-3px -2px 0 0;padding:0;border:0;border-radius:8px;background:transparent;color:#658195;font:inherit;font-size:20px;line-height:1;cursor:pointer}
.accgen-ui23-toast-close:hover,.accgen-ui23-toast-close:focus-visible{background:#ecf2f6;color:#174460}
@media(min-width:768px) and (max-width:1100px){.accgen-ui23-toast-host{right:12px;top:12px;width:min(350px,calc(100vw - 95px))}}
@media(max-width:767px){
 .accgen-ui23-toast-host{top:auto;right:calc(10px + env(safe-area-inset-right,0px));bottom:calc(77px + env(safe-area-inset-bottom,0px));left:calc(10px + env(safe-area-inset-left,0px));width:auto;max-height:min(45dvh,360px)}
 .accgen-ui23-toast{padding:12px 9px 12px 12px;border-radius:12px;box-shadow:0 5px 21px rgba(10,40,64,.23)}
 .accgen-ui23-toast-text{font-size:13px}
 .accgen-ui23-toast-host.accgen-ui23-toast-host--keyboard{bottom:auto;top:calc(10px + env(safe-area-inset-top,0px))}
}
@media(prefers-reduced-motion:no-preference){.accgen-ui23-toast{animation:accgen-ui23-enter .17s ease-out}@keyframes accgen-ui23-enter{from{opacity:.3;transform:translateY(-6px)}to{opacity:1;transform:none}}}

/* Wave T1.4: stable desktop field proxy. Native select remains in DOM for forms,
   but browser never receives a pointer click on it. The button is in-flow. */
#view-main-layout select.accgen-ui23-select-source-hidden,
dialog select.accgen-ui23-select-source-hidden{
 position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;
 max-width:1px!important;max-height:1px!important;padding:0!important;margin:-1px!important;
 border:0!important;opacity:0!important;pointer-events:none!important;
 clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;
}
#view-main-layout .accgen-ui23-select-trigger,
dialog .accgen-ui23-select-trigger{
 -webkit-appearance:none!important;appearance:none!important;display:flex!important;align-items:center!important;
 justify-content:space-between!important;gap:10px!important;box-sizing:border-box!important;width:100%!important;
 min-width:0!important;max-width:100%!important;min-height:44px!important;margin:0!important;
 padding:9px 12px!important;border:1px solid #cbd9e5!important;border-radius:10px!important;
 background:#fff!important;color:#183c55!important;font-family:inherit!important;
 font-size:16px!important;font-weight:400!important;line-height:1.35!important;text-align:left!important;
 box-shadow:none!important;cursor:pointer!important;touch-action:manipulation!important;
}
#view-main-layout .accgen-ui23-select-trigger:hover:not(:disabled),dialog .accgen-ui23-select-trigger:hover:not(:disabled){border-color:#86b9d4!important;background:#fbfdff!important}
#view-main-layout .accgen-ui23-select-trigger:focus-visible,#view-main-layout .accgen-ui23-select-trigger[aria-expanded="true"],
dialog .accgen-ui23-select-trigger:focus-visible,dialog .accgen-ui23-select-trigger[aria-expanded="true"]{
 border-color:#1e9cb1!important;outline:2px solid rgba(42,176,197,.46)!important;outline-offset:1px!important;
 box-shadow:0 0 0 3px rgba(13,148,173,.10)!important;
}
#view-main-layout .accgen-ui23-select-trigger:disabled,dialog .accgen-ui23-select-trigger:disabled{
 cursor:not-allowed!important;opacity:.7!important;background:#f3f7fa!important;
}
.accgen-ui23-select-trigger-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}
.accgen-ui23-select-trigger-arrow{display:block;flex:0 0 16px;width:16px;height:16px;pointer-events:none;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 5.7 4.5 4.5 4.5-4.5' fill='none' stroke='%23056f99' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-size:16px 16px;background-repeat:no-repeat;background-position:center;
}
.accgen-ui23-select-trigger[aria-expanded="true"] .accgen-ui23-select-trigger-arrow{transform:rotate(180deg)}

/* Wave T1.5: single-line action result; no generic title and no 'Xem vị trí' link. */
.accgen-ui23-toast{align-items:center!important;gap:9px!important;padding:10px 10px 10px 12px!important;min-height:48px;max-width:100%}
.accgen-ui23-toast-copy{display:block!important}
.accgen-ui23-toast-text{flex:1;min-width:0;margin:0!important;font-size:13.5px!important;line-height:1.4!important;font-weight:650;color:#244159!important}
.accgen-ui23-toast-icon{width:25px;height:25px;flex-basis:25px;border-radius:8px}
.accgen-ui23-toast-close{margin:0!important;flex-basis:26px;width:26px;height:26px}
.accgen-ui23-toast-title,.accgen-ui23-toast-detail{display:none!important}
@media(max-width:767px){.accgen-ui23-toast{padding:10px 9px 10px 11px!important}.accgen-ui23-toast-text{font-size:13px!important}}

/* Restore existing Wave H action affordances on desktop/tablet only.
   No new button component: keep contextual Wave H / capture / admin styles authoritative. */
@media(min-width:768px){
 #view-main-layout button.btn:not(.accgen-capture-btn):not(.accgen-form-utility-btn),
 dialog button.btn{box-sizing:border-box;min-height:40px;border-radius:9px;font-family:inherit;line-height:1.3}
 #view-main-layout button.btn.btn-sm:not(.accgen-capture-btn):not(.accgen-form-utility-btn),
 dialog button.btn.btn-sm{min-height:34px;border-radius:8px}
 #view-main-layout button.btn.btn-primary:not(.accgen-capture-btn):not(.accgen-form-utility-btn),
 dialog button.btn.btn-primary{border:1px solid #0b779e;background:linear-gradient(105deg,#0e709b,#098b9b);color:#fff}
 #view-main-layout button.btn.btn-secondary:not(.accgen-capture-btn):not(.accgen-form-utility-btn),
 dialog button.btn.btn-secondary{border:1px solid #d4e0e9;background:#f3f7fa;color:#335c75}
 #view-main-layout button.btn:focus-visible,dialog button.btn:focus-visible{outline:2px solid #0d93a7;outline-offset:2px}
}

/* ACCGEN choices for free-text datalist inputs, desktop/tablet only. The input remains editable. */
@media(min-width:768px){
 #view-main-layout .mobile-choice-field:has(>.accgen-ui23-datalist-open),
 dialog .mobile-choice-field:has(>.accgen-ui23-datalist-open){position:relative}
 #view-main-layout .mobile-choice-field:has(>.accgen-ui23-datalist-open)>input,
 dialog .mobile-choice-field:has(>.accgen-ui23-datalist-open)>input{padding-right:43px!important}
 .accgen-ui23-datalist-open{position:absolute;right:1px;top:1px;display:grid;place-items:center;
  width:40px;height:calc(100% - 2px);border:0;border-left:1px solid #e1ebf2;border-radius:0 9px 9px 0;
  background:#fff;color:#056f99;cursor:pointer;touch-action:manipulation}
 .accgen-ui23-datalist-open::after{content:"";width:16px;height:16px;display:block;background:center/16px 16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 5.7 4.5 4.5 4.5-4.5' fill='none' stroke='%23056f99' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") }
 .accgen-ui23-datalist-open:hover{background:#f1fafc}
 .accgen-ui23-datalist-open:focus-visible{outline:2px solid #1e9cb1;outline-offset:1px}
}

/* R5: clear X may wrap the combobox input; leave picker accessible when the value is empty. */
@media(min-width:768px){
 #view-main-layout .mobile-choice-field:has(>.accgen-ui23-datalist-open),
 dialog .mobile-choice-field:has(>.accgen-ui23-datalist-open){position:relative}
 #view-main-layout .mobile-choice-field:has(>.accgen-ui23-datalist-open) input,
 dialog .mobile-choice-field:has(>.accgen-ui23-datalist-open) input{padding-right:82px!important}
 #view-main-layout .mobile-choice-field:has(>.accgen-ui23-datalist-open) .accgen-clear-field>.accgen-clear-button,
 dialog .mobile-choice-field:has(>.accgen-ui23-datalist-open) .accgen-clear-field>.accgen-clear-button,
 #view-main-layout .accgen-clear-field:has(>.mobile-choice-field>.accgen-ui23-datalist-open)>.accgen-clear-button,
 dialog .accgen-clear-field:has(>.mobile-choice-field>.accgen-ui23-datalist-open)>.accgen-clear-button{right:43px}
}
