:root{
	--dka-navy:#071a34;
	--dka-navy-2:#0b2448;
	--dka-blue:#1769ff;
	--dka-blue-2:#4b8cff;
	--dka-ink:#0d1b2f;
	--dka-muted:#66758a;
	--dka-line:#dfe6ef;
	--dka-soft:#f5f8fc;
	--dka-white:#fff;
	--dka-danger:#b42318;
	--dka-success:#087a55;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#fff}
body.dokku-auth-body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--dka-ink);-webkit-font-smoothing:antialiased}
button,input{font:inherit}
a{color:inherit}
.dka-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,42%) minmax(0,58%)}
.dka-brand-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:100vh;padding:44px clamp(34px,5vw,74px);background:
	radial-gradient(circle at 80% 12%,rgba(57,127,255,.38),transparent 30%),
	radial-gradient(circle at 10% 88%,rgba(34,95,216,.2),transparent 34%),
	linear-gradient(145deg,#06162e 0%,#0a2144 72%,#07182f 100%);color:#fff}
.dka-brand-panel:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 82%);pointer-events:none}
.dka-logo{position:relative;z-index:1;display:inline-flex;width:max-content}
.dka-logo img{display:block;width:auto;height:36px;object-fit:contain}
.dka-brand-copy{position:relative;z-index:1;margin:auto 0;max-width:610px}
.dka-eyebrow,.dka-kicker{margin:0 0 18px;font-size:11px;line-height:1.2;letter-spacing:.17em;font-weight:850;color:#9fc0ff}
.dka-brand-copy h2{margin:0 0 24px;font-size:clamp(44px,5vw,76px);line-height:.98;letter-spacing:-.055em;font-weight:820}
.dka-brand-copy>p{max-width:580px;margin:0;color:#c7d4e8;font-size:18px;line-height:1.7}
.dka-proof{display:grid;gap:12px;margin-top:34px;color:#e7eef8;font-size:14px}
.dka-proof span{display:flex;align-items:center;gap:10px}
.dka-proof span::first-letter{color:#72a7ff}
.dka-brand-foot{position:relative;z-index:1;margin:36px 0 0;color:#8297b7;font-size:12px}
.dka-main{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:56px clamp(24px,5vw,78px);background:#fbfcfe}
.dka-card{width:min(760px,100%)}
.dka-mobile-logo{display:none}
.dka-head{max-width:620px;margin:0 0 30px}
.dka-head h1{margin:0 0 12px;font-size:clamp(38px,4.3vw,58px);line-height:1.02;letter-spacing:-.052em;font-weight:820;color:#0a1c35}
.dka-head>p:last-child{margin:0;max-width:630px;color:var(--dka-muted);font-size:16px;line-height:1.65}
.dka-kicker{color:#1769ff}
.dka-form{display:grid;gap:18px}
.dka-plan-label{font-size:13px;font-weight:800;color:#31435d}
.dka-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:-7px}
.dka-plan{position:relative;display:flex;flex-direction:column;gap:8px;min-height:126px;padding:17px;border:1px solid var(--dka-line);border-radius:15px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.dka-plan:hover{transform:translateY(-1px);border-color:#b9c8dc}
.dka-plan input{position:absolute;opacity:0;pointer-events:none}
.dka-plan:has(input:checked){border-color:#1769ff;box-shadow:0 0 0 3px rgba(23,105,255,.1),0 12px 30px rgba(11,37,77,.08)}
.dka-plan-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dka-plan-top strong{font-size:14px}
.dka-plan-top em{font-style:normal;font-size:9px;letter-spacing:.08em;font-weight:850;color:#1769ff;background:#edf4ff;border-radius:999px;padding:5px 7px}
.dka-plan-regular{color:#7f8b9c;font-size:12px;text-decoration:line-through;text-decoration-thickness:1px}.dka-plan-price{font-size:21px;font-weight:850;letter-spacing:-.035em}
.dka-plan-price small{font-size:11px;font-weight:650;color:#7a889a;letter-spacing:0}
.dka-plan-meta{font-size:11px;color:#718097}
.dka-trial-note{border:1px solid #d8e5fb;background:#f3f7ff;border-radius:13px;padding:13px 15px;color:#49617f;font-size:13px;line-height:1.55}
.dka-trial-note strong{color:#15355f}
.dka-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.dka-span-2{grid-column:1/-1}
.dka-field{display:grid;gap:7px}
.dka-field>span{font-size:12px;font-weight:800;color:#33445c}
.dka-field input{width:100%;height:48px;border:1px solid var(--dka-line);border-radius:12px;background:#fff;padding:0 14px;color:#12233c;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.dka-field input:focus{border-color:#1769ff;box-shadow:0 0 0 3px rgba(23,105,255,.1)}
.dka-field input::placeholder{color:#9aa6b6}
.dka-check{display:flex;align-items:flex-start;gap:10px;color:#647286;font-size:12px;line-height:1.55;cursor:pointer}
.dka-check input{margin-top:2px;accent-color:#1769ff}
.dka-check-inline{align-items:center;font-size:13px}
.dka-check-inline input{margin-top:0}
.dka-btn{appearance:none;border:0;border-radius:12px;min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.dka-btn:hover{transform:translateY(-1px)}
.dka-btn-primary{background:linear-gradient(135deg,#1769ff,#0b58ea);color:#fff;box-shadow:0 10px 28px rgba(23,105,255,.2)}
.dka-btn-soft{background:#eef3f9;color:#173456}
.dka-btn-block{width:100%}
.dka-switch{margin:2px 0 0;text-align:center;color:#718097;font-size:13px}
.dka-switch a,.dka-text-link,.dka-login-row>a{color:#1769ff;text-decoration:none;font-weight:750}
.dka-login-row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}
.dka-alert{margin:0 0 20px;padding:13px 15px;border-radius:12px;font-size:13px;line-height:1.55}
.dka-alert-error{color:#8f241c;background:#fff2f0;border:1px solid #f4c7c2}
.dka-alert-success{color:#076548;background:#ecfbf4;border:1px solid #b9ead4}
.dka-success-state{padding:26px 0 4px}
.dka-success-state h2{margin:0 0 10px;font-size:30px;letter-spacing:-.035em}
.dka-success-state p{max-width:580px;color:#66758a;line-height:1.65}
.dka-success-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:18px;border-radius:50%;background:#e9f8f2;color:#087a55;font-size:24px;font-weight:900}
.dka-muted{font-size:13px!important}
.dka-resend{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;max-width:600px;margin:22px 0}
.dka-resend label{display:grid;gap:7px;font-size:12px;font-weight:750;color:#33445c}
.dka-resend input{height:46px;border:1px solid var(--dka-line);border-radius:11px;padding:0 13px;outline:none}
.dka-loader{width:42px;height:42px;border:4px solid #e3eaf3;border-top-color:#1769ff;border-radius:50%;animation:dka-spin .8s linear infinite;margin-bottom:18px}
@keyframes dka-spin{to{transform:rotate(360deg)}}
.dka-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:980px){
	.dka-page{grid-template-columns:1fr}
	.dka-brand-panel{display:none}
	.dka-main{padding:34px 20px 52px}
	.dka-card{width:min(720px,100%)}
	.dka-mobile-logo{display:inline-flex;margin-bottom:44px}
	.dka-mobile-logo img{height:34px;width:auto}
}
@media(max-width:650px){
	.dka-main{align-items:flex-start;padding:24px 16px 40px}
	.dka-mobile-logo{margin-bottom:34px}
	.dka-head{margin-bottom:25px}
	.dka-head h1{font-size:39px}
	.dka-plan-grid{grid-template-columns:1fr}
	.dka-plan{min-height:0}
	.dka-fields{grid-template-columns:1fr}
	.dka-span-2{grid-column:auto}
	.dka-login-row{align-items:flex-start}
	.dka-resend{grid-template-columns:1fr}
}


/* v0.5.6 manual payment selection */
.dka-payment-head{margin-bottom:24px}
.dka-payment-head .dka-success-icon{margin:0 0 16px}
.dka-payment-head p{font-size:16px;line-height:1.65;color:#536176;margin:0}
.dka-payment-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.dka-plan.is-payment{display:flex;flex-direction:column;cursor:default;padding:20px;min-height:260px}
.dka-plan.is-payment .dka-btn{margin-top:auto}
.dka-btn-disabled{background:#e9edf3!important;color:#8b95a7!important;cursor:not-allowed!important;border-color:#e0e5ec!important}
.dka-payment-note{margin-top:22px;padding:18px 20px;border:1px solid #e5eaf0;background:#f8fafc;border-radius:16px;color:#536176}
.dka-payment-note strong{display:block;color:#10223e;margin-bottom:5px}
.dka-payment-note p{margin:0;line-height:1.6}
@media(max-width:760px){.dka-payment-grid{grid-template-columns:1fr}.dka-plan.is-payment{min-height:0}}

/* 0.8.5: independently toggle every password field. */
.dka-password-wrap{position:relative;display:block;width:100%}
.dka-password-wrap input{padding-right:52px!important;width:100%}
.dka-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;padding:7px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#58677e;cursor:pointer}
.dka-password-toggle:hover{background:#edf2f8;color:#1769ff}
.dka-password-toggle:focus-visible{outline:2px solid #1769ff;outline-offset:2px}
.dka-password-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dka-password-toggle .dka-eye-slash{display:none}
.dka-password-toggle[aria-pressed="true"] .dka-eye-slash{display:block}
