@charset "UTF-8";

.reporting-standalone-header {position: fixed; top: 0; left: 0; z-index: 100; width: 100%; background: #fff; border-bottom: 1px solid #e5e7eb; box-shadow: 0 4px 16px rgba(15, 23, 42, .04);}
.reporting-standalone-header .container {display: flex; align-items: center; justify-content: space-between; min-height: 88px;}
.reporting-standalone-header .reporting-brand-link {display: flex; align-items: center; gap: 14px; color: #111827;}
.reporting-standalone-header img {display: block; width: auto; height: 42px;}
.reporting-standalone-header .reporting-brand-text {display: flex; flex-direction: column; line-height: 1.2;}
.reporting-standalone-header .reporting-brand-text strong {font-size: 1rem; font-weight: 700; color: #2269b3;}
.reporting-standalone-header .reporting-brand-text span {font-size: 1rem; font-weight: 700; color: #1f2937;}
.reporting-standalone-header .reporting-brand-text em {font-size: .77rem; font-style: normal; color: #6b7280;}
.reporting-standalone-header .reporting-language-nav {display: flex; align-items: center; gap: 8px; font-size: .98rem; font-weight: 600;}
.reporting-standalone-header .reporting-language-nav a {color: #6b7280;}
.reporting-standalone-header .reporting-language-nav a.active {color: #2269b3;}
.reporting-standalone-header .reporting-language-nav span {color: #9ca3af;}

.reporting-shell .sub-wrapper {align-items: flex-start;}
.reporting-shell .sub-container {width: 100%;}
.reporting-page .page-desc {margin-top: 10px; color: #5f6472; line-height: 1.6;}
.reporting-page .page-actions {margin-top: 18px;}
.reporting-page .reporting-alert {display: flex; flex-direction: column; gap: 4px; margin-bottom: 20px; padding: 18px 20px; border-radius: 16px; font-weight: 500;}
.reporting-page .reporting-alert.success {background: #e9f7ef; color: #21653c;}
.reporting-page .reporting-alert.error {background: #fff1f1; color: #b42318;}
.reporting-page .reporting-grid {display: block;}
.reporting-page .reporting-main {display: flex; flex-direction: column; gap: 24px;}
.reporting-page .reporting-side {display: none;}
.reporting-page .reporting-card {padding: 30px; background: #fff; border-radius: 24px; box-shadow: 0 18px 45px rgba(16, 24, 40, .06);}
.reporting-page .reporting-guide-card {overflow: hidden; margin-bottom: 30px;}
.reporting-page .reporting-guide-visual {border-radius: 20px; overflow: hidden; border: 1px solid #dbe3ee; background: #f8fafc;}
.reporting-page .reporting-guide-visual img {display: block; width: 100%; height: auto;}
.reporting-page .btn {
	border-radius: 14px;
	font-weight: 700;
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
}
.reporting-page .btn:hover {transform: translateY(-1px);}
.reporting-page .btn:active {transform: translateY(1px);}
.reporting-page .btn.btn-primary {
	border-color: #2f6ff6;
	background: linear-gradient(180deg, #5a8cff 0%, #2f6ff6 100%);
	box-shadow: 0 10px 20px rgba(47, 111, 246, .22), inset 0 1px 0 rgba(255, 255, 255, .24);
}
.reporting-page .btn.btn-primary:hover {
	border-color: #245fe0;
	background: linear-gradient(180deg, #6b97ff 0%, #376ff1 100%);
	box-shadow: 0 14px 24px rgba(47, 111, 246, .26), inset 0 1px 0 rgba(255, 255, 255, .28);
}
.reporting-page .btn.btn-outline-primary,
.reporting-page .btn.btn-outline-secondary {
	background: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%);
	box-shadow: 0 6px 14px rgba(15, 23, 42, .08), inset 0 1px 0 rgba(255, 255, 255, .9);
}
.reporting-page .btn.btn-outline-primary {color: #2f6ff6;}
.reporting-page .btn.btn-outline-secondary {color: #475467;}
.reporting-page .btn.btn-outline-primary:hover,
.reporting-page .btn.btn-outline-secondary:hover {
	border-color: #b8c5d9;
	color: inherit;
	box-shadow: 0 10px 18px rgba(15, 23, 42, .12), inset 0 1px 0 rgba(255, 255, 255, .95);
}
.reporting-page .btn.btn-outline-primary:hover {color: #2f6ff6;}
.reporting-page .btn.btn-outline-secondary:hover {color: #475467;}
.reporting-page .reporting-section-title {margin-bottom: 24px; padding-bottom: 14px; border-bottom: 1px solid #e6e8ec;}
.reporting-page .reporting-section-title strong {font-size: 1.25rem; font-weight: 700; color: #1f2937;}
.reporting-page .reporting-form-note {margin-top: 10px; color: #667085; font-size: .95rem; line-height: 1.6;}
.reporting-page .reporting-field-grid {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; margin-bottom: 8px;}
.reporting-page .reporting-field-grid .form-group {display: block; padding: 22px 24px; border: 1px solid #e4e9f1; border-radius: 18px; background: linear-gradient(180deg, #fcfdff 0%, #f7f9fc 100%);}
.reporting-page .reporting-field-grid .form-title {margin-bottom: 6px; font-size: .95rem;}
.reporting-page .reporting-field-grid .compact-field {display: flex; flex-direction: column; justify-content: flex-start;}
.reporting-page .reporting-field-grid .compact-field .form-title {display: inline-flex; align-items: center; min-height: 24px; margin-bottom: 6px; line-height: 1.4;}
.reporting-page .reporting-field-grid .compact-field .form-box {min-height: 52px; justify-content: flex-start;}
.reporting-page .reporting-field-grid .compact-field .form-box > .form-control,
.reporting-page .reporting-field-grid .compact-field .form-box > .form-select {width: 100%;}
.reporting-page .reporting-field-grid .span-2 {grid-column: 1 / -1;}
.reporting-page .form-group {display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 18px; padding: 16px 0; border-bottom: 1px solid #f0f2f5;}
.reporting-page .form-group.align-start {align-items: start;}
.reporting-page .form-title {display: flex; align-items: center; font-weight: 700; color: #344054;}
.reporting-page .form-box {display: flex; flex-direction: column; gap: 10px;}
.reporting-page .form-desc {margin: 0; color: #667085; font-size: .92rem;}
.reporting-page .char-count {margin: -2px 0 0; text-align: right; color: #667085; font-size: .85rem; line-height: 1.4;}
.reporting-page .char-count.limit-near {color: #b54708; font-weight: 600;}
.reporting-page .char-count.limit-reached {color: #d92d20; font-weight: 700;}
.reporting-page .wide-field {grid-template-columns: 1fr; gap: 12px; padding: 22px 24px; margin-top: 8px; border: 1px solid #e4e9f1; border-radius: 18px; background: linear-gradient(180deg, #fcfdff 0%, #f7f9fc 100%);}
.reporting-page .wide-field .form-title {display: inline-flex; align-items: center; min-height: 24px; margin-bottom: 0; font-size: .95rem; line-height: 1.4;}
.reporting-page .reporting-card input.form-control,
.reporting-page .reporting-card select.form-select {height: 52px; padding: 0 16px; font-size: 1rem; line-height: 1.4; box-sizing: border-box;}
.reporting-page .reporting-card textarea.form-control {padding: 14px 16px; line-height: 1.6;}
.reporting-page .form-group.field-error-group {border-color: #f2b8b5; background: linear-gradient(180deg, #fffdfd 0%, #fff7f7 100%);}
.reporting-page .reporting-card .form-control.field-error,
.reporting-page .reporting-card .form-select.field-error,
.reporting-page .reporting-card .radio-row.field-error,
.reporting-page .file-upload-panel.field-error,
.reporting-page .agree-box.field-error {border-color: #d92d20; box-shadow: 0 0 0 3px rgba(217, 45, 32, .12);}
.reporting-page .field-error-message {margin: 2px 0 0; color: #d92d20; font-size: .92rem; font-weight: 600; line-height: 1.45;}
.reporting-page .radio-row {display: flex; flex-direction: row; gap: 20px; align-items: center;}
.reporting-page .reporting-field-grid .radio-row {min-height: 52px; padding: 0 16px; gap: 24px; border: 1px solid #d0d5dd; border-radius: 12px; background: #fff;}
.reporting-page .radio-row .form-check-label {display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 500; color: #344054;}
.reporting-page .form-check-input {margin: 0;}
.reporting-page .offline-help,
.reporting-page .offline-only {display: none;}
.reporting-page .file-upload-panel {padding: 24px; border: 1px dashed #cfd4dc; border-radius: 18px; background: #f8fafc;}
.reporting-page .upload-guide {margin: 12px 0 0; color: #667085; font-size: .92rem; line-height: 1.5;}
.reporting-page .upload-capacity {font-weight: 600; color: #194185;}
.reporting-page .selected-file-list {margin-top: 14px;}
.reporting-page .selected-file-list li {display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid #e5e7eb;}
.reporting-page .selected-file-list li:first-child {border-top: 0; padding-top: 0;}
.reporting-page .selected-file-list li.empty {justify-content: flex-start; color: #98a2b3;}
.reporting-page .selected-file-list .file-name {color: #1f2937; word-break: break-all;}
.reporting-page .selected-file-list .file-delete {color: #d92d20; font-weight: 600;}
.reporting-page .reporting-inline-help {margin-top: 18px; padding: 18px 22px; border-radius: 18px; background: #edf4ff; border: 1px solid #d9e7ff; color: #315382;}
.reporting-page .reporting-inline-help strong {display: flex; align-items: center; gap: 8px; font-size: .96rem; color: #315382;}
.reporting-page .reporting-inline-help .help-summary {margin-top: 10px;}
.reporting-page .reporting-inline-help .help-summary li {position: relative; padding-left: 14px; color: #46617f; font-size: .89rem; line-height: 1.52;}
.reporting-page .reporting-inline-help .help-summary li + li {margin-top: 4px;}
.reporting-page .reporting-inline-help .help-summary li::before {content: ""; position: absolute; left: 0; top: 10px; width: 5px; height: 5px; border-radius: 50%; background: #0d67c4;}
.reporting-page .agree-check {display: flex; gap: 10px; align-items: flex-start; font-weight: 600; color: #1f2937;}
.reporting-page .terms-card .reporting-section-title {margin-bottom: 18px;}
.reporting-page .terms-placeholder {margin-top: 0; min-height: 190px; padding: 24px; border-radius: 18px; background: #f8fafc; border: 1px solid #d8dee8;}
.reporting-page .terms-placeholder strong {display: block; font-size: 1.05rem; color: #194185;}
.reporting-page .terms-placeholder p {margin-top: 8px; color: #475467; font-size: .92rem; line-height: 1.58;}
.reporting-page .terms-placeholder p:first-child {margin-top: 0;}
.reporting-page .terms-placeholder .terms-heading {margin-top: 16px; font-weight: 700; color: #111827;}
.reporting-page .terms-placeholder .terms-list {margin-top: 8px;}
.reporting-page .terms-placeholder .terms-list li {position: relative; padding-left: 12px; margin-top: 6px; color: #475467; font-size: .92rem; line-height: 1.58;}
.reporting-page .terms-placeholder .terms-list li::before {content: "-"; position: absolute; left: 0; top: 0; color: #475467;}
.reporting-page .agree-box {margin-top: 16px; padding: 18px 20px; border: 1px solid #d8dee8; border-radius: 14px; background: #f8fafc; font-size: 1.05rem; font-weight: 600;}
.reporting-page .agree-box input {margin-top: 3px;}
.reporting-page .captcha-panel {display: flex; flex-direction: column; gap: 14px; margin-top: 24px; padding-top: 20px; border-top: 1px solid #e6e8ec;}
.reporting-page .captcha-row {display: flex; gap: 10px; align-items: center;}
.reporting-page .captcha-image-row {justify-content: flex-start; flex-wrap: nowrap;}
.reporting-page .captcha-input-row {justify-content: flex-start; flex-wrap: nowrap;}
.reporting-page .captcha-row img {width: 240px; height: 64px; border-radius: 14px; border: 1px solid #d0d5dd; background: #fff;}
.reporting-page .captcha-row .btn {height: 44px;}
.reporting-page #fileSelectButton,
.reporting-page #captchaCheckButton,
.reporting-page #reloadCaptcha {min-width: 96px;}
.reporting-page .captcha-input-row .form-control {width: 240px; min-width: 240px; flex: 0 0 240px;}
.reporting-page .captcha-input-row .form-control.captcha-error {border-color: #d92d20; box-shadow: 0 0 0 3px rgba(217, 45, 32, .12);}
.reporting-page #reloadCaptcha {min-width: 92px; white-space: nowrap; flex-shrink: 0;}
.reporting-page .captcha-message {min-height: 24px; margin: 0; color: #667085; font-size: .92rem;}
.reporting-page .captcha-message.text-danger {font-weight: 600;}
.reporting-page .submit-card {padding-top: 6px; text-align: center;}
.reporting-page .action-card {text-align: center;}
.reporting-page .submit-button {display: inline-flex; align-items: center; justify-content: center; width: 370px; max-width: 100%; height: 68px; padding: 0 24px; border-radius: 18px; font-size: 1.9rem; line-height: 1; font-weight: 700;}
.reporting-page .upload-status {display: none; margin-top: 16px; padding: 14px; border-radius: 14px; background: #f8fafc; border: 1px solid #dde3ea;}
.reporting-page .upload-status.active {display: block;}
.reporting-page .upload-status-text {margin: 10px 0 0; color: #475467; font-size: .92rem; line-height: 1.5;}
.reporting-page .upload-progress {width: 100%; height: 10px; overflow: hidden; border-radius: 999px; background: #e5e7eb;}
.reporting-page .upload-progress-bar {width: 0; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #0d67c4 0%, #39a0ff 100%); transition: width .2s ease;}
.reporting-page .upload-progress-bar.indeterminate {width: 35%; animation: reporting-progress 1.2s infinite ease-in-out;}

@keyframes reporting-progress {
	0% {transform: translateX(-120%);}
	100% {transform: translateX(320%);}
}

@media (max-width: 768px) {
	.reporting-standalone-header .container {min-height: 76px;}
	.reporting-standalone-header .reporting-brand-link {gap: 10px;}
	.reporting-standalone-header img {height: 34px;}
	.reporting-standalone-header .reporting-brand-text span {font-size: .9rem;}
	.reporting-standalone-header .reporting-brand-text em {font-size: .68rem;}
	.reporting-standalone-header .reporting-language-nav {font-size: .85rem;}
	.reporting-page .reporting-card {padding: 22px;}
	.reporting-page .reporting-guide-visual {border-radius: 16px;}
	.reporting-page .reporting-guide-card {margin-bottom: 24px;}
	.reporting-page .btn:hover,
	.reporting-page .btn:active {transform: none;}
	.reporting-page .reporting-field-grid {grid-template-columns: 1fr; gap: 16px;}
	.reporting-page .reporting-field-grid .span-2 {grid-column: auto;}
	.reporting-page .reporting-field-grid .form-group {padding: 18px;}
	.reporting-page .reporting-field-grid .compact-field .form-title {min-height: 0; margin-bottom: 6px;}
	.reporting-page .reporting-field-grid .radio-row {padding: 12px 16px; min-height: 52px;}
	.reporting-page .form-group {grid-template-columns: 1fr; gap: 10px;}
	.reporting-page .wide-field {padding: 18px; margin-top: 0;}
	.reporting-page .radio-row {flex-wrap: wrap;}
	.reporting-page .reporting-inline-help {padding: 16px 18px;}
	.reporting-page .agree-box {padding: 14px 16px; font-size: .98rem;}
	.reporting-page .captcha-row {flex-direction: column; align-items: stretch;}
	.reporting-page .captcha-row img {width: 100%; max-width: 240px;}
	.reporting-page .captcha-image-row,
	.reporting-page .captcha-input-row {flex-wrap: wrap;}
	.reporting-page .captcha-input-row .form-control {width: 100%; min-width: 0; flex: 1 1 auto;}
	.reporting-page .submit-button {height: 56px; font-size: 1.4rem;}
}
