.vellune-external {
  --vpe-blue: #06073a;
  --vpe-blue-soft: #1e2f62;
  --vpe-gold: #c8a96b;
  --vpe-cream: #f8f4ec;
  max-width: 1000px;
  margin: 36px auto;
  color: #253248;
  font-family: Montserrat, Arial, sans-serif;
}
.vpe-header {margin-bottom: 26px}
.vpe-header h1 {margin: 5px 0 10px; color: var(--vpe-blue); font-size: clamp(28px,4vw,42px); line-height: 1.15}
.vpe-header p {margin: 0; line-height: 1.6}
.vpe-kicker {color: #8a6c2e; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase}
.vpe-panel {margin: 18px 0; padding: 24px; border: 1px solid #dcd5c7; border-radius: 10px; background: var(--vpe-cream)}
.vpe-panel h2 {margin: 0 0 18px; color: var(--vpe-blue-soft); font-size: 22px}
.vpe-load-row {display: grid; grid-template-columns: minmax(220px,1fr) auto; align-items: end; gap: 12px}
.vpe-load-row label {grid-column: 1 / -1; color: #253248; font-size: 14px; font-weight: 650}
.vpe-load-row select {box-sizing: border-box; width: 100%; min-height: 44px; padding: 8px 11px; border: 1px solid #a7a9af; border-radius: 5px; background: #fff; color: #111; font: inherit}
#vpe-load {min-height: 44px; padding: 9px 18px; border: 0; border-radius: 6px; background: var(--vpe-gold); color: var(--vpe-blue); font: inherit; font-weight: 750; cursor: pointer}
#vpe-load:disabled {cursor: wait; opacity: .65}
.vpe-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px 20px}
.vpe-grid label {display: block; margin: 0; color: #253248; font-size: 14px; font-weight: 650}
.vpe-grid input:not([type=checkbox]) {box-sizing: border-box; width: 100%; min-height: 44px; margin-top: 7px; padding: 9px 11px; border: 1px solid #a7a9af; border-radius: 5px; background: #fff; color: #111; font: inherit}
.vpe-grid select {box-sizing: border-box; width: 100%; min-height: 44px; margin-top: 7px; padding: 9px 11px; border: 1px solid #a7a9af; border-radius: 5px; background: #fff; color: #111; font: inherit}
.vpe-grid input:focus {outline: 2px solid var(--vpe-gold); outline-offset: 1px; border-color: var(--vpe-gold)}
.vpe-grid select:focus,.vpe-load-row select:focus,#vpe-special-mode:focus,.vpe-special-field textarea:focus {outline:2px solid var(--vpe-gold); outline-offset:1px; border-color:var(--vpe-gold)}
.vellune-external .vpe-complete:not(:focus) {border-color:#2d66c3; box-shadow:0 0 0 2px rgba(45,102,195,.16); background-color:#f7faff}
.vpe-grid input[readonly] {border-color: #d3cec3; background: #f2eee6; color: #3d4655; cursor: default}
.vpe-span-2 {grid-column: span 2}
.vpe-number {display: flex; align-items: center; min-height: 44px; box-sizing: border-box; margin-top: 7px; overflow: hidden; border: 1px solid #a7a9af; border-radius: 5px; background: #fff}
.vpe-number #vpe-number-prefix {padding-left: 11px; white-space: nowrap; color: #253248; font-size: 14px; font-weight: 650}
.vpe-number #vpe-number {width: 68px; min-height: 42px; margin: 0; padding: 9px 7px 9px 3px; border: 0; border-radius: 0; outline: 0; box-shadow: none}
.vpe-total {margin: 22px 0 2px; color: var(--vpe-blue-soft); font-size: 18px}
.vpe-help,.vpe-footnote {color: #5b6270; font-size: 13px; line-height: 1.5}
.vpe-check {display: flex; align-items: flex-start; gap: 9px; margin-top: 18px; color: #253248; font-weight: 650}
.vpe-check input {margin-top: 3px}
#vpe-special-mode {box-sizing:border-box; width:100%; min-height:44px; margin-top:7px; padding:9px 11px; border:1px solid #a7a9af; border-radius:5px; background:#fff; color:#111; font:inherit}
.vpe-special-field {display:block; margin-top:14px; color:#253248; font-size:14px; font-weight:650}
.vpe-special-field[hidden] {display:none}
.vpe-special-field textarea {box-sizing:border-box; width:100%; margin-top:7px; padding:10px 11px; border:1px solid #a7a9af; border-radius:5px; background:#fff; color:#111; font:inherit; resize:vertical}
.vpe-actions {display: flex; align-items: center; flex-wrap: wrap; gap: 14px}
#vpe-generate {min-height: 46px; padding: 10px 20px; border: 0; border-radius: 6px; background: var(--vpe-blue-soft); color: #fff; font: inherit; font-weight: 700; cursor: pointer}
#vpe-generate:hover {background: var(--vpe-blue)}
#vpe-generate:disabled {cursor: wait; opacity: .65}
#vpe-status {font-size: 14px; font-weight: 600}
#vpe-status.vpe-status-warning {color:#9a5200}
.vellune-external-warning {max-width: 900px; margin: 28px auto; padding: 16px 18px; border-left: 4px solid #c52d2d; background: #fff3f3; color: #611}
.post-password-form {box-sizing:border-box; max-width:620px; margin:38px auto 55px; padding:28px 32px; border:1px solid #dcd5c7; border-radius:10px; background:#f8f4ec; color:#253248; font-family:Montserrat,Arial,sans-serif}
.post-password-form > p:first-child {margin:0 0 22px; line-height:1.6}
.post-password-form > p:last-child {display:flex; align-items:flex-end; gap:12px; margin:0}
.post-password-form label {display:flex; flex:1; flex-direction:column; gap:7px; margin:0; color:#253248; font-weight:650}
.post-password-form input[type=password] {box-sizing:border-box; width:100%; min-width:280px; min-height:46px; padding:9px 12px; border:1px solid #a7a9af; border-radius:6px; background:#fff; color:#111; font:inherit}
.post-password-form input[type=password]:focus {outline:2px solid #c8a96b; outline-offset:1px; border-color:#c8a96b}
.post-password-form input[type=submit] {box-sizing:border-box; min-width:92px; min-height:46px; padding:9px 20px; border:0; border-radius:23px; background:#c8a96b; color:#06073a !important; font:700 15px Montserrat,Arial,sans-serif; cursor:pointer}
.post-password-form input[type=submit]:hover {background:#d5ba80}
.vellune-history-item {display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid #dcd5c7; font-size: 13px}
.vellune-history-item button {min-width: 98px; padding: 8px; border: 1px solid #1e2f62; border-radius: 5px; background: white; color: #1e2f62; cursor: pointer}
@media(max-width:800px){.vpe-grid{grid-template-columns:1fr 1fr}.vpe-span-2{grid-column:span 2}}
@media(max-width:560px){.vellune-external{margin:24px 0}.vpe-panel{padding:18px}.vpe-load-row{grid-template-columns:1fr}.vpe-grid{grid-template-columns:1fr}.vpe-span-2{grid-column:auto}.vpe-number #vpe-number-prefix{font-size:12px}}
@media(max-width:560px){.post-password-form{margin:25px 16px 40px;padding:22px 18px}.post-password-form>p:last-child{align-items:stretch;flex-direction:column}.post-password-form input[type=password],.post-password-form input[type=submit]{width:100%;min-width:0}}
