 .page-title {
     margin: 18px 0 16px;
     text-align: center;
     font-size: 24px;
     letter-spacing: -0.02em;
 }

 .panel {
     background: var(--card);
     border: 1px solid var(--border);
     border-radius: 16px;
     box-shadow: var(--shadow);
     padding: 18px;
 }

 .panel-header {
     margin-bottom: 14px;
 }

 .panel-title {
     margin: 0;
     font-size: 16px;
     font-weight: 700;
 }

 .grid-2 {
     display: grid;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     gap: 14px 16px;
 }

 .field {
     display: flex;
     flex-direction: column;
     gap: 6px;
 }

 .label {
     font-size: 13px;
     font-weight: 600;
 }

 .req {
     color: #dc2626;
     margin-left: 2px;
 }

 .input,
 .textarea {
     width: 100%;
     border: 1px solid var(--border);
     border-radius: 10px;
     padding: 10px 12px;
     outline: none;
     background: #fff;
 }

 .textarea {
     resize: vertical;
 }

 .input:focus,
 .textarea:focus {
     border-color: rgba(29, 78, 216, 0.6);
     box-shadow: 0 0 0 4px rgba(29, 78, 216, 0.12);
 }

 .input.is-invalid,
 .textarea.is-invalid {
     border-color: rgba(185, 28, 28, 0.7);
     box-shadow: 0 0 0 4px rgba(185, 28, 28, 0.12);
 }

 .error {
     min-height: 18px;
     font-size: 12px;
     color: #b91c1c;
 }

 .hint {
     font-size: 12px;
     color: var(--muted);
 }

 .section-title {
     margin: 18px 0 10px;
     font-size: 16px;
     font-weight: 700;
 }

 .actions {
     display: flex;
     justify-content: flex-end;
     gap: 10px;
     margin-top: 14px;
 }

 .btn {
     border-radius: 10px;
     padding: 10px 16px;
     border: 1px solid var(--border);
     cursor: pointer;
     font-weight: 700;
 }

 .btn-primary {
     background: #0ea5e9;
     border-color: #0ea5e9;
     color: #fff;
 }

 .btn-secondary {
     background: #fff;
     color: var(--text);
 }

 .btn:disabled {
     opacity: 0.6;
     cursor: not-allowed;
 }

 .footer-help {
     margin-top: 14px;
     font-size: 13px;
     color: var(--muted);
 }

 .help-link {
     color: var(--primary);
     text-decoration: underline;
 }

 @media (max-width: 720px) {
     .grid-2 {
         grid-template-columns: 1fr;
     }
 }
