/* Basic wrapper */
.pc-upload-form, .pc-auth {
    max-width: 760px;
    margin: 22px auto;
    padding: 18px;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(0,0,0,0.03);
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

/* Auth grid */
.pc-auth-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.pc-auth-box {
    padding: 12px;
    border: 1px solid #efefef;
    border-radius: 8px;
    background: #fafafa;
}

/* Fieldset style */
.pc-upload-form fieldset {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 16px;
    background: #fbfbfb;
}
.pc-upload-form legend {
    font-weight: 600;
    padding: 0 6px;
}

/* Inputs */
.pc-upload-form label,
.pc-auth-box label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}
.pc-upload-form input[type="text"],
.pc-upload-form input[type="file"],
.pc-upload-form input[type="number"],
.pc-upload-form input[type="email"],
.pc-upload-form input[type="password"],
.pc-auth-box input[type="text"],
.pc-auth-box input[type="email"],
.pc-auth-box input[type="password"] {
    display: block;
    width: 100%;
    max-width: 480px;
    padding: 8px 10px;
    border-radius: 6px;
    border: 1px solid #ccc;
    margin-bottom: 10px;
    font-size: 14px;
}

/* Buttons */
button.button, button.button-primary {
    display: inline-block;
    padding: 10px 16px;
    border-radius: 6px;
    border: none;
    background: #0073aa;
    color: #fff;
    cursor: pointer;
    font-weight: 600;
}
button.button[disabled] { opacity: .6; cursor: not-allowed; }

/* messages */
.pc-message, #pc-auth-message {
    margin-top: 12px;
    font-weight: 600;
}
#judge_email, #judge_password {
  margin-bottom: 20px;
}
/* Responsive */
@media (max-width: 680px) {
    .pc-auth-grid {
        grid-template-columns: 1fr;
    }
    .pc-upload-form input[type="text"], .pc-upload-form input[type="file"] {
        max-width: 100%;
    }
}
#pc-full-image {
  cursor: grab;
  transition: transform 0.2s ease;
}
#pc-full-image:active {
  cursor: grabbing;
}
#magnifier-lens {
  position: absolute;
  border: 2px solid #fff;
  border-radius: 50%;
  width: 150px;
  height: 150px;
  display: none;
  cursor: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 200%;
  z-index: 10000;
}
