#keys_table a.keys-actions { color: #888; text-decoration: none; font-size: 120%; padding: 0; }

#keys_table a.keys-actions:hover, a.keys-actions:active { color: #c61a1a; text-decoration: none; cursor: pointer; font-size: 120%; }
#tags-list { -webkit-column-count: 3; -moz-column-count: 3; column-count: 3; }

.vault { background-image: url("/assets/plugin_assets/vault/locked-e170c1b8.png"); }

#vault_context_menu li.conext_menu { color: #888; text-decoration: none; font-size: 100%; padding: 0; cursor: pointer; }
#vault_context_menu a.conext_menu { color: #888; text-decoration: none; font-size: 100%; padding: 0; }

a.keys-links { color:#484848; text-decoration: none; }
a.keys-links:hover, a.keys-links:active { color: #c61a1a; text-decoration: none; cursor: pointer; }


.edit_vault_key .box label {
  padding-top: .45em;
}
.edit_vault_key .box input[type='text'],
.new_vault_key .box input[type='text'] {
	width: 420px;
	max-width: 100%;
	box-sizing: border-box;
	padding: .3em .4em;
	height: 30px;
}
.edit_vault_key .box select,
.new_vault_key .box select { padding: .25em .3em; }
/* monospace the password + login (often an IP) inputs for readability */
.edit_vault_key .box input#vault_key_body,
.new_vault_key .box input#vault_key_body,
.edit_vault_key .box input#vault_key_login,
.new_vault_key .box input#vault_key_login { font-family: monospace; }


/* ---- compact edit form: tighter vertical rhythm so it fits on one screen ---- */
.edit_vault_key .box.tabular p, .new_vault_key .box.tabular p { margin: 5px 0; }
.edit_vault_key .box label, .new_vault_key .box label { padding-top: .3em; }
.edit_vault_key .box input[type='text'], .new_vault_key .box input[type='text'] { height: 26px; }
.edit_vault_key textarea.wiki-edit, .new_vault_key textarea.wiki-edit { min-height: 56px; height: 56px; }
.edit_vault_key .vault-attachments, .new_vault_key .vault-attachments { margin: 4px 0; }
#vault_whitelist { margin-top: 6px; text-align: center; }

/* ---- two-column edit form ---- */
.vault-form-cols { display: flex; gap: 30px; align-items: flex-start; flex-wrap: wrap; }
.vault-form-col { min-width: 0; }
.vault-form-col-main { flex: 2 1 300px; }
.vault-form-col-aside { flex: 3 1 360px; }
/* narrower label gutter inside columns so fields get room */
.edit_vault_key .vault-form-col p, .new_vault_key .vault-form-col p { padding-left: 95px; }
.edit_vault_key .vault-form-col p label, .new_vault_key .vault-form-col p label { margin-left: -95px; width: 90px; }
.edit_vault_key .vault-form-col input[type='text'], .new_vault_key .vault-form-col input[type='text'],
.edit_vault_key .vault-form-col select, .new_vault_key .vault-form-col select,
.edit_vault_key .vault-form-col textarea, .new_vault_key .vault-form-col textarea { width: 100%; max-width: 100%; box-sizing: border-box; }
/* attachments block inside a column: match the narrower gutter */
.edit_vault_key .vault-form-col .vault-attachments, .new_vault_key .vault-form-col .vault-attachments { padding-left: 95px; }
.edit_vault_key .vault-form-col .vault-attachments .vault-attachments-label,
.new_vault_key .vault-form-col .vault-attachments .vault-attachments-label { margin-left: -95px; width: 90px; }
/* ---- access list: tidy gray card, width-constrained (dual select) ---- */
#vault_whitelist .vault-acl-head label { float: none; margin: 0 0 5px 0; width: auto; font-weight: bold; padding: 0; }
#vault_whitelist .vault-acl {
  display: inline-block; max-width: 100%;
  border: 1px solid #d6d9de; border-radius: 6px; background: #f6f7f9; padding: 10px;
}
#vault_whitelist .vault-acl table.whitelist_users { margin: 0; padding: 0; width: auto; }
#vault_whitelist .vault-acl td { padding: 0 8px; vertical-align: top; }
#vault_whitelist .vault-acl td.buttons { vertical-align: middle; text-align: center; padding: 0 6px; }
#vault_whitelist .vault-acl label { float: none; margin: 0 0 3px 0; width: auto; display: block; font-weight: normal; color: #555; }
#vault_whitelist .vault-acl select { width: 190px; min-width: 0; text-align: left; }

/* ---- list toolbar ---- */
.vault-toolbar { margin: 0 0 8px 0; }
.vault-toolbar .vault-search { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.vault-toolbar .vault-search-scope label { margin-right: 8px; font-weight: normal; white-space: nowrap; }
.vault-toolbar .vault-clear { margin-left: 4px; }
.vault-id { color: #999; font-size: 85%; font-weight: normal; }

/* ---- tidy list table: left-align text, center checkbox, right-align actions ---- */
#keys_table th, #keys_table td { text-align: left; vertical-align: middle; }
#keys_table th.checkbox, #keys_table td.checkbox { text-align: center; width: 1%; }
#keys_table td.buttons, #keys_table th:last-child { text-align: right; white-space: nowrap; }
#keys_table td.buttons .keys-actions, #keys_table td.key-password-column .keys-actions { margin-left: 8px; }
#keys_table td.key-password-column { white-space: nowrap; }

/* ---- list polish: monospace values, zebra + hover, widths, air ---- */
#keys_table label[id^="login_"],
#keys_table label[id^="url_"],
#keys_table a[id^="url_"],
#keys_table td.key-password-column label { font-family: monospace; font-size: 95%; }
#keys_table th, #keys_table td { padding: 7px 10px; border-color: #eee; }
#keys_table tbody tr.even { background: #fafbfc; }
#keys_table tbody tr:hover { background: #eef4fb; }
#keys_table th:nth-child(2) { width: 28%; }   /* Name */
#keys_table th:nth-child(3) { width: 32%; }   /* URL */
#keys_table td:nth-child(3) { white-space: normal; word-break: break-word; }  /* URL wraps */

/* ---- detail card ---- */
.vault-card .attributes { display: grid; grid-template-columns: max-content 1fr; gap: 4px 16px; }
.vault-card .attribute { display: contents; }
.vault-card .attribute .label { font-weight: bold; color: #555; padding-top: 2px; }
.vault-card .attribute .value { word-break: break-word; }
.vault-card .vault-pass-value label { font-family: monospace; }
.vault-tag-chip { display: inline-block; background: #eef; border: 1px solid #ccd; border-radius: 10px;
  padding: 0 8px; margin: 0 4px 4px 0; font-size: 85%; text-decoration: none; }
.vault-card-files, .vault-card-comment { margin-top: 12px; }
.vault-card-files ul { list-style: none; margin: 4px 0; padding: 0; }
.vault-card-files li { margin: 2px 0; }
.vault-att-comment { color: #777; }
.vault-pass-noaccess, .vault-pass-notfound { color: #999; }

/* ---- edit-form attachments: align under input column, keep Delete inside the box ---- */
.edit_vault_key .vault-attachments, .new_vault_key .vault-attachments { clear: left; padding-left: 180px; margin: 6px 0; }
.edit_vault_key .vault-attachments .vault-attachments-label, .new_vault_key .vault-attachments .vault-attachments-label { float: left; margin-left: -180px; width: 175px;
  font-weight: bold; padding-top: .45em; }
.vault-attachment-row, .vault-new-attachment { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 3px 0; }
.vault-attachment-del { white-space: nowrap; margin-left: 4px; }
#vault-add-attachment { display: inline-block; margin-top: 4px; }

/* ---- editor toolbar button ---- */
button.vault-jst-pass { background: transparent; border: none; cursor: pointer; padding: 2px 5px; color: #555; }
button.vault-jst-pass:hover { color: #c61a1a; }

/* ---- picker modal ---- */
#vault-picker-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(0,0,0,0.5); z-index: 10000; display: flex; justify-content: center; align-items: flex-start; }
.vault-picker-box { background: #fff; border-radius: 8px; margin-top: 10vh; padding: 14px; width: 420px;
  max-width: 90vw; box-shadow: 0 8px 30px rgba(0,0,0,0.4); }
.vault-picker-title { font-weight: bold; margin-bottom: 8px; }
.vault-picker-search { width: 100%; box-sizing: border-box; padding: .3em .4em; margin-bottom: 8px; }
.vault-picker-list { max-height: 50vh; overflow-y: auto; }
.vault-picker-item { display: block; padding: 5px 6px; text-decoration: none; color: #333; border-radius: 4px; }
.vault-picker-item:hover { background: #eef; }
.vault-picker-empty { color: #999; padding: 8px; }

/* {{pass}} card modal */
.vault-card-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.78); z-index: 10000;
}
.vault-card-modal {
  position: absolute; background: #fff; border-radius: 8px;
  padding: 14px 18px; width: 460px; max-width: 92vw; max-height: 80vh;
  display: flex; flex-direction: column;
  box-shadow: 0 12px 36px rgba(0,0,0,0.6);
}
.vault-card-modal .vault-card { box-shadow: none; border: none; padding: 0; }
.vault-card-close {
  position: absolute; top: 6px; right: 8px; width: 24px; height: 24px;
  line-height: 22px; text-align: center; font-size: 15px; color: #999;
  cursor: pointer; border-radius: 4px;
}
.vault-card-close:hover { color: #fff; background: #e74c3c; }
.vault-card-mtitle { margin: 0 26px 10px 0; }
.vault-card-mbody { overflow: auto; }
