*{box-sizing:border-box}
:root{--dcu-blue:#094569;--dcu-sky:#6EC6E8;--dcu-green:#8DC63F;--dcu-orange:#F39200;--dcu-bg:#F5F7FA;--dcu-text:#102033;--dcu-muted:#667085}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif;background:var(--dcu-bg);color:var(--dcu-text)}
.app-shell{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:34px 18px}
.app-card{width:100%;max-width:1040px;background:#fff;border-radius:16px;padding:28px;box-shadow:0 6px 24px rgba(16,32,51,.08);border:1px solid #e5edf3}
.app-header{display:flex;align-items:center;gap:14px;margin-bottom:4px}
.app-logo{width:64px;height:64px;object-fit:contain;flex:0 0 auto;background:#fff;border-radius:10px}
.app-title-block{min-width:0}.eyebrow{margin:0;color:var(--dcu-blue);font-weight:850;font-size:18px;line-height:1.08;letter-spacing:-.02em;text-transform:none}
.app-header h1{margin:6px 0 4px;font-size:32px;letter-spacing:-.03em;line-height:1.1;color:var(--dcu-text)}
.subtext{margin:0 0 18px;color:var(--dcu-muted)}
.progress{height:11px;background:#e8eef4;border-radius:999px;overflow:hidden;margin:16px 0 24px}
.progress-bar{height:100%;background:linear-gradient(90deg,var(--dcu-sky) 0%,var(--dcu-sky) 33%,var(--dcu-orange) 33%,var(--dcu-orange) 66%,var(--dcu-green) 66%,var(--dcu-green) 100%);border-radius:999px}
.intro{margin:0 0 24px;color:#425466}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.field{display:flex;flex-direction:column}.field.full{grid-column:1/-1}label{font-weight:800;margin-bottom:8px;color:#18344e}
input,select,.textarea,textarea{width:100%;padding:13px 14px;border:1px solid #cdd9e5;border-radius:12px;background:#fff;font-size:15px;outline:none}
input:focus,select:focus,.textarea:focus,textarea:focus{border-color:var(--dcu-blue);box-shadow:0 0 0 4px rgba(9,69,105,.12)}
.textarea,textarea{resize:vertical;min-height:130px}.hint{margin-top:6px;color:#657786;font-size:13px;line-height:1.35}.hint-inline{font-weight:400;color:#657786;font-size:13px}.error{margin-top:6px;color:#b42318}
.alert{padding:14px 16px;border-radius:12px;margin-bottom:20px}.alert.success{background:#ecfdf3;color:#067647}.alert.errorbox{background:#fef3f2;color:#b42318}
.actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:12px;margin-top:10px}.btn-primary,.btn-secondary{text-decoration:none;border:0;padding:13px 18px;border-radius:12px;font-size:15px;font-weight:800;cursor:pointer}
.btn-primary{background:var(--dcu-blue);color:#fff}.btn-secondary{background:#eef3f8;color:var(--dcu-blue)}
.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check-item{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #d7e2ec;border-radius:12px;background:#fbfdff;font-weight:400}.check-item input{width:auto;margin-top:3px}
.summary{background:#fbfdff;border:1px solid #d9e4ee;border-radius:14px;padding:18px}
@media (max-width:760px){.form-grid{grid-template-columns:1fr}.checks{grid-template-columns:1fr}.app-card{padding:20px}.app-logo{width:52px;height:52px}.eyebrow{font-size:15px}.app-header h1{font-size:26px}.actions{flex-direction:column-reverse;align-items:stretch}.btn-primary,.btn-secondary{text-align:center;width:100%}}
