/* CTR Suite UI Enhancements — custom selects, toasts, dialogs */
.ctr-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important;border:0!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}
.ctr-select-shell{position:relative;display:block;width:100%;min-width:0}
.ctr-select-shell.ctr-select-inline{display:inline-block;width:auto}
.ctr-select-trigger{width:100%;min-height:40px;border:1px solid var(--border,#dfe4ec);border-radius:11px;background:var(--card,#fff);color:var(--text,#20263a);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;font:inherit;font-size:12px;text-align:left;cursor:pointer;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .12s ease}
.ctr-select-trigger:hover{border-color:color-mix(in srgb,var(--blue,#2f6fea) 42%,var(--border,#dfe4ec));background:color-mix(in srgb,var(--card,#fff) 96%,var(--blue,#2f6fea) 4%)}
.ctr-select-trigger:focus-visible,.ctr-select-shell.is-open .ctr-select-trigger{border-color:var(--blue,#2f6fea);box-shadow:0 0 0 3px var(--blue-shadow-soft,rgba(47,111,234,.12))}
.ctr-select-trigger:disabled{opacity:.55;cursor:not-allowed}
.ctr-select-value{min-width:0;display:flex;flex-direction:column;line-height:1.25}
.ctr-select-value strong{font-size:11.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctr-select-value small{margin-top:2px;font-size:9px;color:var(--mute,#7b849e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctr-select-chevron{flex:0 0 auto;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;color:var(--mute,#7b849e);font-size:10px;background:var(--bg,#f5f7fb);transition:transform .16s ease,color .16s ease}
.ctr-select-shell.is-open .ctr-select-chevron{transform:rotate(180deg);color:var(--blue,#2f6fea)}
.ctr-select-menu{position:fixed;z-index:2147483000;background:var(--card,#fff);border:1px solid var(--border,#dfe4ec);border-radius:14px;box-shadow:0 18px 50px rgba(16,24,40,.18),0 2px 8px rgba(16,24,40,.08);padding:7px;overflow:hidden;transform-origin:top center;animation:ctrSelectIn .14s ease both;color:var(--text,#20263a)}
@keyframes ctrSelectIn{from{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:none}}
.ctr-select-search-wrap{position:relative;margin-bottom:6px}
.ctr-select-search-wrap i{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--mute,#7b849e);pointer-events:none}
.ctr-select-search{width:100%;height:38px;box-sizing:border-box;border:1px solid var(--border,#dfe4ec);border-radius:10px;background:var(--bg,#f7f9fc);color:var(--text,#20263a);padding:0 11px 0 30px;font:inherit;font-size:11px;outline:none}
.ctr-select-search:focus{border-color:var(--blue,#2f6fea);box-shadow:0 0 0 3px var(--blue-shadow-soft,rgba(47,111,234,.12))}
.ctr-select-options{overflow:auto;overscroll-behavior:contain;max-height:310px;padding:1px}
.ctr-select-option{width:100%;min-height:38px;border:0;border-radius:9px;background:transparent;color:var(--text,#20263a);display:flex;align-items:center;gap:9px;padding:8px 9px;text-align:left;font:inherit;cursor:pointer;transition:background .12s ease,color .12s ease}
.ctr-select-option:hover,.ctr-select-option.is-active{background:var(--bg,#f3f6fb)}
.ctr-select-option.is-selected{background:color-mix(in srgb,var(--blue,#2f6fea) 10%,transparent);color:var(--blue,#2f6fea)}
.ctr-select-option:disabled{opacity:.42;cursor:not-allowed}
.ctr-select-option-check{width:18px;height:18px;border-radius:6px;display:grid;place-items:center;flex:0 0 auto;font-size:9px;color:transparent;border:1px solid var(--border,#dfe4ec)}
.ctr-select-option.is-selected .ctr-select-option-check{background:var(--blue,#2f6fea);border-color:var(--blue,#2f6fea);color:#fff}
.ctr-select-option-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.ctr-select-option-copy strong{font-size:11px;font-weight:700;white-space:normal;line-height:1.35}
.ctr-select-option-copy small{font-size:9px;color:var(--mute,#7b849e);line-height:1.35}
.ctr-select-empty{padding:18px 12px;text-align:center;color:var(--mute,#7b849e);font-size:10px}

.ctr-toast-stack{position:fixed;top:18px;right:18px;z-index:2147483600;width:min(390px,calc(100vw - 28px));display:grid;gap:9px;pointer-events:none}
.ctr-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:11px;padding:12px 13px;border-radius:14px;background:var(--card,#fff);border:1px solid var(--border,#dfe4ec);box-shadow:0 18px 45px rgba(16,24,40,.17);animation:ctrToastIn .2s ease both;color:var(--text,#20263a)}
@keyframes ctrToastIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
.ctr-toast.is-out{animation:ctrToastOut .18s ease both}@keyframes ctrToastOut{to{opacity:0;transform:translateY(-6px) scale(.98)}}
.ctr-toast-icon{width:34px;height:34px;flex:0 0 auto;border-radius:10px;display:grid;place-items:center;background:var(--blue-soft,#eef4ff);color:var(--blue,#2f6fea)}
.ctr-toast.success .ctr-toast-icon{background:#eaf8f1;color:#138a52}.ctr-toast.error .ctr-toast-icon{background:#fff0f0;color:#c93636}.ctr-toast.warning .ctr-toast-icon{background:#fff7e8;color:#b66b08}
.ctr-toast-copy{min-width:0;flex:1}.ctr-toast-copy strong{display:block;font-size:11.5px}.ctr-toast-copy p{margin:3px 0 0;font-size:10px;line-height:1.45;color:var(--mute,#7b849e);white-space:pre-line;word-break:break-word}
.ctr-toast-close{border:0;background:transparent;color:var(--mute,#7b849e);width:28px;height:28px;border-radius:8px;cursor:pointer}.ctr-toast-close:hover{background:var(--bg,#f4f6fa)}

.ctr-dialog-backdrop{position:fixed;inset:0;z-index:2147483500;background:rgba(10,18,38,.42);backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px;animation:ctrFadeIn .14s ease both}
@keyframes ctrFadeIn{from{opacity:0}to{opacity:1}}
.ctr-dialog{width:min(430px,100%);background:var(--card,#fff);border:1px solid var(--border,#dfe4ec);border-radius:18px;box-shadow:0 28px 80px rgba(8,16,38,.28);padding:20px;color:var(--text,#20263a);animation:ctrDialogIn .18s ease both}
@keyframes ctrDialogIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.ctr-dialog-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;margin-bottom:13px;background:var(--blue-soft,#eef4ff);color:var(--blue,#2f6fea);font-size:16px}.ctr-dialog.danger .ctr-dialog-icon{background:#fff0f0;color:#c93636}.ctr-dialog.warning .ctr-dialog-icon{background:#fff7e8;color:#b66b08}
.ctr-dialog h3{margin:0;font-family:var(--display,inherit);font-size:16px}.ctr-dialog p{margin:7px 0 0;color:var(--mute,#7b849e);font-size:11.5px;line-height:1.6;white-space:pre-line}
.ctr-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.ctr-dialog-actions button{min-height:40px;padding:8px 14px;border-radius:11px;border:1px solid var(--border,#dfe4ec);background:var(--card,#fff);color:var(--text,#20263a);font:inherit;font-size:11px;font-weight:800;cursor:pointer}.ctr-dialog-actions .primary{background:var(--blue,#2f6fea);border-color:var(--blue,#2f6fea);color:#fff}.ctr-dialog-actions .danger{background:#dc2626;border-color:#dc2626;color:#fff}

#masterMaterialCard{scroll-margin-top:92px}.ctr-edit-focus{animation:ctrEditPulse .7s ease both}@keyframes ctrEditPulse{0%{box-shadow:0 0 0 0 var(--blue-glow,rgba(47,111,234,.28))}45%{box-shadow:0 0 0 5px var(--blue-shadow-soft,rgba(47,111,234,.12))}100%{box-shadow:none}}
.ctr-opname-selected{margin-top:8px;padding:10px 11px;border-radius:11px;border:1px solid color-mix(in srgb,var(--blue,#2f6fea) 18%,var(--border,#dfe4ec));background:color-mix(in srgb,var(--blue,#2f6fea) 5%,var(--card,#fff));display:none;gap:10px;align-items:center}.ctr-opname-selected.show{display:flex}.ctr-opname-selected i{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--blue,#2f6fea) 12%,transparent);color:var(--blue,#2f6fea);font-size:11px}.ctr-opname-selected strong{display:block;font-size:10.5px}.ctr-opname-selected span{display:block;margin-top:2px;font-size:9px;color:var(--mute,#7b849e)}

@media(max-width:640px){.ctr-toast-stack{top:10px;right:10px;left:10px;width:auto}.ctr-select-menu{max-width:calc(100vw - 20px)}.ctr-dialog{padding:17px;border-radius:16px}.ctr-dialog-actions{flex-direction:column-reverse}.ctr-dialog-actions button{width:100%}}
