:root{--navy:#003a63;--navy-dark:#002743;--gold:#c8a24a;--page:#eef2f6;--white:#fff;--text:#263442;--muted:#65727f;--border:#d5dee6;--error:#9b2525;--error-bg:#fff1f1;--valid:#25633f;--valid-bg:#edf8f0}*{box-sizing:border-box}body{min-height:100vh;margin:0;background:linear-gradient(180deg,var(--navy) 0,var(--navy) 230px,var(--page) 230px);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.55}.page{padding:38px 18px}.card{max-width:820px;margin:0 auto;overflow:hidden;background:var(--white);border-radius:8px;box-shadow:0 14px 42px rgba(0,25,45,.23)}.header{padding:30px 38px;border-bottom:5px solid var(--gold);background:var(--navy);color:#fff}.header h1{margin:4px 0 8px;font-size:31px}.header p{margin:0;color:#dbe7ef}.header .brand-logo{display:block;width:min(100%,300px);height:auto;margin:0 0 18px;padding:5px 7px;border-radius:2px;background:#fff}.content{padding:34px 38px 40px}.steps{display:grid;margin:0 0 30px;padding:0;grid-template-columns:repeat(3,1fr);gap:8px;list-style:none}.steps li{padding:9px;background:#edf2f5;border-radius:3px;color:var(--muted);font-size:13px;text-align:center}.steps .active{background:var(--navy);color:#fff;font-weight:700}h2{margin:0 0 14px;color:var(--navy);font-size:22px}.intro{margin-bottom:26px}.field{margin-bottom:20px}label{display:block;margin-bottom:6px;color:var(--navy);font-size:14px;font-weight:700}input,select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--text);font:inherit}input:focus,select:focus{border-color:var(--navy);outline:3px solid rgba(0,58,99,.14)}.field-error{margin:5px 0 0;color:var(--error);font-size:13px}.button{display:inline-flex;min-height:43px;padding:9px 18px;border:2px solid var(--navy);border-radius:4px;align-items:center;justify-content:center;background:var(--navy);color:#fff;cursor:pointer;font:inherit;font-weight:700;text-decoration:none}.button:hover,.button:focus{background:var(--navy-dark);border-color:var(--navy-dark)}.button.secondary{background:#fff;color:var(--navy)}.actions{display:flex;margin-top:26px;gap:10px}.details{margin:22px 0 28px;border:1px solid var(--border);border-radius:5px}.details div{display:grid;grid-template-columns:240px minmax(0,1fr);border-bottom:1px solid var(--border)}.details div:last-child{border-bottom:0}.details dt,.details dd{margin:0;padding:13px 16px}.details dt{color:var(--navy);font-weight:700}.details dd{overflow-wrap:anywhere;background:#f7f9fb}.message,.result-status{margin:0 0 24px;padding:15px 17px;border-left:5px solid;border-radius:3px}.message.error,.result-status.invalid{background:var(--error-bg);border-color:var(--error);color:#741c1c}.result-status.valid{background:var(--valid-bg);border-color:var(--valid);color:#184b30}.result-status h2{margin:0;color:inherit}.trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}footer{padding:20px 38px;background:#f7f9fb;border-top:1px solid var(--border);color:var(--muted);font-size:13px;text-align:center}@media(max-width:620px){body{background:var(--page)}.page{padding:0}.card{border-radius:0;box-shadow:none}.header,.content{padding:26px 20px}.header .brand-logo{width:min(100%,280px)}.steps{gap:4px}.steps li{padding:8px 3px;font-size:11px}.details div{display:block}.details dt{padding-bottom:4px}.details dd{padding-top:4px;background:#fff}.actions{align-items:stretch;flex-direction:column}.actions form,.actions .button,.actions button{width:100%}footer{padding:20px}}

/* Company identity: colours sampled from head_logo.png. */
:root {
    --brand-green: #009e3f;
    --brand-green-dark: #007a30;
    --brand-black: #111513;
    --page: #f1f4f2;
    --text: #222725;
    --muted: #66706b;
    --border: #d4ddd8;
    --valid: var(--brand-green-dark);
    --valid-bg: #edf8f1;
}

body {
    background: linear-gradient(
        180deg,
        var(--brand-black) 0,
        var(--brand-black) 160px,
        var(--brand-green) 160px,
        var(--brand-green) 230px,
        var(--page) 230px
    );
}

.card {
    border-top: 5px solid var(--brand-green);
    box-shadow: 0 14px 42px rgba(10, 24, 16, .22);
}

.header {
    border-bottom: 1px solid var(--border);
    background: #fff;
    color: var(--brand-black);
}

.header .brand-logo {
    width: min(100%, 330px);
    padding: 0;
    background: transparent;
}

.header h1,
h2,
label,
.details dt {
    color: var(--brand-black);
}

.header p {
    color: var(--muted);
}

.steps li {
    background: #edf3ef;
}

.steps .active,
.button {
    border-color: var(--brand-green);
    background: var(--brand-green);
    color: #fff;
}

.button:hover,
.button:focus {
    border-color: var(--brand-green-dark);
    background: var(--brand-green-dark);
}

.button.secondary {
    border-color: var(--brand-black);
    background: #fff;
    color: var(--brand-black);
}

input:focus,
select:focus {
    border-color: var(--brand-green);
    outline-color: rgba(0, 158, 63, .17);
}

.details dd,
footer {
    background: #f7f9f8;
}

@media (max-width: 620px) {
    body {
        background: var(--page);
    }

    .header .brand-logo {
        width: min(100%, 300px);
    }
}
