/* One visual family; sizes and workflows remain specific to each task. */
:root dialog.xtreme-popup {
  --popup-dark:#252e3c; --popup-ink:#293443; --popup-muted:#677587;
  --popup-surface:#fff; --popup-soft:#f2f5f8; --popup-line:#e6ebf1; --popup-brand:#e32c61;
  box-sizing:border-box; border:0; border-radius:22px;
  padding:24px; color:var(--popup-ink); background:var(--popup-surface);
  box-shadow:0 24px 90px #10182040; max-height:calc(100dvh - 40px);
  max-width:calc(100vw - 40px); overflow:auto; overscroll-behavior:contain;
  font:14px/1.5 Arial,sans-serif; color-scheme:light; animation:none;
}
:root dialog.xtreme-popup::backdrop { background:#151c2873; backdrop-filter:blur(4px); }
:root dialog.xtreme-popup *,:root dialog.xtreme-popup *::before,:root dialog.xtreme-popup *::after { box-sizing:border-box; }
:root dialog.xtreme-popup [hidden] { display:none!important; }
:root dialog.xtreme-popup .popup-heading {
  position:sticky; top:-24px; z-index:3; display:flex; align-items:center;
  justify-content:space-between; gap:14px; margin:-24px -24px 24px;
  padding:22px 24px; background:var(--popup-dark); color:#f5f7fc;
  border-bottom:1px solid #ffffff12;
}
:root dialog.xtreme-popup .popup-heading h2,:root dialog.xtreme-popup .popup-heading h1 {
  display:flex; align-items:center; gap:12px; margin:0; font-size:24px;
  font-weight:700; line-height:1.25; letter-spacing:-.55px; min-width:0; overflow-wrap:anywhere;
}
:root dialog.xtreme-popup .popup-heading p,:root dialog.xtreme-popup .popup-heading .eyebrow { color:#c2ccdb; }
:root dialog.xtreme-popup .popup-heading .eyebrow { margin:0 0 6px; font-size:10px; letter-spacing:1.4px; }
.popup-icon { display:inline-block; vertical-align:middle; width:18px; height:18px; flex:none; pointer-events:none; }
:root dialog.xtreme-popup .popup-title-icon { width:34px; height:34px; padding:7px; border-radius:10px; background:#ffffff12; flex:none; }
:root dialog.xtreme-popup button:not(.finance-preview) {
  min-height:44px; border-radius:10px; padding:10px 15px; border:1px solid var(--popup-line);
  color:var(--popup-ink); background:var(--popup-soft); font:600 13px/1.4 Arial,sans-serif;
  box-shadow:none; cursor:pointer; transform:none; white-space:normal;
}
:root dialog.xtreme-popup button.popup-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
:root dialog.xtreme-popup button:disabled { opacity:.5; cursor:default; }
:root dialog.xtreme-popup button:not(:disabled):hover { filter:brightness(.97); transform:none; }
:root dialog.xtreme-popup :is(button,input,select,textarea,summary,a):focus-visible { outline:3px solid #e32c6166; outline-offset:3px; }
:root dialog.xtreme-popup button.primary,
:root dialog.xtreme-popup button[type=submit]:not(.secondary):not(.users-secondary):not(.danger),
:root dialog.xtreme-popup .popup-actions>button:not(.secondary):not(.users-secondary):not(.danger):not([type=button]),
:root dialog.xtreme-popup .popup-actions>div>button:not(.secondary):not(.users-secondary):not(.danger):not([type=button]) {
  background:var(--popup-brand); border-color:var(--popup-brand); color:#fff;
}
:root dialog.xtreme-popup button.danger { color:#b12643; background:#fdf0f3; border-color:#f1d2da; }
:root dialog.xtreme-popup .popup-actions button:is(.secondary,.users-secondary) { background:var(--popup-soft); border-color:var(--popup-line); color:var(--popup-ink); }
:root dialog.xtreme-popup .xtreme-dialog-actions button.danger { color:#fff; background:#b12643; border-color:#b12643; }
:root dialog.xtreme-popup .popup-heading button { background:#ffffff0d; color:#f5f7fc; border-color:#ffffff21; flex:none; }
:root dialog.xtreme-popup button.popup-icon-button { width:38px; min-height:38px; padding:9px; }
:root dialog.xtreme-popup label { color:var(--popup-ink); font-size:13px; font-weight:600; }
:root dialog.xtreme-popup :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
  width:100%; min-width:0; border:1px solid var(--popup-line); border-radius:10px; background:var(--popup-soft);
  padding:11px 12px; color:var(--popup-ink); font:400 14px/1.4 Arial,sans-serif; min-height:44px; box-shadow:none;
}
:root dialog.xtreme-popup :is(input,select,textarea):disabled { opacity:1; color:#768192; background:#edf0f4; }
:root dialog.xtreme-popup :is(input[type=checkbox],input[type=radio]) { accent-color:var(--popup-brand); width:18px; height:18px; min-height:18px; flex:none; }
:root dialog.xtreme-popup :is(.check,.checkbox) { display:flex; align-items:center; gap:9px; }
:root dialog.xtreme-popup :is(.muted,small,.help,.xtreme-dialog-message) { color:var(--popup-muted); }
:root dialog.xtreme-popup p { overflow-wrap:anywhere; }
:root dialog.xtreme-popup h3 { color:var(--popup-ink); font-size:16px; }
:root dialog.xtreme-popup :is(fieldset,.xtreme-dialog-facts,.finance-review,.notice,.users-note) { border-color:var(--popup-line); border-radius:12px; }
:root dialog.xtreme-popup .xtreme-dialog-facts { background:var(--popup-soft); }
:root dialog.xtreme-popup .popup-actions {
  display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:22px;
  padding-top:18px; border-top:1px solid var(--popup-line);
}
:root dialog.xtreme-popup .popup-actions button { max-width:100%; }
:root dialog.xtreme-popup summary { cursor:pointer; min-height:36px; padding:8px 0; color:var(--popup-ink); }
:root dialog.xtreme-popup .popup-layout { display:grid; grid-template-columns:210px minmax(0,1fr); min-height:100%; }
:root dialog.xtreme-popup.popup-with-context { padding:0; width:min(780px,calc(100vw - 40px)); }
:root dialog.xtreme-popup.popup-with-context>form { padding:0; margin:0; }
:root dialog.xtreme-popup .popup-context { background:var(--popup-dark); color:#f5f7fc; padding:30px 24px; }
:root dialog.xtreme-popup .popup-context-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#ffffff10; margin-bottom:30px; }
:root dialog.xtreme-popup .popup-context-label { color:#c2ccdb; font-size:10px; letter-spacing:1.3px; margin:0 0 16px; }
:root dialog.xtreme-popup .popup-entry-context strong { display:block; font-size:24px; line-height:1.25; font-variant-numeric:tabular-nums; letter-spacing:-.5px; margin-bottom:10px; overflow-wrap:anywhere; }
:root dialog.xtreme-popup .popup-entry-context p { color:#c2ccdb; font-size:13px; margin:22px 0 0; }
:root dialog.xtreme-popup .popup-content { min-width:0; padding:26px; }
:root dialog.xtreme-popup .popup-mobile-extra { display:contents; }
:root dialog.xtreme-popup .popup-mobile-extra>summary { display:none; }
:root dialog.xtreme-popup.popup-with-context .popup-heading { background:var(--popup-surface); color:var(--popup-ink); position:sticky; top:0; margin:0 0 24px; padding:0 0 20px; border-color:var(--popup-line); }
:root dialog.xtreme-popup .popup-content>.popup-actions { position:sticky; bottom:-26px; z-index:2; margin:22px -26px -26px; padding:16px 26px; background:var(--popup-surface); }
:root dialog.xtreme-popup.popup-with-context .popup-heading button { color:var(--popup-ink); background:var(--popup-soft); border-color:var(--popup-line); }
:root dialog.xtreme-popup.popup-with-context .popup-title-icon { background:var(--popup-soft); }
:root dialog.xtreme-popup #publishContext { font-size:18px; line-height:1.5; margin:0; }
:root dialog.xtreme-popup #publishChanges h3:first-child { margin-top:0; }
:root dialog.xtreme-popup#publishDialog { width:min(1060px,calc(100vw - 40px)); }
:root dialog.xtreme-popup#userDialog { padding:0; overflow:hidden; }
:root dialog.xtreme-popup#userDialog .popup-heading { position:static; margin:0; padding:22px 28px; }
:root dialog.xtreme-popup#userDialog .users-dialog-body { padding:24px 28px; }
:root dialog.xtreme-popup#userDialog .users-dialog-footer { margin:0; padding:18px 28px; }
:root dialog.xtreme-popup#ticketDialog { padding:24px; border-radius:22px 0 0 22px; }
:root dialog.xtreme-popup#ticketDialog .drawer-top { margin:-24px -24px 20px; padding:17px 24px; }
:root dialog.xtreme-popup#ticketDialog .drawer-top>div { display:flex; gap:8px; }
:root dialog.xtreme-popup#ticketDialog .reply-area { background:var(--popup-soft); }
:root dialog.xtreme-popup#candidatePicker .picker-footer { position:sticky; bottom:-24px; padding:16px 24px; margin:20px -24px -24px; background:var(--popup-dark); color:#fff; z-index:2; }
:root dialog.xtreme-popup#candidatePicker .picker-footer .actions { border:0; padding:0; margin:0; }
:root dialog.xtreme-popup#candidatePicker .picker-footer .secondary { background:#ffffff14; color:#fff; border-color:#ffffff20; }
:root dialog.xtreme-popup#setup { width:min(880px,calc(100vw - 40px)); }
:root dialog.xtreme-popup#setup .popup-heading { background:var(--popup-dark); color:#f5f7fc; padding:22px 24px; top:-24px; box-shadow:none; }
:root dialog.xtreme-popup#editor .editor-code { color:#c2ccdb; font-size:12px; }
:root dialog.xtreme-popup#setup .station-section { padding:18px; margin:16px 0; border:1px solid var(--popup-line); background:var(--popup-soft); border-radius:14px; }
:root dialog.xtreme-popup#setup .station-section h3 { margin-top:0; }
:root dialog.xtreme-popup#scanner { width:min(680px,calc(100vw - 40px)); background:var(--popup-dark); color:#f5f7fc; }
:root dialog.xtreme-popup#scanner #video { width:100%; max-height:65dvh; border-radius:14px; background:#151c28; object-fit:cover; }
:root dialog.xtreme-popup#scanner #scannerStatus { color:#c2ccdb; }
:root dialog.xtreme-popup#scanner #manual { width:100%; }
:root dialog.xtreme-popup#editor .inventory-product-heading { background:var(--popup-soft); border-radius:14px; }
:root dialog.xtreme-popup.finance-description-dialog { width:min(1480px,calc(100vw - 40px)); max-width:1480px; }
:root dialog.xtreme-popup .finance-detail-grid.finance-description-preview { grid-template-columns:minmax(0,1.7fr) minmax(330px,1fr); gap:24px; align-items:start; }
:root dialog.xtreme-popup .finance-description-preview .finance-preview.large { min-height:620px; max-height:none; height:auto; padding:16px; background:var(--popup-dark); border:0; border-radius:14px; overflow:auto; display:block; }
:root dialog.xtreme-popup .finance-preview.large :is(canvas,img) { display:block; width:100%; height:auto; margin:0; border-radius:2px; }
:root dialog.xtreme-popup .finance-preview.large>span { color:#c2ccdb; padding:30px; }
:root dialog.xtreme-popup .finance-inline-preview { min-width:0; background:var(--popup-dark); border-radius:14px; padding:12px; color:#f5f7fc; }
:root dialog.xtreme-popup .finance-inline-preview .finance-preview-tools { gap:6px; margin-bottom:10px; }
:root dialog.xtreme-popup .finance-inline-preview .finance-preview-tools label { color:#c2ccdb; font-size:12px; }
:root dialog.xtreme-popup .finance-inline-preview [data-pages] { min-height:520px; height:min(72dvh,780px); overflow:auto; padding:12px; }
:root dialog.xtreme-popup .finance-inline-preview [data-pages] canvas { display:block; max-width:none; }
:root dialog.xtreme-popup .finance-inline-preview [role=status] { color:#c2ccdb; font-size:12px; margin:8px; }
:root dialog.xtreme-popup .finance-inline-preview [role=status]:empty { display:none; }
:root dialog.xtreme-popup #descriptionForm { padding:0; margin:0; border:0; background:transparent; }
:root dialog.xtreme-popup #descriptionForm>h3 { margin-top:0; }
:root dialog.xtreme-popup #descriptionForm>button[type=submit] { position:sticky; bottom:0; z-index:2; }
:root dialog.xtreme-popup.finance-full-preview { flex-direction:column; width:min(1360px,calc(100vw - 40px)); height:calc(100dvh - 40px); overflow:hidden; }
:root dialog.xtreme-popup.finance-full-preview[open] { display:flex; }
:root dialog.xtreme-popup.finance-full-preview .popup-heading { flex:none; position:static; }
:root dialog.xtreme-popup.finance-full-preview [data-pages] { flex:1; min-height:0; background:var(--popup-dark); border-radius:12px; overflow:auto; padding:16px; }
:root dialog.xtreme-popup.finance-full-preview [data-pages] canvas { max-width:none; }
:root dialog.xtreme-popup .finance-preview-tools { flex-wrap:wrap; flex:none; }
:root dialog.xtreme-popup .finance-preview-tools label { display:flex; align-items:center; gap:8px; flex:1; }
:root dialog.xtreme-popup .finance-preview-tools select { width:auto; }
:root dialog.xtreme-popup .popup-document-tabs { display:none; }
:root dialog.xtreme-popup.cash-withdrawal-dialog .xtreme-dialog-facts { background:var(--popup-dark); border:0; color:#fff; }
:root dialog.xtreme-popup.cash-withdrawal-dialog .xtreme-dialog-facts dt { color:#c2ccdb; }
:root dialog.xtreme-popup.cash-withdrawal-dialog .xtreme-dialog-facts dd { font-size:21px; font-variant-numeric:tabular-nums; }
:root dialog.xtreme-popup.cash-withdrawal-dialog .xtreme-dialog-facts>div { background:transparent; border:0; border-radius:0; }
:root dialog.xtreme-popup.cash-withdrawal-dialog .xtreme-dialog-facts dd { color:#f5f7fc; }
:root dialog.xtreme-popup.cash-withdrawal-dialog .cash-withdrawal-row { background:var(--popup-soft); border-color:var(--popup-line); border-radius:12px; }
:root dialog.xtreme-popup.cash-withdrawal-dialog .cash-withdrawal-row strong { font-size:20px; }
@media(max-width:760px) {
  :root dialog.xtreme-popup { padding:20px; max-width:calc(100vw - 20px); width:min(560px,calc(100vw - 20px)); max-height:calc(100dvh - 20px); border-radius:20px; }
  :root dialog.xtreme-popup .popup-heading { top:-20px; margin:-20px -20px 20px; padding:18px 20px; gap:10px; }
  :root dialog.xtreme-popup .popup-heading :is(h1,h2) { font-size:21px; gap:10px; }
  :root dialog.xtreme-popup .popup-title-icon { width:30px; height:30px; padding:6px; }
  :root dialog.xtreme-popup :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { font-size:16px; min-height:46px; }
  :root dialog.xtreme-popup button:not(.finance-preview) { min-height:44px; }
  :root dialog.xtreme-popup .two-columns { grid-template-columns:1fr 1fr; gap:12px; }
  :root dialog.xtreme-popup .popup-actions { gap:9px; }
  :root dialog.xtreme-popup .xtreme-dialog-actions { flex-direction:column-reverse; }
  :root dialog.xtreme-popup .xtreme-dialog-actions button { width:100%; }
  :root dialog.xtreme-popup .popup-layout { display:block; }
  :root dialog.xtreme-popup .popup-context { display:none; }
  :root dialog.xtreme-popup.popup-with-context { width:min(560px,calc(100vw - 20px)); }
  :root dialog.xtreme-popup .popup-content { padding:20px; }
  :root dialog.xtreme-popup .popup-content>.popup-actions { bottom:-20px; margin:20px -20px -20px; padding:14px 20px; }
  :root dialog.xtreme-popup.popup-with-context .popup-heading { position:sticky; top:-20px; padding:18px 20px; margin:-20px -20px 20px; background:var(--popup-dark); color:#fff; }
  :root dialog.xtreme-popup.popup-with-context .popup-heading button { background:#ffffff12; color:#fff; border-color:#ffffff20; }
  :root dialog.xtreme-popup.popup-with-context .popup-title-icon { background:#ffffff12; }
  :root dialog.xtreme-popup#publishDialog #publishContext { display:block; }
  :root dialog.xtreme-popup#publishDialog .popup-context { display:block; padding:16px 20px; }
  :root dialog.xtreme-popup#publishDialog .popup-context-icon,:root dialog.xtreme-popup#publishDialog .popup-context-label { display:none; }
  :root dialog.xtreme-popup#publishDialog #publishContext { font-size:14px; }
  :root dialog.xtreme-popup#userDialog,:root dialog.xtreme-popup#userDialog.is-edit { width:100%; max-width:100%; height:100dvh; max-height:100dvh; border-radius:0; margin:0; }
  :root dialog.xtreme-popup#userDialog:not(.is-edit) { width:calc(100vw - 20px); max-width:560px; height:auto; max-height:calc(100dvh - 20px); border-radius:20px; margin:auto; }
  :root dialog.xtreme-popup#userDialog:not(.is-edit)>form { height:auto; max-height:calc(100dvh - 22px); }
  :root dialog.xtreme-popup#userDialog .popup-heading { padding:18px 20px; }
  :root dialog.xtreme-popup#userDialog .users-dialog-body { padding:20px; }
  :root dialog.xtreme-popup#userDialog .users-dialog-footer { padding:14px 20px max(14px,env(safe-area-inset-bottom)); }
  :root dialog.xtreme-popup#ticketDialog { width:100%; max-width:100%; height:100dvh; max-height:100dvh; padding:20px; margin:0; border-radius:0; }
  :root dialog.xtreme-popup#ticketDialog .drawer-top { margin:-20px -20px 20px; padding:14px 20px; }
  :root dialog.xtreme-popup#candidatePicker { width:calc(100vw - 20px); }
  :root dialog.xtreme-popup:is(#candidatePicker,#operation,#detail) { padding:20px; }
  :root dialog.xtreme-popup#operation { width:calc(100vw - 20px); max-width:560px; height:auto; max-height:calc(100dvh - 20px); margin:auto; border-radius:20px; }
  :root dialog.xtreme-popup#candidatePicker .picker-toolbar { display:flex; flex-wrap:wrap; }
  :root dialog.xtreme-popup#candidatePicker .picker-toolbar>label { flex:1 1 130px; }
  :root dialog.xtreme-popup#candidatePicker .picker-footer { bottom:-20px; margin:20px -20px -20px; padding:14px 20px; }
  :root dialog.xtreme-popup#candidatePicker .picker-footer .actions { flex:1; }
  :root dialog.xtreme-popup#setup { width:calc(100vw - 20px); }
  :root dialog.xtreme-popup#setup .popup-heading { padding:18px 20px; top:-20px; }
  :root dialog.xtreme-popup#setup .setup-actions { display:flex; flex-wrap:wrap; }
  :root dialog.xtreme-popup#setup .station-section { padding:14px; }
  :root dialog.xtreme-popup .popup-mobile-extra { display:block; border-top:1px solid var(--popup-line); margin:18px 0; }
  :root dialog.xtreme-popup .popup-mobile-extra>summary { display:list-item; min-height:44px; font-weight:600; }
  :root dialog.xtreme-popup#scanner { width:calc(100vw - 20px); }
  :root dialog.xtreme-popup.finance-description-dialog { width:100%; max-width:100%; height:100dvh; max-height:100dvh; border:0; border-radius:0; margin:0; }
  :root dialog.xtreme-popup .finance-detail-grid.finance-description-preview { display:block; }
  :root dialog.xtreme-popup .finance-description-preview .finance-preview.large { min-height:420px; padding:10px; }
  :root dialog.xtreme-popup .popup-document-tabs { display:flex; gap:6px; padding:5px; background:var(--popup-soft); border-radius:12px; margin:0 0 20px; }
  :root dialog.xtreme-popup .popup-document-tabs button { flex:1; border:0; background:transparent; }
  :root dialog.xtreme-popup .popup-document-tabs button[aria-pressed=true] { background:var(--popup-dark); color:#fff; }
  :root dialog.xtreme-popup .finance-description-preview[data-mobile-pane=description]>.finance-preview,
  :root dialog.xtreme-popup .finance-description-preview[data-mobile-pane=description]>.finance-inline-preview,
  :root dialog.xtreme-popup .finance-description-preview[data-mobile-pane=document]>#descriptionForm { display:none; }
  :root dialog.xtreme-popup .finance-inline-preview [data-pages] { min-height:360px; height:65dvh; padding:0; }
  :root dialog.xtreme-popup.finance-full-preview { width:100%; max-width:100%; height:100dvh; max-height:100dvh; margin:0; border-radius:0; }
  :root dialog.xtreme-popup .finance-preview-tools label { flex-basis:100%; }
  :root dialog.xtreme-popup .finance-preview-tools select { flex:1; min-width:0; }
  :root dialog.xtreme-popup.cash-withdrawal-dialog .cash-withdrawal-list { grid-template-columns:1fr; }
  :root dialog.xtreme-popup.cash-withdrawal-dialog .xtreme-dialog-facts>div { grid-template-columns:1fr 1fr; align-items:center; }
  :root dialog.xtreme-popup.cash-withdrawal-dialog .xtreme-dialog-facts dd { text-align:right; font-size:20px; }
}
:root dialog.xtreme-popup#requestDayDialog .popup-heading { background:var(--popup-dark); color:#f5f7fc; padding:22px 24px; }
