.application-dialog { box-sizing: border-box; width: min(680px, calc(100% - 24px)); max-width: none; max-height: 90vh; max-height: 90dvh; margin: auto; padding: 0; overflow: auto; overscroll-behavior: contain; color: #e7eaf0; background: #0a1422; border: 1px solid #293648; border-radius: 10px; box-shadow: 0 24px 100px #0009; color-scheme: dark; }
.application-dialog::backdrop { background: #020617cc; backdrop-filter: blur(5px); }
.application-header { position: sticky; inset: 0 0 auto; z-index: 1; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 12px; padding: 18px 22px; background: #0a1422; border-bottom: 1px solid #263244; }
.application-header h2 { margin: 0; font-family: 'DDD Plain Ampersand', 'Playfair Display', serif; font-size: 1.35rem; line-height: 1.3; text-transform: none; }
.application-role { grid-column: 1; color: #bba583; font-size: .82rem; line-height: 1.45; margin: 0; overflow-wrap: anywhere; }
.application-close { grid-column: 2; grid-row: 1 / 3; width: 44px; height: 44px; border: 0; border-radius: 4px; background: transparent; color: #d0d6df; font-size: 28px; cursor: pointer; }
.application-form { padding: 20px 22px; color: #c9d0db; text-align: left; color-scheme: dark; }
.application-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.application-grid label { display: block; min-width: 0; font-size: .82rem; line-height: 1.45; }
.application-form input:not([type=checkbox]):not([type=radio]), .application-form textarea { display: block; box-sizing: border-box; width: 100%; min-width: 0; margin-top: 6px; padding: 10px 11px; min-height: 44px; border: 1px solid #293648; border-radius: 4px; background: #060e1b; color: #f1f3f7; font: 16px 'Barlow', sans-serif; }
.application-form input[readonly] { color: #c7b18e; }
.application-form textarea { resize: vertical; }
.application-wide { grid-column: 1 / -1; }
.application-consent { display: flex; align-items: flex-start; gap: 10px; margin-top: 16px; font-size: .8rem; line-height: 1.55; }
.application-consent input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 2px; accent-color: #bba583; }
.application-form a { color: #cbb593; text-decoration: underline; overflow-wrap: anywhere; }
.application-notice { color: #a9b4c4; margin: 14px 0; font-size: .78rem; line-height: 1.55; }
.application-submit { display: block; width: 100%; min-height: 46px; padding: 10px; border: 1px solid #c0aa87; border-radius: 4px; background: #b39a76; color: #08111e; font: 700 .85rem 'Barlow', sans-serif; letter-spacing: .06em; cursor: pointer; }
.application-submit:hover { background: #d0b793; }
.application-email { display: block; text-align: center; margin-top: 12px; font-size: .82rem; }
.application-form :focus-visible, .application-close:focus-visible { outline: 2px solid #e6cfaa; outline-offset: 3px; }
.application-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[data-application-form] { max-width: 680px; margin: 0 auto 26px; background: #0a1422; border: 1px solid #293648; border-radius: 8px; }
@media (max-width: 480px) { .application-header { padding: 14px; } .application-form { padding: 16px 14px; } .application-grid { gap: 12px 10px; } .application-header h2 { font-size: 1.15rem; } }
.application-sensitive { min-width: 0; border: 1px solid #293648; border-radius: 5px; padding: 12px; margin: 0; }
.application-sensitive legend, .application-gender legend { font-size: .82rem; color: #cbb593; padding: 0 5px; }
.application-sensitive .application-notice { margin: 3px 0 12px; }
.application-gender { border: 0; padding: 0; margin: 0; min-width: 0; }
.application-gender label { display: inline-flex; align-items: center; gap: 6px; margin: 6px 14px 0 0; min-height: 32px; }
.application-gender input { accent-color: #bba583; }
.application-form input:disabled { opacity: .65; cursor: not-allowed; }
.application-form input[type=file] { padding: 7px; font-size: 12px; }
.application-form input::file-selector-button { display: block; max-width: 100%; margin-bottom: 5px; padding: 6px; background: #263244; color: #e7eaf0; border: 0; border-radius: 3px; }
.application-submit:disabled { opacity: .6; cursor: not-allowed; }
.application-status { font-size: .82rem; line-height: 1.5; color: #e1c79f; }
.application-honey { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 359px) { .application-grid { grid-template-columns: minmax(0, 1fr); } }
