/* Aparência do Windows clássico (o Saicco é Delphi 7, 2009). */
:root {
  --face: #d4d0c8; --sombra: #808080; --sombra-escura: #404040; --luz: #ffffff; --luz-3d: #d4d0c8;
  --janela: #ffffff; --texto: #000000; --cinza-texto: #808080; --destaque: #0a246a; --destaque-texto: #ffffff;
  --titulo-a: #0a246a; --titulo-b: #a6caf0; --titulo-inativo-a: #808080; --titulo-inativo-b: #c0c0c0;
  --fonte: "MS Sans Serif", "Microsoft Sans Serif", Tahoma, Arial, sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { font-family: var(--fonte); font-size: 11px; color: var(--texto); -webkit-font-smoothing: none; }
body.dl-desktop { background: #3a6ea5; height: 100vh; overflow: hidden; }
body.dl-corpo-tela { overflow: hidden; }
u { text-decoration: underline; }

/* ---------- Janelas ---------- */
.dl-janela {
  position: absolute; background: var(--face); padding: 3px;
  border: 1px solid; border-color: var(--luz-3d) var(--sombra-escura) var(--sombra-escura) var(--luz-3d);
  box-shadow: inset 1px 1px 0 var(--luz), inset -1px -1px 0 var(--sombra);
  display: flex; flex-direction: column;
}
.dl-principal { left: 0; top: 0; right: 0; bottom: 0; }
.dl-principal-corpo { position: relative; flex: 1; overflow: hidden; }
.dl-principal-corpo > .dl-form { width: 100% !important; height: 100% !important; }
.dl-titulo {
  height: 18px; display: flex; align-items: center; gap: 4px; padding: 0 2px 0 3px; color: #fff; font-weight: bold;
  background: linear-gradient(90deg, var(--titulo-inativo-a), var(--titulo-inativo-b)); user-select: none; flex: none; cursor: default;
}
.dl-titulo-ativo { background: linear-gradient(90deg, var(--titulo-a), var(--titulo-b)); }
.dl-titulo-texto { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dl-titulo-icone { width: 16px; height: 16px; background: linear-gradient(135deg, #ffd34d, #c98a00); border: 1px solid #7a5500; flex: none; }
.dl-titulo-botao {
  width: 16px; height: 14px; background: var(--face); color: #000; font: bold 9px/12px Tahoma, sans-serif; text-align: center;
  border: 1px solid; border-color: var(--luz) var(--sombra-escura) var(--sombra-escura) var(--luz); padding: 0; cursor: default; flex: none;
}
.dl-titulo-botao:active { border-color: var(--sombra-escura) var(--luz) var(--luz) var(--sombra-escura); }
.dl-janela-filha { z-index: 10; }
.dl-janela-filha iframe { border: 0; display: block; background: var(--face); flex: none; }
.dl-bloqueio { position: absolute; inset: 0; background: transparent; }
#dl-camada-janelas { position: absolute; inset: 0; pointer-events: none; }
#dl-camada-janelas > * { pointer-events: auto; }

/* ---------- Menus ---------- */
.dl-menubar { display: flex; background: var(--face); height: 19px; flex: none; position: relative; z-index: 5; user-select: none; }
.dl-menubar-item { position: relative; padding: 2px 7px; cursor: default; white-space: nowrap; outline: none; }
.dl-menubar-item.dl-aberto, .dl-menubar-item:focus-visible { box-shadow: inset 1px 1px 0 var(--sombra), inset -1px -1px 0 var(--luz); }
.dl-menubar-item > .dl-submenu { top: 100%; left: 0; }
.dl-submenu, .dl-popup {
  position: absolute; display: none; min-width: 120px; background: var(--face); padding: 2px; z-index: 50;
  border: 1px solid; border-color: var(--luz-3d) var(--sombra-escura) var(--sombra-escura) var(--luz-3d);
  box-shadow: inset 1px 1px 0 var(--luz), inset -1px -1px 0 var(--sombra), 2px 2px 3px rgba(0,0,0,.25);
}
.dl-popup[hidden] { display: none !important; }
.dl-aberto > .dl-submenu, .dl-popup.dl-visivel { display: block; }
.dl-menu-item { position: relative; display: flex; align-items: center; height: 17px; padding: 0 4px 0 0; white-space: nowrap; cursor: default; outline: none; }
.dl-menu-item:hover, .dl-menu-item.dl-aberto { background: var(--destaque); color: var(--destaque-texto); }
.dl-menu-item[data-desabilitado] { color: var(--cinza-texto); text-shadow: 1px 1px 0 var(--luz); }
.dl-menu-item > .dl-submenu { left: 100%; top: -3px; color: #000; }
.dl-menu-check { width: 18px; flex: none; text-align: center; }
.dl-marcado > .dl-menu-check::before { content: "\2713"; }
.dl-menu-texto { flex: 1; padding-right: 16px; }
.dl-menu-atalho { padding-right: 6px; }
.dl-menu-seta { font-size: 9px; }
.dl-menu-sep { height: 2px; margin: 3px 1px; border-top: 1px solid var(--sombra); border-bottom: 1px solid var(--luz); }

/* ---------- Tela ---------- */
.dl-form { position: relative; overflow: hidden; }
.dl { position: absolute; margin: 0; }
.dl[data-desabilitado], .dl:disabled { color: var(--cinza-texto); }
.dl-generico, .dl-container { overflow: hidden; }

.dl-panel { overflow: hidden; }
.dl-panel-caption { position: absolute; inset: 0; display: flex; align-items: center; padding: 0 4px; pointer-events: none; }
.dl-bevo-bvRaised { box-shadow: inset 1px 1px 0 var(--luz), inset -1px -1px 0 var(--sombra); }
.dl-bevo-bvLowered { box-shadow: inset 1px 1px 0 var(--sombra), inset -1px -1px 0 var(--luz); }
.dl-bevo-bvRaised.dl-bevi-bvLowered { box-shadow: inset 1px 1px 0 var(--luz), inset -1px -1px 0 var(--sombra), inset 2px 2px 0 var(--sombra), inset -2px -2px 0 var(--luz); }
.dl-bevo-bvLowered.dl-bevi-bvRaised { box-shadow: inset 1px 1px 0 var(--sombra), inset -1px -1px 0 var(--luz), inset 2px 2px 0 var(--luz), inset -2px -2px 0 var(--sombra); }

.dl-groupbox { border: 0; padding: 0; box-shadow: inset 1px 1px 0 var(--sombra), inset -1px -1px 0 var(--luz), inset 2px 2px 0 var(--luz), inset -2px -2px 0 var(--sombra); }
.dl-groupbox { border-top: 6px solid transparent; }
.dl-groupbox > legend { position: absolute; top: -13px; left: 8px; padding: 0 2px; background: inherit; background-color: var(--face); white-space: nowrap; }
.dl-radio { position: absolute; display: flex; align-items: center; gap: 2px; white-space: nowrap; }
.dl-radio input, .dl-check input { margin: 0; width: 13px; height: 13px; }

.dl-bevel { pointer-events: none; }
.dl-bevel-lowered.dl-bevel-bsBox, .dl-bevel-lowered.dl-bevel-bsFrame { box-shadow: inset 1px 1px 0 var(--sombra), inset -1px -1px 0 var(--luz); }
.dl-bevel-raised.dl-bevel-bsBox { box-shadow: inset 1px 1px 0 var(--luz), inset -1px -1px 0 var(--sombra); }
.dl-bevel-lowered.dl-bevel-bsFrame { box-shadow: inset 1px 1px 0 var(--sombra), inset -1px -1px 0 var(--luz), inset 2px 2px 0 var(--luz), inset -2px -2px 0 var(--sombra); }
.dl-bevel-bsTopLine { border-top: 1px solid var(--sombra); box-shadow: inset 0 1px 0 var(--luz); }
.dl-bevel-bsBottomLine { border-bottom: 1px solid var(--luz); box-shadow: inset 0 -2px 0 -1px var(--sombra); }
.dl-bevel-bsLeftLine { border-left: 1px solid var(--sombra); box-shadow: inset 1px 0 0 var(--luz); }
.dl-bevel-bsRightLine { border-right: 1px solid var(--luz); box-shadow: inset -2px 0 0 -1px var(--sombra); }
.dl-bevel-raised.dl-bevel-bsTopLine { border-top-color: var(--luz); box-shadow: inset 0 1px 0 var(--sombra); }

.dl-label { line-height: 13px; overflow: visible; }

.dl-button {
  display: flex; align-items: center; justify-content: center; padding: 0 2px; background: var(--face); color: inherit; font: inherit;
  border: 0; cursor: default; white-space: nowrap; overflow: hidden;
  box-shadow: inset -1px -1px 0 var(--sombra-escura), inset 1px 1px 0 var(--luz), inset -2px -2px 0 var(--sombra), inset 2px 2px 0 var(--luz-3d);
}
.dl-button:active:not(:disabled), .dl-button.dl-down {
  box-shadow: inset 1px 1px 0 var(--sombra-escura), inset -1px -1px 0 var(--luz), inset 2px 2px 0 var(--sombra);
  padding: 1px 1px 0 3px;
}
.dl-button[data-padrao] { outline: 1px solid #000; outline-offset: -1px; }
.dl-button.dl-flat { box-shadow: none; background: transparent; }
.dl-button.dl-flat:hover:not(:disabled) { box-shadow: inset 1px 1px 0 var(--luz), inset -1px -1px 0 var(--sombra); }
.dl-button:disabled { color: var(--cinza-texto); text-shadow: 1px 1px 0 var(--luz); }
.dl-button:disabled img { filter: grayscale(1) opacity(.5); }
.dl-button:focus-visible { outline: 1px dotted #000; outline-offset: -4px; }
.dl-button img { flex: none; image-rendering: pixelated; }
.dl-seta { font-style: normal; font-size: 8px; margin-left: 3px; }

.dl-edit, .dl-combo, .dl-memo, .dl-list, .dl-grid, .dl-image-db {
  background: var(--janela);
  box-shadow: inset 1px 1px 0 var(--sombra), inset -1px -1px 0 var(--luz), inset 2px 2px 0 var(--sombra-escura), inset -2px -2px 0 var(--luz-3d);
}
.dl-edit { display: flex; padding: 2px; }
.dl-edit input { flex: 1; min-width: 0; border: 0; outline: none; font: inherit; color: inherit; padding: 1px 1px; background: transparent; }
.dl-edit input[readonly] { cursor: default; }
.dl-edit-btn { width: 16px; flex: none; border: 0; padding: 0; font-size: 9px; background: var(--face); box-shadow: inset -1px -1px 0 var(--sombra-escura), inset 1px 1px 0 var(--luz); }
.dl-combo { padding: 2px; }
.dl-combo select { width: 100%; height: 100%; border: 0; font: inherit; background: transparent; outline: none; }
.dl-memo { padding: 2px; }
.dl-memo textarea, .dl-list select { width: 100%; height: 100%; border: 0; resize: none; font: inherit; outline: none; background: transparent; }
.dl-list { padding: 2px; }
.dl-check { display: flex; align-items: center; gap: 4px; white-space: nowrap; }

.dl-grid { overflow: auto; padding: 2px; }
.dl-grid table { border-collapse: collapse; table-layout: fixed; font: inherit; }
.dl-grid.dl-grid-auto table { width: 100%; }
.dl-grid th {
  position: sticky; top: 0; z-index: 1; height: 17px; padding: 0 3px; text-align: left; font-weight: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  background: var(--face); box-shadow: inset -1px -1px 0 var(--sombra), inset 1px 1px 0 var(--luz);
}
.dl-grid td { height: 17px; padding: 0 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-right: 1px solid #c0c0c0; border-bottom: 1px solid #c0c0c0; }
.dl-grid tr.dl-atual td { background: var(--destaque); color: var(--destaque-texto); }
.dl-grid td.dl-num { text-align: right; }

.dl-pagecontrol { display: flex; flex-direction: column; }
.dl-tabs { display: flex; height: 21px; padding: 2px 2px 0; flex: none; align-items: flex-end; }
.dl-tab {
  padding: 2px 6px 3px; margin-right: -2px; background: var(--face); white-space: nowrap; cursor: default; position: relative; top: 1px;
  border: 1px solid; border-color: var(--luz) var(--sombra-escura) transparent var(--luz); border-radius: 2px 2px 0 0;
}
.dl-tab-ativa { padding: 3px 7px 4px; margin: 0 -2px 0 -2px; z-index: 2; top: 1px; }
.dl-tabbody { position: relative; flex: 1; border: 1px solid; border-color: var(--luz) var(--sombra-escura) var(--sombra-escura) var(--luz); box-shadow: inset -1px -1px 0 var(--sombra); }
.dl-tabsheet { position: absolute; left: 3px; top: 3px; right: 3px; bottom: 3px; }

.dl-image { overflow: hidden; }
.dl-image img { width: 100%; height: 100%; display: block; }
.dl-statusbar { display: flex; gap: 2px; padding: 2px 0 0; background: var(--face); }
.dl-status-panel { padding: 1px 3px; white-space: nowrap; overflow: hidden; box-shadow: inset 1px 1px 0 var(--sombra), inset -1px -1px 0 var(--luz); }
.dl-progress { box-shadow: inset 1px 1px 0 var(--sombra), inset -1px -1px 0 var(--luz); padding: 2px; }
.dl-progress-bar { height: 100%; background: var(--destaque); }
.dl-navigator { display: flex; }
.dl-nav-btn { flex: 1; border: 0; font: inherit; font-size: 9px; background: var(--face); box-shadow: inset -1px -1px 0 var(--sombra-escura), inset 1px 1px 0 var(--luz); }
.dl-splitter { cursor: col-resize; }

/* ---------- Caixa de mensagem ---------- */
.dl-msg-corpo { display: flex; gap: 12px; padding: 14px 14px 10px; align-items: flex-start; max-width: 520px; }
.dl-msg-icone { width: 32px; height: 32px; flex: none; border-radius: 50%; color: #fff; font: bold 20px/32px Tahoma, sans-serif; text-align: center; }
.dl-msg-info { background: #2a5bd7; } .dl-msg-aviso { background: #e1b400; color: #000; border-radius: 3px; } .dl-msg-erro { background: #d22; } .dl-msg-pergunta { background: #2a5bd7; }
.dl-msg-texto { white-space: pre-wrap; padding-top: 2px; line-height: 14px; }
.dl-msg-botoes { display: flex; gap: 6px; justify-content: center; padding: 0 12px 10px; }
.dl-msg-botoes button { position: static; width: 75px; height: 23px; }
