:root{--navy: #1f3864;--navy-dark: #16294a;--ink: #1f2430;--grey: #64707d;--border: #d8dde3;--bg: #f4f6f9;--error: #b3261e;--radius: 10px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.page{min-height:100vh;display:flex;justify-content:center;padding:28px 16px}.card{background:#fff;border-radius:var(--radius);box-shadow:0 1px 3px #00000014;padding:28px 32px;width:100%;max-width:640px;height:fit-content}.card--wide{max-width:880px}.card--narrow{max-width:400px}.card--centered{text-align:center}h1{margin:0 0 6px;color:var(--navy);font-size:26px}.firm-logo{display:block;max-width:200px;width:100%;height:auto;margin:0 auto 18px}h2{color:var(--navy);font-size:16px;margin:0 0 2px;padding-bottom:6px;border-bottom:2px solid var(--navy)}section{margin-top:20px}.intro{color:var(--grey);line-height:1.45;font-size:14px;margin-bottom:4px}.field{margin-top:12px}.field-row{display:flex;gap:14px;flex-wrap:wrap}.field-row .field{flex:1;min-width:180px}.field-label{display:block;font-weight:600;font-size:13px;margin-bottom:4px}.field-hint{color:var(--grey);font-size:12px;margin:0 0 4px}input[type=text],input[type=email],input[type=password],input[type=date],input[type=tel],input[type=number],select,textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #1f38641f}.radio-group{display:flex;gap:16px;padding-top:6px}.radio-group label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:400}.checkbox-label{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.limited-company-fields{margin-top:12px;padding:12px 14px;background:var(--bg);border-radius:8px}.file-drop{display:flex;align-items:center;justify-content:center;text-align:center;border:2px dashed var(--border);border-radius:8px;padding:16px;cursor:pointer;color:var(--grey);font-size:13px;transition:border-color .15s}.file-drop:hover{border-color:var(--navy)}.file-drop--filled{border-style:solid;border-color:var(--navy);color:var(--ink);font-weight:600}.file-drop input[type=file]{display:none}.postcode-lookup{background:var(--bg);padding:10px 14px;border-radius:8px}.postcode-lookup__row{display:flex;gap:10px}.postcode-lookup__row input{flex:1;max-width:200px}.postcode-lookup__row button{padding:10px 16px;background:var(--navy);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.postcode-lookup__row button:disabled{opacity:.6;cursor:not-allowed}.postcode-lookup__results{width:100%;margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:15px;background:#fff}.field-error{color:var(--error);font-size:12px;margin-top:4px}.field-error--form{margin-top:16px;padding:10px 14px;background:#fdecea;border-radius:6px}.field-warning--form{margin-top:10px;padding:10px 14px;background:#fff4e5;color:#8a5300;border-radius:6px;font-size:13px}.field-success--form{margin-top:10px;padding:10px 14px;background:#e8f5e9;color:#1b5e20;border-radius:6px;font-size:13px}.input-with-button{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}.input-with-button input{flex:1;min-width:180px}.input-with-button .add-button{white-space:nowrap}.checkbox-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px}.checkbox-label--sub{font-weight:400;font-size:13px;margin-top:10px}input:disabled{background:var(--bg);color:var(--grey)}.submit-button{margin-top:22px;width:100%;padding:13px;background:var(--navy);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}.submit-button:hover:not(:disabled){background:var(--navy-dark)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.link-button{background:none;border:none;color:var(--navy);font-size:14px;cursor:pointer;text-decoration:underline;padding:0}.dashboard-header{display:flex;justify-content:space-between;align-items:center}.submissions-table{width:100%;border-collapse:collapse;margin-top:20px}.submissions-table th{text-align:left;font-size:13px;color:var(--grey);padding:8px 10px;border-bottom:2px solid var(--border)}.submissions-table td{padding:12px 10px;border-bottom:1px solid var(--border);font-size:15px}.submissions-table a{color:var(--navy);font-weight:600;text-decoration:none}.back-link{display:inline-block;margin-bottom:16px;color:var(--navy);text-decoration:none;font-size:14px}.detail-row{display:flex;padding:8px 0;border-bottom:1px solid var(--border);font-size:15px}.detail-label{width:220px;flex-shrink:0;color:var(--grey);font-weight:600}.detail-value{flex:1}.new-company-banner{display:block;margin:14px 0 4px;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--navy);font-weight:600;font-size:13px;text-decoration:none}.new-company-banner:hover{border-color:var(--navy)}.repeat-section-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:2px solid var(--navy);padding-bottom:6px;margin-bottom:2px}.repeat-section-header h2{border-bottom:none;padding-bottom:0;margin-bottom:0}.add-button{padding:6px 12px;background:#fff;border:1px solid var(--navy);color:var(--navy);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.add-button:hover{background:var(--navy);color:#fff}.remove-button{padding:4px 10px;background:none;border:1px solid var(--error);color:var(--error);border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.remove-button:hover{background:var(--error);color:#fff}.repeat-item{margin-top:14px;padding:14px 16px;background:var(--bg);border-radius:8px}.repeat-item+.repeat-item{margin-top:12px}.repeat-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 16px;margin-top:4px}.checkbox-label--grid{font-weight:400;font-size:13px}
